NAT内に配置したVyOSの仮想VPNルータを使用してAzureとS2SのVPN接続を行う1(ポリシーベース)

VPN

Azureの仮想マシンと自宅にあるVMware ESXiで稼働しているゲストOSとをS2SのVPN接続して通信できるように設定していきます。

VPNの構成としては、ポリシーベース、ルートベースの構成が選択できますが、先ずはポリシーベースで構成して接続します。

前提

Azure

  • AzureのVirtual Network GatewayをVPN Gatewayとして構成します。
  • 課金を考慮してBasic SKUを使用することからポリシーベースではIKEv1での接続となります。

On-premises(自宅)

  • VMware ESXiサーバはBroadband Routerに接続された内部LANに配置されています。
  • 一般的な家庭内ネットワーク構成ですので、Broadband RouterでNAT変換されてインターネットに接続することができるようになっています。またPublic IPアドレスは動的に変更されます。
  • 仮想VPNルータはVyOSをESXi上に仮想ゲストOSとして構築し、Broadband Routerに接続しています。

ネットワーク構成

Azure側のサブネット 172.16.100.0/27 と、自宅のESXi内部のネットワーク 192.168.200.0/24 がVPNでLAN間接続されることになります。

Azureのリソースの作成

Azure上にリソースとして作成するものは以下となります。

  • 仮想ネットワークゲートウェイ
  • パブリックIPアドレス
  • ローカルネットワークゲートウェイ
  • 接続の作成

(1)仮想ネットワークゲートウェイ

VPNゲートウェイとして構成します。パブリックIPアドレスも一緒に新規に作成することにします。

ゲートウェイの種類VPNVPNゲートウェイとして構成
VPNの種類ポリシーベース
SKUBasic一番安価なもの

(2)ローカルネットワークゲートウェイ

On-premises(自宅)のネットワーク情報を指定します。

IPアドレス自宅側のパブリックIPアドレス
アドレス空間(自宅側)自宅側の接続する仮想マシンのサブネット

(3)接続

仮想ネットワークゲートウェイとローカルネットワークゲートウェイの接続の設定をします。

接続の種類サイト対サイト(IPsec)
設定/共有キー(PSK)自宅側のVPNゲートウェイに設定するものと同じ文字列

(4)IPアドレス確認

仮想ゲートウェイ作成時に新規に作成したパブリックIPに割り当てられたIPアドレスを確認しておきます。自宅側のVPNルータの設定で使用します。

VyOSの設定例

  • VPN接続することが目的であるので、Firewallの設定は行わないことにします。通信がうまくできるようになってから厳しく設定していくことにします。
  • VPNの両端に接続されるサブネット間の接続に限定し、その先のネットワークへの接続は考慮しません。
  • VPNの両側のサブネットは重なっていないものとします。重なっている場合はNATする必要があります。

実行コマンド(例)

基本設定

set service ssh
set interfaces ethernet eth0 address 192.168.10.250/24
set interfaces ethernet eth1 address 192.168.200.250/24
set interfaces ethernet eth0 description INTERNET
set interfaces ethernet eth1 description VMNET
set protocols static route 0.0.0.0/0 next-hop 192.168.10.1
set system time-zone Asia/Tokyo
set system host-name VPN-ROUTER

VPNの設定

set vpn ipsec esp-group AZURE compression disable
set vpn ipsec esp-group AZURE lifetime 3600
set vpn ipsec esp-group AZURE mode tunnel
set vpn ipsec esp-group AZURE pfs disable
set vpn ipsec esp-group AZURE proposal 1 encryption aes256
set vpn ipsec esp-group AZURE proposal 1 hash sha1
set vpn ipsec ike-group AZURE dead-peer-detection action restart
set vpn ipsec ike-group AZURE dead-peer-detection interval 15
set vpn ipsec ike-group AZURE dead-peer-detection timeout 30
set vpn ipsec ike-group AZURE key-exchange ikev1
set vpn ipsec ike-group AZURE lifetime 28800
set vpn ipsec ike-group AZURE proposal 1 dh-group 2
set vpn ipsec ike-group AZURE proposal 1 encryption aes256
set vpn ipsec ike-group AZURE proposal 1 hash sha1
set vpn ipsec ipsec-interfaces interface eth0
set vpn ipsec site-to-site peer 20.XXX.XXX.158 authentication mode pre-shared-secret
set vpn ipsec site-to-site peer 20.XXX.XXX.158 authentication pre-shared-secret ********
set vpn ipsec site-to-site peer 20.XXX.XXX.158 default-esp-group AZURE
set vpn ipsec site-to-site peer 20.XXX.XXX.158 ike-group AZURE
set vpn ipsec site-to-site peer 20.XXX.XXX.158 local-address 192.168.10.250
set vpn ipsec site-to-site peer 20.XXX.XXX.158 tunnel 1 local prefix 192.168.200.0/24
set vpn ipsec site-to-site peer 20.XXX.XXX.158 tunnel 1 remote prefix 172.16.100.0/27

接続確認

(1)VPNルータ

VyOSでIKE、IPsecの接続状況を確認します。

show VPN ike sa

⇒Stateが up(downとなっていないこと)

show VPN ipsec sa

⇒Stateが up(downとなっていないこと)

(2)接続確認

  • Windows ServerはデフォルトでWindows FirewallがONとなっているので、一旦OFFに変更しておきpingが通るようにしておきます。
  • AzureのNetwork Security Groupはデフォルトで、ICMPを通すようになっていないので、受信規則に追加で許可設定しておきます。

自宅⇒Azure(pingコマンド)実行例

Azure⇒自宅(RDS接続してpingコマンド)実行例

コメント