Azure Portal을 이용한 P2S VPN 실습

이동현·2021년 9월 2일
0

애저는 Azure😎

목록 보기
6/6

먼저 이 글은 Microsoft Docs 실습의 풀이라고 생각하면 되겠다.
네이티브 Azure 인증서 인증을 사용하여 VNet에 지점-사이트 간 VPN 연결 구성: Azure Portal 실습을 따라하며, 이 글을 참고하면 더욱 도움이 될 거라고 생각한다.

가상 네트워크 만들기

  • Vnet의 범위는 10.1.0.0/16으로 설정하고 1개의 서브넷을 추가한다.
    • Vnet 이름 VNet1
    • FrontEnd 10.1.0.0/24

가상 네트워크 게이트웨이 만들기

  • Window Server로 첫번째 가상 네트워크 게이트웨이를 만든다.
    • 이름은 VNet1GW
    • 게이트웨이 서브넷 주소 범위 10.1.255.0/27
    • 공용 ip는 새로 만들기 VNet1GWpip

인증서 생성 전 Azure CLI 설치

자체 서명된 루트 인증서 만들기을 수행하기에 앞서 Azure CLI를 설치하여 로컬에서 az 명령어를 사용할 수 있게 한다.

  • Window Powershell을 관리자 권한으로 실행하고 az login 명령어로 Azure에 로그인한다.
az login

  • az account list 명령어로 구독 계정을 확인한다.
az account list

  • az account set --subscription ID 명령어로 사용할 구독을 선택한다.
az account set --subscription bbdeb974-4734-49c2-81d1-68c39d85cbf1

루트 인증서와 클라이언트 인증서 생성

  • 열려있는 PowerShell에 루트인증서를 생성하는 다음 명령어를 이어서 붙여넣는다.
$cert = New-SelfSignedCertificate -Type Custom -KeySpec Signature `
-Subject "CN=P2SRootCert" -KeyExportPolicy Exportable `
-HashAlgorithm sha256 -KeyLength 2048 `
-CertStoreLocation "Cert:\CurrentUser\My" -KeyUsageProperty Sign -KeyUsage CertSign
  • 이어서 클라이언트 인증서를 생성하는 다음 명령어도 붙여넣는다.
New-SelfSignedCertificate -Type Custom -DnsName P2SChildCert -KeySpec Signature `
-Subject "CN=P2SChildCert" -KeyExportPolicy Exportable `
-HashAlgorithm sha256 -KeyLength 2048 `
-CertStoreLocation "Cert:\CurrentUser\My" `
-Signer $cert -TextExtension @("2.5.29.37={text}1.3.6.1.5.5.7.3.2")

  • 이렇게 나오면 성공!!
    • 루트 인증서를 통해서 Azure는 신뢰할 수 있는 루트 인증서에서 생성된 클라이언트 인증서를 설치한 클라이언트를 인증한다.
    • 각 클라이언트는 생성된 클라이언트 인증서를 설치하여 VM에 접속할 수 있는 권한을 가진다.

루트 인증서 공개 키 내보내기

  • 인증서 내보내기 마법사를 열고 P2SRootCert를 오른쪽 클릭 내보내기를 클릭한다.
  • No를 선택하고 Next선택 누르고, Base-64 encoded X.509(.CER)를 선택하고 Next선택 누르고, 파일 찾기 누르고 다음과 같이 폴더를 생성하고 저장한다.
  • Clippy 폴더를 생성하고 폴더 내에서 rootcertificate 파일을 저장한다.

클라이언트 인증서 내보내기

  • 이번에는 P2SChildCert를 오른쪽 클릭 내보내기를 클릭한다.
  • yes를 선택하고 Next선택 누르고, Next선택 누르고, 암호(내 생일 : 940226)를 입력한다.
  • 이전에 생성한 Clippy폴더 내에 clientcert라는 이름으로 저장한다.

Clippy 폴더 안에 인증서 2개가 잘 있는지 확인해보자!

클라이언트 인증서 설치

  • clientcert.pfx파일을 더블 클릭하여 로컬에 설치한다.

  • 현재 사용자로 하고 다음으로 계속 넘어가다가 아까 입력한 암호(내 생일 : 940226)를 입력하고 다음으로 계속 넘어가서 가져오기를 완료한다.

클라이언트 주소 풀 설정

  • 다시 Portal로 돌아가서 VNet1GW의 지점-사이트 간 구성 탭을 클릭한다.

  • 주소 풀을 다음과 같이 설정한다.

  • 주소 풀은 본인 네트워크 영역으로 설정하면 된다.

    내 ip주소와 서브넷마스크를 이용하여 네트워크 계산 후 주소 풀에 입력하면 된다.
    계산법은 내가 올린 서브넷팅을 참고하여 계산하면 된다.

  • 인증 형식은 Azure 인증서로 선택하고 이름은 P2SRootCert, 공용 인증서 데이터는 아까 설치한 rootcertificate.cer 파일을 메모장으로 열어서 붙여넣으면 된다.

    메모장 인증 키에 엔터가 쳐져있는 경우에는 한 줄로 만들어서 붙여넣어야 한다.

  • 저장 후 VPN 클라이언트 다운로드를 누르면 압축파일이 설치된다.

  • 압축파일을 풀고 컴퓨터에 해당하는 패키지를 선택하여 설치하면 된다.

  • 64비트는 VpnClientSetupAmd64를 32비트는 VpnClientSetupX86을 설치한다.

  • 설치를 누르게 되면 다음과 같은 창이 뜨는데 이전에 생성하였던 VNet1이 뜨면 성공!!

VPN 클라이언트에서 연결

  • 연결이 잘 되었다면 VPN 설정으로 들어간다.

  • 연결된 VNet1이 잘 뜨는지 확인하고 연결을 클릭한다.

  • 여기는 그냥 계속을 눌러준다.

  • 연결을 가만히 기다리면 VNet1이 연결됨으로 뜨는 것을 확인할 수 있다.

  • 이제 로컬에서 cmd창을 열고 ipconfig 명령어를 한번 입력해보자.

  • 내 ip주소 밑에 VNet1 ip가 같이 뜨는 것을 확인할 수가 있다.

VM을 만들고 사설 IP로 접속해보기

  • 이전에 만들어 놓은 서브넷을 이용하여 가상머신을 생성한다.

  • Window Server로 가상머신을 만든다.

    • VM 이름은 VM1
    • 네트워크 탭에서 가상네트워크는 VNet1으로 선택하고 서브넷은 FrontEnd 공용 ip는 알아서 생성되게 한다.
  • 원격 데스크톱 연결로 VM1의 사설 IP를 입력하여 접속한다.

  • 아주 잘 연결되는 것을 확인할 수 있다.

원격 컴퓨터에서 VM으로 연결하는 과정을 엄청난 삽질을 하여 결국에는 성공하였다.
삽질을 하는것도 물론 중요하지만, 가끔은 정답을 보는 것도 나쁘지는 않은 것 같아서 답안지를 누구나 볼 수 있는 여기에 만들어 놓으려고 한다.

profile
안녕하세요!

0개의 댓글