Azure P2Sをカスタイマイズする02

# Azure P2Sのカスタマイズを行いたい
アドベントカレンダー8日目です。
ルーティングのカスタマイズを行いたい場合を想定しています。
[前回の記事](https://qiita.com/hidekko/items/a727646d17ba975d2d0c)では画像の差し替えでした。
これを
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643392/3fb290a6-a4c6-b728-5a81-3c28f6b7cb0d.png)
こうです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643392/05a23157-21d4-5373-cb85-1b5410e22503.png)
実際の通信に影響はないですが、エンタープライズのユーザであればこの辺も変更したいという要求があるかと思い記事にしました。
今回はルーティングの変更です。

## どういう想定か？
AzureとS2S VPNを接続するオンプレミスとP2S間でルーティングを行いたい場合を想定しています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643392/d7ea5150-1f13-bb13-bd01-8ccfc708e2e2.png)
このようなネットワーク構成です。
ClientからAzureのVMへは設定通常のP2Sで接続可能ですが、同じ仮想ネットワークゲートウェイに接続されているオンプレミス環境までルーティングさせたい場合を想定しています。

## 前提条件の確認
まずはAzureとオンプレミス間でVPNを張って、オンプレミスとAzure間でICMP通信ができるか確認します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643392/6954cb17-5998-c059-a965-5fa0f2304f31.png)
この構成が確立しているかの確認ですね。
今回はトンネル番号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
```
<font color="Red">**ip route [Azure P2Sで払い出される仮想IPアドレスセグメント] gateway tunnel 31**</font>
これが<font color="Red">**ポイント**</font>ですね。

その結果
```
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接続すると
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643392/d992e15c-813e-99bc-d4e3-1491d1b16834.png)
Azure上のVMにICMP通信が可能です。
しかし当然オンプレミスのYAMAHAへは
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643392/21f0c25e-f840-0cf1-940a-f16cc0d0ebd6.png)
このように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宛のルーティングがありません。

## 実際に設定変更をしてみる
[以前の記事](https://qiita.com/hidekko/items/a727646d17ba975d2d0c)でも記載しているP2Vのインストールディレクトリを開きます。
```
%userprofile%\AppData\Roaming\Microsoft\Network\Connections\Cm\{16進数の乱数}
```
中身はこうなっています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643392/58b2e8ad-f8bf-74dc-3684-fc46e006d8cc.png)
この中にある[routes.txt]を見てみましょう。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643392/9e20f046-3533-1e52-c965-0e05531c43c9.png)
こうなっています。
このコマンド、見覚えありますよね？
WindowsのRoute Addコマンドですね。
察しの良い読者の方は既にお気付きかと思いますが、ここにオンプレミスのルーティングを追加すればOKなんです。
なので、ここの記載を赤枠で追記し、こうします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643392/1433f1d3-24ee-118e-cde5-b5307b724e11.png)
これで再度P2S接続を行うと、
AzureとVPN接続もできつつ、
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643392/3f31dfae-0926-7f53-53da-0a9f425f35bc.png)
予想通りオンプレミスとも通信ができるようになります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643392/f7404bc9-f019-c5f1-7e4f-6f9d59ec6aee.png)

そして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宛のルーティングが追加されていますね。

今日はここまで。