Azure P2Sのカスタマイズを行いたい
アドベントカレンダー8日目です。
ルーティングのカスタマイズを行いたい場合を想定しています。
前回の記事では画像の差し替えでした。
これを
こうです。
実際の通信に影響はないですが、エンタープライズのユーザであればこの辺も変更したいという要求があるかと思い記事にしました。
今回はルーティングの変更です。
どういう想定か?
AzureとS2S VPNを接続するオンプレミスとP2S間でルーティングを行いたい場合を想定しています。
このようなネットワーク構成です。
ClientからAzureのVMへは設定通常のP2Sで接続可能ですが、同じ仮想ネットワークゲートウェイに接続されているオンプレミス環境までルーティングさせたい場合を想定しています。
前提条件の確認
まずはAzureとオンプレミス間でVPNを張って、オンプレミスとAzure間でICMP通信ができるか確認します。
この構成が確立しているかの確認ですね。
今回はトンネル番号31で設定しました。
tunnel select 31
description tunnel "# Azure IKEv2 #"
ipsec tunnel 31
ipsec sa policy 31 31 esp aes256-cbc sha256-hmac anti-replay-check=off
ipsec ike version 31 2
ipsec ike always-on 31 on
ipsec ike duration child-sa 31 27000
ipsec ike duration ike-sa 31 28800
ipsec ike group 31 modp1024
ipsec ike keepalive log 31 off
ipsec ike keepalive use 31 on rfc4306
ipsec ike local address 31 [YAMAHAのローカルIPアドレス]
ipsec ike local name 31 [YAMAHAのグローバルIPアドレス] ipv4-addr
ipsec ike nat-traversal 31 on
ipsec ike message-id-control 31 on
ipsec ike child-exchange type 31 2
ipsec ike pre-shared-key 31 text [PSK]
ipsec ike remote address 31 [Azure仮想ネットワークゲートウェイのグローバルIPアドレス]
ipsec ike remote name 31 [Azure仮想ネットワークゲートウェイのグローバルIPアドレス] ipv4-addr
ipsec ike negotiation receive 31 off
ip tunnel tcp mss limit auto
tunnel enable 31
ip route [Azureの仮想ネットワークのサブネット] gateway tunnel 31
ip route [Azure P2Sで払い出される仮想IPアドレスセグメント] gateway tunnel 31
まぁこんな感じですかね。
最後の
ip route [Azure P2Sで払い出される仮想IPアドレスセグメント] gateway tunnel 31
ip route [Azure P2Sで払い出される仮想IPアドレスセグメント] gateway tunnel 31
これがポイントですね。
その結果
show ipsec sa
Total: isakmp:7 send:5 recv:5
sa sgw isakmp connection dir life[s] remote-id
----------------------------------------------------------------------------
1 31 - ike - 27471 20.205.212.138
2 31 5 tun[0031]esp send 25671 20.205.212.138
3 31 5 tun[0031]esp recv 25671 20.205.212.138
はい。
VPNは張れてますね。
ping -sa 192.168.11.1 182.16.101.4
182.16.101.4から受信: シーケンス番号=0 ttl=44 時間=60.179ミリ秒
182.16.101.4から受信: シーケンス番号=1 ttl=44 時間=58.092ミリ秒
182.16.101.4から受信: シーケンス番号=2 ttl=44 時間=57.492ミリ秒
3個のパケットを送信し、3個のパケットを受信しました。0.0%パケットロス
往復遅延 最低/平均/最大 = 57.492/58.587/60.179 ミリ秒
はい。
通信確認もできました。
設定変更する前に、勝手に仮想ネットワークゲートウェイがルーティングしてないか確認する
まさか勝手にルーティングすることはないと思いますが、まずは確認してみましょう。
P2S接続すると
Azure上のVMにICMP通信が可能です。
しかし当然オンプレミスのYAMAHAへは
このようにICMP通信はできません。
当たり前ですね。
ここでルーティングできない決定的な証拠を挙げると
route print
===========================================================================
インターフェイス一覧
31...00 ff ce b0 c0 32 ......AWS VPN Client TAP-Windows Adapter V9
10...5e 67 34 17 22 91 ......VPN Client Adapter - VPN
26...98 e7 43 3e e3 a3 ......Realtek PCIe FE Family Controller
8...00 24 9b 63 21 1c ......USB Ethernet
80...........................vn-test01
30...ea 6f 38 a8 bc e5 ......Microsoft Wi-Fi Direct Virtual Adapter #7
25...fa 6f 38 a8 bc e5 ......Microsoft Wi-Fi Direct Virtual Adapter #8
37...e8 6f 38 a8 bc e5 ......Qualcomm QCA9377 802.11ac Wireless Adapter
9...e8 6f 38 a8 bc e6 ......Bluetooth Device (Personal Area Network) #9
1...........................Software Loopback Interface 1
===========================================================================
IPv4 ルート テーブル
===========================================================================
アクティブ ルート:
ネットワーク宛先 ネットマスク ゲートウェイ インターフェイス メトリック
0.0.0.0 0.0.0.0 192.168.49.100 192.168.49.216 35
10.255.255.0 255.255.255.0 リンク上 10.255.255.1 43
10.255.255.1 255.255.255.255 リンク上 10.255.255.1 281
10.255.255.255 255.255.255.255 リンク上 10.255.255.1 281
20.205.212.138 255.255.255.255 192.168.49.100 192.168.49.216 36
127.0.0.0 255.0.0.0 リンク上 127.0.0.1 331
127.0.0.1 255.255.255.255 リンク上 127.0.0.1 331
127.255.255.255 255.255.255.255 リンク上 127.0.0.1 331
172.16.100.0 255.255.252.0 リンク上 10.255.255.1 43
172.16.103.255 255.255.255.255 リンク上 10.255.255.1 281
192.168.49.0 255.255.255.0 リンク上 192.168.49.216 291
192.168.49.216 255.255.255.255 リンク上 192.168.49.216 291
192.168.49.255 255.255.255.255 リンク上 192.168.49.216 291
224.0.0.0 240.0.0.0 リンク上 127.0.0.1 331
224.0.0.0 240.0.0.0 リンク上 192.168.49.216 291
224.0.0.0 240.0.0.0 リンク上 10.255.255.1 281
255.255.255.255 255.255.255.255 リンク上 127.0.0.1 331
255.255.255.255 255.255.255.255 リンク上 192.168.49.216 291
255.255.255.255 255.255.255.255 リンク上 10.255.255.1 281
===========================================================================
固定ルート:
なし
IPv6 ルート テーブル
===========================================================================
アクティブ ルート:
If メトリック ネットワーク宛先 ゲートウェイ
37 51 ::/0 fe80::b44a:6aff:fe49:ad98
1 331 ::1/128 リンク上
37 51 2001:268:c288:f5dc::/64 リンク上
37 291 2001:268:c288:f5dc:18a:c441:4817:cab7/128
リンク上
37 291 2001:268:c288:f5dc:b5b0:f829:1f09:62fc/128
リンク上
37 291 fe80::/64 リンク上
37 291 fe80::304b:eaf0:65f5:a004/128
リンク上
1 331 ff00::/8 リンク上
37 291 ff00::/8 リンク上
===========================================================================
固定ルート:
なし
こうなってるからですね。
どこにもオンプレミスの192.168.11.0/24宛のルーティングがありません。
実際に設定変更をしてみる
以前の記事でも記載しているP2Vのインストールディレクトリを開きます。
%userprofile%\AppData\Roaming\Microsoft\Network\Connections\Cm\{16進数の乱数}
中身はこうなっています。
この中にある[routes.txt]を見てみましょう。
こうなっています。
このコマンド、見覚えありますよね?
WindowsのRoute Addコマンドですね。
察しの良い読者の方は既にお気付きかと思いますが、ここにオンプレミスのルーティングを追加すればOKなんです。
なので、ここの記載を赤枠で追記し、こうします。
これで再度P2S接続を行うと、
AzureとVPN接続もできつつ、
予想通りオンプレミスとも通信ができるようになります。
そしてRoute Printの結果も
route print
===========================================================================
インターフェイス一覧
31...00 ff ce b0 c0 32 ......AWS VPN Client TAP-Windows Adapter V9
10...5e 67 34 17 22 91 ......VPN Client Adapter - VPN
26...98 e7 43 3e e3 a3 ......Realtek PCIe FE Family Controller
8...00 24 9b 63 21 1c ......USB Ethernet
80...........................vn-test01
30...ea 6f 38 a8 bc e5 ......Microsoft Wi-Fi Direct Virtual Adapter #7
25...fa 6f 38 a8 bc e5 ......Microsoft Wi-Fi Direct Virtual Adapter #8
37...e8 6f 38 a8 bc e5 ......Qualcomm QCA9377 802.11ac Wireless Adapter
9...e8 6f 38 a8 bc e6 ......Bluetooth Device (Personal Area Network) #9
1...........................Software Loopback Interface 1
===========================================================================
IPv4 ルート テーブル
===========================================================================
アクティブ ルート:
ネットワーク宛先 ネットマスク ゲートウェイ インターフェイス メトリック
0.0.0.0 0.0.0.0 192.168.49.100 192.168.49.216 35
10.255.255.0 255.255.255.0 リンク上 10.255.255.2 43
10.255.255.2 255.255.255.255 リンク上 10.255.255.2 281
10.255.255.255 255.255.255.255 リンク上 10.255.255.2 281
20.205.212.138 255.255.255.255 192.168.49.100 192.168.49.216 36
127.0.0.0 255.0.0.0 リンク上 127.0.0.1 331
127.0.0.1 255.255.255.255 リンク上 127.0.0.1 331
127.255.255.255 255.255.255.255 リンク上 127.0.0.1 331
172.16.100.0 255.255.252.0 リンク上 10.255.255.2 43
172.16.103.255 255.255.255.255 リンク上 10.255.255.2 281
192.168.11.0 255.255.255.0 リンク上 10.255.255.2 43
192.168.11.255 255.255.255.255 リンク上 10.255.255.2 281
192.168.49.0 255.255.255.0 リンク上 192.168.49.216 291
192.168.49.216 255.255.255.255 リンク上 192.168.49.216 291
192.168.49.255 255.255.255.255 リンク上 192.168.49.216 291
224.0.0.0 240.0.0.0 リンク上 127.0.0.1 331
224.0.0.0 240.0.0.0 リンク上 192.168.49.216 291
224.0.0.0 240.0.0.0 リンク上 10.255.255.2 281
255.255.255.255 255.255.255.255 リンク上 127.0.0.1 331
255.255.255.255 255.255.255.255 リンク上 192.168.49.216 291
255.255.255.255 255.255.255.255 リンク上 10.255.255.2 281
===========================================================================
固定ルート:
なし
IPv6 ルート テーブル
===========================================================================
アクティブ ルート:
If メトリック ネットワーク宛先 ゲートウェイ
37 51 ::/0 fe80::b44a:6aff:fe49:ad98
1 331 ::1/128 リンク上
37 51 2001:268:c288:f5dc::/64 リンク上
37 291 2001:268:c288:f5dc:18a:c441:4817:cab7/128
リンク上
37 291 2001:268:c288:f5dc:b5b0:f829:1f09:62fc/128
リンク上
37 291 fe80::/64 リンク上
37 291 fe80::304b:eaf0:65f5:a004/128
リンク上
1 331 ff00::/8 リンク上
37 291 ff00::/8 リンク上
===========================================================================
固定ルート:
なし
はい。
192.168.11.0/24宛のルーティングが追加されていますね。
今日はここまで。