既存の VNet に P2S VPN を追加

P2S VPN を作る手順が複数ドキュメントに分かれてて面倒なんで、メモがてら。

# makecert で証明書を作成
."C:\Program Files (x86)\Windows Kits\10\bin\x64\makecert.exe" -sky exchange -r -n "CN=VpnRootCert" -pe -a sha1 -len 2048 -ss My "VpnRootCert.cer"
."C:\Program Files (x86)\Windows Kits\10\bin\x64\makecert.exe" -n "CN=VpnClientCert" -pe -sky exchange -m 96 -ss My -in "VpnRootCert" -is my -a sha1

# Win10 なら 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")
# 事前にクライアント アドレス プール (クライアント端末に払い出す IP レンジ) を追加
$Gw = Get-AzureRmVirtualNetworkGateway -Name "<Gateway 名>" -ResourceGroupName "<RG 名>"
Set-AzureRmVirtualNetworkGatewayVpnClientConfig -VirtualNetworkGateway $Gw -VpnClientAddressPool "<クライアント アドレス プールの IP レンジ>" #192.168.0.0/24 など

# ルート証明書を追加
$RootCertName = "VpnRootCert.cer"
$RootCertPath = "C:\Users\Administrator\Desktop\VpnRootCert.cer"
$RootCertBase64 = [System.Convert]::ToBase64String([System.IO.File]::ReadAllBytes($RootCertPath))

Add-AzureRmVpnClientRootCertificate -VpnClientRootCertificateName $RootCertName -VirtualNetworkGatewayname $Gw.Name -ResourceGroupName $Gw.ResourceGroupName -PublicCertData $RootCertBase64 

# VPN クライアントのダウンロード
$ClientUrl = Get-AzureRmVpnClientPackage -ResourceGroupName $Gw.ResourceGroupName -VirtualNetworkGatewayName $Gw.Name -ProcessorArchitecture Amd64
Invoke-WebRequest $ClientUrl

PowerShell を利用し、仮想ネットワークへのポイント対サイト接続を構成する
https://azure.microsoft.com/ja-jp/documentation/articles/vpn-gateway-howto-point-to-site-rm-ps/

ポイント対サイト構成の自己署名ルート証明書の操作
https://azure.microsoft.com/ja-jp/documentation/articles/vpn-gateway-certificates-point-to-site/

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください