먼저 이 글은 Microsoft Docs 실습의 풀이라고 생각하면 되겠다.
네이티브 Azure 인증서 인증을 사용하여 VNet에 지점-사이트 간 VPN 연결 구성: Azure Portal 실습을 따라하며, 이 글을 참고하면 더욱 도움이 될 거라고 생각한다.
자체 서명된 루트 인증서 만들기을 수행하기에 앞서 Azure CLI를 설치하여 로컬에서 az 명령어를 사용할 수 있게 한다.
az login
az account list
az account set --subscription bbdeb974-4734-49c2-81d1-68c39d85cbf1
$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에 접속할 수 있는 권한을 가진다.
Clippy 폴더 안에 인증서 2개가 잘 있는지 확인해보자!
clientcert.pfx파일을 더블 클릭하여 로컬에 설치한다.
현재 사용자로 하고 다음으로 계속 넘어가다가 아까 입력한 암호(내 생일 : 940226)를 입력하고 다음으로 계속 넘어가서 가져오기를 완료한다.
다시 Portal로 돌아가서 VNet1GW의 지점-사이트 간 구성 탭을 클릭한다.
주소 풀을 다음과 같이 설정한다.
주소 풀은 본인 네트워크 영역으로 설정하면 된다.
내 ip주소와 서브넷마스크를 이용하여 네트워크 계산 후 주소 풀에 입력하면 된다.
계산법은 내가 올린 서브넷팅을 참고하여 계산하면 된다.
인증 형식은 Azure 인증서로 선택하고 이름은 P2SRootCert, 공용 인증서 데이터는 아까 설치한 rootcertificate.cer 파일을 메모장으로 열어서 붙여넣으면 된다.
메모장 인증 키에 엔터가 쳐져있는 경우에는 한 줄로 만들어서 붙여넣어야 한다.
저장 후 VPN 클라이언트 다운로드를 누르면 압축파일이 설치된다.
압축파일을 풀고 컴퓨터에 해당하는 패키지를 선택하여 설치하면 된다.
64비트는 VpnClientSetupAmd64를 32비트는 VpnClientSetupX86을 설치한다.
설치를 누르게 되면 다음과 같은 창이 뜨는데 이전에 생성하였던 VNet1이 뜨면 성공!!
연결이 잘 되었다면 VPN 설정으로 들어간다.
연결된 VNet1이 잘 뜨는지 확인하고 연결을 클릭한다.
여기는 그냥 계속을 눌러준다.
연결을 가만히 기다리면 VNet1이 연결됨으로 뜨는 것을 확인할 수 있다.
이제 로컬에서 cmd창을 열고 ipconfig 명령어를 한번 입력해보자.
내 ip주소 밑에 VNet1 ip가 같이 뜨는 것을 확인할 수가 있다.
이전에 만들어 놓은 서브넷을 이용하여 가상머신을 생성한다.
Window Server로 가상머신을 만든다.
원격 데스크톱 연결로 VM1의 사설 IP를 입력하여 접속한다.
아주 잘 연결되는 것을 확인할 수 있다.
원격 컴퓨터에서 VM으로 연결하는 과정을 엄청난 삽질을 하여 결국에는 성공하였다.
삽질을 하는것도 물론 중요하지만, 가끔은 정답을 보는 것도 나쁘지는 않은 것 같아서 답안지를 누구나 볼 수 있는 여기에 만들어 놓으려고 한다.