AzureへのS2S VPN接続のハブ・アンド・スポークへの拡張

VPN

仮想VPNルータ(VyOS)を使用してAzureとのSite-to-Site接続ができているので、Azure側の複数のVnetにHub&Spokeで接続する設定を行ってみます。
仮想ネットワークゲートウェイのあるVnetをハブとして、接続先の仮想マシンが配置してあるVnetをスポークとしたものです。
ハブとスポークのVnet間はピアリング設定で行います。大規模なネットワークの場合はネットワークマネージャーで簡単に設定ができますが、課金の関係で使用していません。

ネットワーク構成

Azure側のサーバの配置がVPNゲートウェイと異なったVnetとしています。

ローカルネットワークゲートウェイの設定

AzureのLocal Network Gatewayが意識しているのは、ネットワーク構成の赤字の箇所です。

エンドポイントFQDNIPアドレスを直接指定する場合は「IPアドレス」
FQDNダイナミックDNSで取得した今回はドメイン名を指定してみました
アドレス空間自宅側のサーバのネットワーク複数のセグメントがある場合は追加

仮想ネットワークゲートウェイの設定

ゲートウェイの種類VPNVPNゲートウェイの作成
VPNの種類ルートベース接続が安定している
SKUBasic課金の関係

接続の設定

接続の種類サイト対サイト(IPsec)IKE/IPsec接続

共有キー(PSK)の値を決めるのに迷ったらこのサイトを参考にしてください。

強力な事前共有キーの生成

強力な事前共有キーの生成  |  Cloud VPN  |  Google Cloud

ピアリングの設定

VPNゲートウェイのあるハブとなる仮想ネットワークから設定する方がやりやすい。

ハブの仮想ネットワークを開き「ピアリング」を選択します。

mada

まだ何も登録されていないので「追加」します。

ハブとスポークの情報を一緒に設定します。

ハブの「この仮想ネットワークのゲートウェイまたはルートサーバーを使用する」がポイントです。

全てのスポークとのピアリングを定義していきます。

スポーク側の仮想ネットワークにはハブとのピアリングが登録されています。

ルーティングの確認

スポークに配置した仮想マシンのネットワークインターフェイスの「有効なルート」を確認すると、自宅側ネットワークへ仮想ネットワークゲートウェイ経由で接続されることが確認できます。

VyOSの設定例(ルートベース、IKE v2)

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 dh-group2
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 ikev2-reauth yes
set vpn ipsec ike-group AZURE key-exchange ikev2
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 (Azureと同じ文字列)
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.0.0/16(スポークの仮想ネットワークを全て含んでいること)

ハブにも仮想マシンを配置している場合は、ハブとスポークの合わせたネットワークを指定します。この例では、172.0.0.0/8 といった設定になります。

コメント