Azure x IBMCloud IPsecVPN/BGP接続

# 目的
Microsoft AzureとIBMCloudをインターネットを介したIPsecVPNで接続する。
次に、BGPを用いた経路交換を実施し、AzureとIBMCloud間で仮想マシン間の通信が可能か確認する。

冗長接続構成は、下記を参照してください
[Azure x IBMCloud Active/Activeネットワーク接続(IPsecVPN+BGP)](https://qiita.com/khoshina/items/2164e21712b8b258fc48)

# 構成
* ローカル端末：macOS Big Sur 11.6 1台
* プラットフォーム:Microsoft Azure
    * 仮想ネットワーク:PublicIPアドレス/仮想NWゲートウェイ/ローカルNWゲートウェイ 1サービス
    * Virtual Machines:CentOS 7.9 1台
* プラットフォーム:IBMCloud
    * ルータ:Vyatta AT&T vRouter 5600 1912g 1台
    * 仮想サーバ:CentOS 7.7(Virtual Server for Classic) 1台

## 構成図
![Azure to IBMCloud (2).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703043/1ccafff9-3984-1d1e-669c-1573156a0a3d.png)


# Azureサービスのデプロイ
## Azure Virtual Network(仮想ネットワーク)の作成
はじめに、VNet(仮想ネットワーク)を作成する。
これはGCPやAWSで言うところのVPC(Virtual Private Cloud)と呼ばれる機能。
用途毎に作成するのが一般的で、この上に仮想NWゲートウェイや仮想マシンを作成する。
参考:[Azure Virtual Network とは](https://docs.microsoft.com/ja-jp/azure/virtual-network/virtual-networks-overview)

Azure Portal検索バーに**virtual network**を入力し、Marketplaceの**Virtual network**を選択。
![スクリーンショット_2022-03-17_13_29_14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703043/d285ac87-234c-0383-ccff-89644e32c31e.png)

画面が遷移後、**作成**を選択
![スクリーンショット_2022-03-17_13_32_22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703043/4a85878d-3744-dc6f-ae8f-9de198c18ccb.png)

**仮想ネットワークの作成→基本**
* サブスクリプション:**自分が利用するサブスクリプション**を選択
* リソースグループ:作成していない為、**新規作成**を選択し、任意の名前を入力
* 名前:仮想ネットワークに**任意の名前**を入力
* 地域:**作成する地域**を選択

**次:IPアドレス**を選択し、次に進む
![スクリーンショット_2022-03-17_13_36_09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703043/421c0de7-af49-9166-b144-79e5524742fd.png)

**仮想ネットワークの作成→IPアドレス**
* IPアドレス空間:デフォルトの10.0.0.0/16は今回は利用しないため、**削除**する。その後、Azure側で利用したいIPアドレス空間を入力する。
* サブネット名:**サブネットの追加**を選択し、サブネット名とサブネットアドレス範囲を入力し、**追加**を選択

**セキュリティ**および**タグ**は今回は利用しないので、**確認および作成**を選択
![スクリーンショット_2022-03-17_13_56_42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703043/0bd9e715-5e03-5324-16e6-54715c37df3d.png)

今回の構成では、下記の通り
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703043/fa1e72e7-1114-f90c-0aaa-72142e7dca11.png)

作成する内容を確認し、問題なければ、**作成**を選択
![貼り付けた画像_2022_03_17_14_14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703043/c3900746-8e3e-2e29-8a40-b51204462c3c.png)

正常にデプロイされたことを確認
![貼り付けた画像_2022_03_17_14_16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703043/de97a0eb-093d-d078-a2a7-03cd3d0e41d1.png)

## Azure VPN Gateway(仮想ネットワークゲートウェイ)の作成
インターネットを介して、オンプレミスや他クラウドと暗号化した通信で接続する。
参考:[VPN ゲートウェイとは](https://docs.microsoft.com/ja-jp/azure/vpn-gateway/vpn-gateway-about-vpngateways)

Azure Portal検索バーに**Virtual Network Gateway**を入力し、Marketplaceの**Virtual network gateway**を選択
![貼り付けた画像_2022_03_17_14_26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703043/d076ed1e-d24d-0e84-4fd8-58bb19cf120d.png)

**仮想ネットワーク ゲートウェイの作成→基本**
* サブスクリプション:**自分が利用するサブスクリプション**を選択
* 名前:仮想ネットワークゲートウェイに**任意の名前**を入力
* 地域:**作成する地域**を選択
* SKU:利用用途に応じて**仮想ネットワークゲートウェイの性能**を選択
参考:[Gateway の SKU](https://docs.microsoft.com/ja-jp/azure/vpn-gateway/vpn-gateway-about-vpngateways#gwsku)
* 仮想ネットワーク:** 作成したAzure Virtual Network(仮想ネットワーク) **を選択
* ゲートウェイサブネットのアドレス範囲:**作成したVNetのアドレス空間**から入力
* パブリックIPアドレス名:**任意の名前**を入力
* 可用性ゾーン:GWをデプロイする**Azure可用性ゾーン**を選択
参考:[可用性ゾーン](https://docs.microsoft.com/ja-jp/azure/availability-zones/az-overview#availability-zones)
* BGPの構成:後程設定する為、**無効**を選択

最後に**確認および作成**を選択
![貼り付けた画像_2022_03_17_14_53.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703043/44a0a95c-46cf-d41b-15e1-ed0a8c755f17.png)

今回の構成では、下記の通り
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703043/f39a21b1-1c15-acc1-1ac3-b9122664d984.png)

作成する内容を確認し、問題なければ、**作成**を選択
<font color=red>デプロイ完了まで20分ほど時間がかかる</font>
![貼り付けた画像_2022_03_17_15_25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703043/352f3ca0-3fb2-f3ce-fedf-6ce4ebc1da5a.png)

正常にデプロイされたことを確認
![貼り付けた画像_2022_03_17_15_45.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703043/1552ef42-769d-dc22-a627-952a1ea4100b.png)

## Azure ローカルネットワークゲートウェイの作成
Azureとの**接続先の情報を定義**する為、ローカルネットワークゲートウェイを作成する。
今回の場合はIBMCloud側のVPNゲートウェイ装置の情報を設定する。

Azure Portal検索バーに**local network gateway**を入力し、Marketplaceの**local network gateway**を選択
![貼り付けた画像_2022_03_17_15_48.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703043/f1b7f110-386d-9858-3f60-bee7859716b3.png)

**ローカルネットワークゲートウェイの作成→基本**
* サブスクリプション:**自分が利用するサブスクリプション**を選択
* リソースグループ:**先ほど作成したリソースグループ**を選択
* 地域:**作成する地域**を選択
* 名前:ローカルネットワークゲートウェイに**任意の名前**を入力
* IPアドレス:Azureから接続する**対向先のVPNゲートウェイのIP**を入力
今回はIBMCloud側VyattaのパブリックIPを入力
* アドレス空間:**VPN接続対象のセグメント**を入力
今回はIBMCloud側のサーバセグメント(172.31.0.0/24)を入力する

最後に**確認および作成**を選択
![貼り付けた画像_2022_03_17_16_04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703043/f36cfe2b-bbbf-ad47-7912-3a278130fe22.png)

今回の構成では、下記の通り
![貼り付けた画像_2022_03_18_14_17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703043/8d27caa7-58a4-e783-4e26-d1deba27fdf3.png)

作成する内容を確認し、問題なければ、**作成**を選択
![貼り付けた画像_2022_03_18_14_18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703043/df0dbb41-c528-b31c-3526-e1d269da5f32.png)


正常にデプロイされたことを確認
![貼り付けた画像_2022_03_17_16_16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703043/c90290cf-3fa9-fc2e-e297-36a8442150fa.png)

# Azure IPsecVPNの設定
参考:[S2S VPN または VNet-to-VNet 接続の IPsec/IKE ポリシーを構成する](https://docs.microsoft.com/ja-jp/azure/vpn-gateway/vpn-gateway-ipsecikepolicy-rm-powershell)

Azureポータルの上部、左上のボタンを選択
![貼り付けた画像_2022_03_17_16_19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703043/3fde0287-656e-9f67-df86-ea471bb630c1.png)

**すべてのリソース**を選択
![貼り付けた画像_2022_03_17_16_20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703043/f9e5b68c-787e-abaf-c6e7-1eb463fbb110.png)

先ほど作成した**仮想ネットワークゲートウェイ**を選択
![貼り付けた画像_2022_03_17_16_21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703043/7dda9771-8b4b-ba89-8db4-3b0d1d300198.png)

左ペインの設定から、**接続**を選択し、**追加**を選択
![貼り付けた画像_2022_03_17_16_23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703043/db2ca431-2ac1-1c64-83ee-92b74d089e70.png)

* 名前:接続に関するに**任意の名前**を入力
* 接続の種類: **サイト対サイト(IPsec)** を選択
* ローカルネットワークゲートウェイ:**作成したローカルネットワークゲートウェイ**を選択
* 共有キー(PSK):IPsecVPN接続先の機器と**事前に決めた共有のキー**を設定
今回はIBMCloud側のVyattaとAzure側で同じ共有キーを設定する
* IKEプロトコル:特別要件がない限り、**IKEv2**を選択

最後に**OK**を選択
![貼り付けた画像_2022_03_17_16_28.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703043/4f579dd5-0382-cb22-1b07-cb662064c6cd.png)

今回の構成では、下記の通り
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703043/4e3df52b-8743-a503-1a90-0998f14b4b4e.png)

正常にデプロイされたことを確認
![貼り付けた画像_2022_03_17_16_41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703043/9962094a-b5a8-77cd-239b-76fc4061e0c9.png)

## IPsec/IKEポリシーの変更

仮想ネットワークゲートウェイのページから、**作成したVPN接続名**を選択
![貼り付けた画像_2022_03_17_16_41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703043/616e5259-f725-299e-d74e-0da86134bcf3.png)

**構成**を選択し、IKEおよびポリシーの**カスタム**を選択
デフォルトの場合、セキュリティレベルが低いので、下記のポリシーを設定する。
<font color=red>以下の値は接続先(IBMCloud)と一致させる必要がある。</font>
* IKEフェーズ1
    * 暗号化:AES256 -> 変更なし
    * 整合性またはPRF:SHA-1 -> **SHA256**
    * DHグループ:DH2 -> **DH20(ECP384)**
    
* IKEフェーズ2(IPsec)
    * IPsec暗号化:AES256 -> 変更なし
    * IPsec整合性:SHA-1 -> **SHA256**
    * PFSグループ:DH2 -> **DH20(ECP384)**

最後に**保存**を選択
![貼り付けた画像_2022_03_17_16_44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703043/daf4c1c4-08c7-59f1-0daf-cd932dde8a17.png)

今回の構成では、下記の通り
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703043/fe9f1c1c-c528-8fe8-a7da-2944034f67d5.png)

正常にデプロイされたことを確認
![貼り付けた画像_2022_03_17_16_55.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703043/b7bf5204-c64b-2634-7a35-b7d1daba8480.png)

以上でAzure側のIPsecVPNの設定は完了
この後は、IBMCloud側のIPsecVPNの設定を実施し、その後BGPで接続する構成に変更する

# IBMCloud IPsecVPNの設定(Vyatta)
## Azure接続用VTIインタフェースの設定
IPsecで接続後、IBMCloudとGCP間のルーティングインタフェースを作成する。
**169.254.21.1/30**は、後程設定するBGP接続用のアドレス
```
set interfaces vti vti0 address '169.254.21.1/30'
set interfaces vti vti0 description 'Azure'
set interfaces vti vti0 mtu '1436'
```

## Azure接続用IPsecVPNの設定
Azure側で対応しているIPsecVPNのパラメタは下記ページを参照
このリストにある暗号化、関数、DHセットを使えば、特に問題なく繋がるはず。
参考:[Azure VPNゲートウェイの IPsec/IKE ポリシーのパラメーターについて](https://cloud.google.com/network-connectivity/docs/vpn/concepts/supported-ike-ciphers?hl=ja)

* **20.89.69.xxx**はAzure側の仮想ネットワークゲートウェイのパブリックIPアドレス
仮想ネットワークゲートウェイの概要ページで確認可能
* **165.192.93.xx**はIBMCloud側のVyattaのパブリックIPアドレス(dp0bond1)

<font color=red>ESPとIKEのパラメタはAzureとIBMCloudで必ず一致させること</font>

```
set security vpn ipsec esp-group ESP-Azure compression 'disable'
set security vpn ipsec esp-group ESP-Azure lifetime '3600'
set security vpn ipsec esp-group ESP-Azure mode 'tunnel'
set security vpn ipsec esp-group ESP-Azure pfs 'dh-group20'
set security vpn ipsec esp-group ESP-Azure proposal 1 encryption 'aes256'
set security vpn ipsec esp-group ESP-Azure proposal 1 hash 'sha2_256'
set security vpn ipsec ike-group IKE-Azure dead-peer-detection action 'restart'
set security vpn ipsec ike-group IKE-Azure dead-peer-detection interval '30'
set security vpn ipsec ike-group IKE-Azure dead-peer-detection timeout '120'
set security vpn ipsec ike-group IKE-Azure ike-version '2'
set security vpn ipsec ike-group IKE-Azure lifetime '3600'
set security vpn ipsec ike-group IKE-Azure proposal 1 dh-group '20'
set security vpn ipsec ike-group IKE-Azure proposal 1 encryption 'aes256'
set security vpn ipsec ike-group IKE-Azure proposal 1 hash 'sha2_256'
set security vpn ipsec site-to-site peer 20.89.69.xxx authentication mode 'pre-shared-secret'
set security vpn ipsec site-to-site peer 20.89.69.xxx authentication pre-shared-secret 'ibmcloudazure'
set security vpn ipsec site-to-site peer 20.89.69.xxx connection-type 'initiate'
set security vpn ipsec site-to-site peer 20.89.69.xxx default-esp-group 'ESP-Azure'
set security vpn ipsec site-to-site peer 20.89.69.xxx ike-group 'IKE-Azure'
set security vpn ipsec site-to-site peer 20.89.69.xxx local-address '165.192.93.xx'
set security vpn ipsec site-to-site peer 20.89.69.xxx vti bind 'vti0'
set security vpn ipsec site-to-site peer 20.89.69.xxx vti esp-group 'ESP-Azure'
```

FW等をかけている場合は、事前に許可しておくこと。
これらの設定でIBMCloudとAzure間のIPsecVPNは接続できているはず、

# IPsecVPNの接続確認
AzureポータルおよびIBMCloudのVyattaで接続状態を確認する

## Azure側の状態確認
仮想ネットワークゲートウェイから、**接続**を選択し、対象の接続名の状態を確認
![貼り付けた画像_2022_03_17_17_15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703043/5f722c2d-0999-2953-7a1d-86705fb9f7af.png)

## IBMCloud側の状態確認
フェーズ1の状態確認、State->**up**を確認


```
vyatta@:~$ show vpn ike sa
Peer ID / IP                            Local ID / IP
------------                            -------------
20.89.69.xxx                          165.192.93.61

    State    Encrypt       Hash    D-H Grp  A-Time  L-Time IKEv
    -----  ------------  --------  -------  ------  ------ ----
    up     aes256        sha2_256  20       0       3600    2
```

フェーズ2の状態確認、State->**up**を確認

```
vyatta@:~$ show vpn ipsec sa
Peer ID / IP                            Local ID / IP
------------                            -------------
20.89.69.xxx                            165.192.93.xx

    Tunnel  Id          State  Bytes Out/In   Encrypt       Hash      DH A-Time  L-Time
    ------  ----------  -----  -------------  ------------  --------  -- ------  ------
    vti     4           up     4.9K/0.0       aes256        sha2_256  20 -31228  3600
```


# AzureのBGP設定
仮想ネットワークゲートウェイおよびローカルネットワークゲートウェイでBGPを設定する。

参考:[Azure VPN Gateway で BGP を構成する方法](https://docs.microsoft.com/ja-jp/azure/vpn-gateway/bgp-howto)

* Azure:AS65515
    * 169.254.21.2
    * 広報ネットワーク:192.168.0.0/16
* IBMCloud:AS65001
    * 169.254.21.1
    * 広報ネットワーク:172.31.0.0/24

## ローカルネットワークゲートウェイの設定
Azureポータルの上部、左上のボタンを選択
![貼り付けた画像_2022_03_17_16_19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703043/3fde0287-656e-9f67-df86-ea471bb630c1.png)

**すべてのリソース**を選択
![貼り付けた画像_2022_03_17_16_20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703043/f9e5b68c-787e-abaf-c6e7-1eb463fbb110.png)

作成した、**ローカルネットワークゲートウェイ**を選択
![貼り付けた画像_2022_03_18_10_49.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703043/8887dc7c-d172-f074-b583-fae72236d8e5.png)

**構成** -> **BGPの構成** -> **はい**
* アドレス空間:BGPで経路制御するため、削除
* 自律システム番号(ASN):対向機器、今回は**IBMCloud側のVyatta ASN番号**を入力
* BGPピアのIPアドレス:対向機器、今回は**IBMCloud側のVyatta VTIのIPアドレス**を入力

最後に**保存**を選択
![貼り付けた画像_2022_03_18_11_26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703043/7ff62d97-a3dc-461a-dbd3-6a9b5fccf4e6.png)

今回の構成では、下記の通り
![貼り付けた画像_2022_03_18_11_06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703043/7aea48f5-b56e-ef47-99a6-67c6a054da30.png)

正常にデプロイされたことを確認
![貼り付けた画像_2022_03_18_11_13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703043/033c82f8-879a-5348-721e-787bad875355.png)

## 仮想ネットワークゲートウェイの設定
Azureポータルの上部、左上のボタンを選択
![貼り付けた画像_2022_03_17_16_19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703043/3fde0287-656e-9f67-df86-ea471bb630c1.png)

**すべてのリソース**を選択
![貼り付けた画像_2022_03_17_16_20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703043/f9e5b68c-787e-abaf-c6e7-1eb463fbb110.png)

先ほど作成した**仮想ネットワークゲートウェイ**を選択
![貼り付けた画像_2022_03_17_16_21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703043/7dda9771-8b4b-ba89-8db4-3b0d1d300198.png)

**構成** -> **BGPの構成**にチェックをいれる
* 自律システム番号(ASN):デフォルトで問題がある場合は、変更する
Azureで利用できるASN -> [どの AS 番号 (自律システム番号) を使用できますか。](https://docs.microsoft.com/ja-jp/azure/vpn-gateway/vpn-gateway-bgp-overview#faq)
* カスタムのAzure APIPA BGP IPアドレス:対向機器に合わせる。今回の場合は **IBMCloud側のVyatta VTIインタフェース** に合わせる

最後に**保存**を選択
![貼り付けた画像_2022_03_18_11_36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703043/6ffde308-3215-4f90-b977-c8349c70e644.png)

今回の構成では、下記の通り
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703043/822b39a1-9e12-dda5-69be-1b3331f9e939.png)

正常にデプロイされたことを確認
![貼り付けた画像_2022_03_18_11_48.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703043/ecb566bd-79b2-0718-9d81-6f089d84dd31.png)


続けて、左ペインの**接続**を選択し、作成した**仮想ネットワークゲートウェイ**を選択
![貼り付けた画像_2022_03_18_11_19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703043/4aec5e50-4a2b-65fa-3cf8-eddc83e5d650.png)

**構成** -> BGPの**有効**を選択
最後に**保存**を選択
![貼り付けた画像_2022_03_18_11_24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703043/475c6463-5165-23c4-ac6e-73af2938d5df.png)

正常にデプロイされたことを確認
![貼り付けた画像_2022_03_18_11_33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703043/9bf73169-2514-0f80-3264-ad2a0a05aa25.png)

# IBMCloudのBGP設定
先ほど設定したAzureとIPsecVPNを実施しているVyatta機器に対して、BGPの設定を追加する

* Azure:AS65515
    * 169.254.21.2
    * 広報ネットワーク:192.168.0.0/16
* IBMCloud:AS65001
    * 169.254.21.1
    * 広報ネットワーク:172.31.0.0/24

```
set protocols bgp 65001 address-family ipv4-unicast network '172.31.0.0/24'
set protocols bgp 65001 neighbor 169.254.21.2 address-family ipv4-unicast soft-reconfiguration 'inbound'
set protocols bgp 65001 neighbor 169.254.21.2 remote-as '65515'
set protocols bgp 65001 neighbor 169.254.21.2 timers holdtime '90'
set protocols bgp 65001 neighbor 169.254.21.2 timers keepalive '30'
set protocols bgp 65001 parameters router-id '169.254.21.1'
```

# BGPの状態確認
AzureポータルおよびIBMCloudのVyattaで接続状態を確認する

## Azure側の状態確認
参考:[BGP のメトリックと状態の表示](https://docs.microsoft.com/ja-jp/azure/vpn-gateway/bgp-diagnostics)

Azureポータルの上部、左上のボタンを選択
![貼り付けた画像_2022_03_17_16_19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703043/3fde0287-656e-9f67-df86-ea471bb630c1.png)

**すべてのリソース**を選択
![貼り付けた画像_2022_03_17_16_20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703043/f9e5b68c-787e-abaf-c6e7-1eb463fbb110.png)

先ほど作成した**仮想ネットワークゲートウェイ**を選択
![貼り付けた画像_2022_03_17_16_21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703043/7dda9771-8b4b-ba89-8db4-3b0d1d300198.png)

**BGPピア**を選択
* BGPピア:対抗先のアドレス、ASN、BGP接続状況および受信したルート数を確認できる
* 学習したルート:具体的に対向機器からアドバタイズされたルーティング情報が確認できる
172.31.0.0/24(IBMCloud側サーバセグメント) -> 169.254.21.1(IBMCloud Vyatta)
![貼り付けた画像_2022_03_18_13_07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703043/c72c008a-a0c5-a4e6-5fec-14c81d9a1557.png)

## IBMCloud側の状態確認

BGPネイバーの状態

```
vyatta@:~$ show ip bgp neighbors
BGP neighbor is 169.254.21.2, remote AS 65515, local AS 65001, external link
  BGP version 4, remote router ID 192.168.0.254
  BGP state = Established, up for 00:10:15
  Last read 00:10:15, hold time is 90, keepalive interval is 30 seconds
  Configured hold time is 90, keepalive interval is 30 seconds
  Neighbor capabilities:
    Route refresh: advertised and received (new)
    Address family IPv4 Unicast: advertised and received
    Address family IPv6 Unicast: received
  Received 26 messages, 0 notifications, 0 in queue
  Sent 24 messages, 0 notifications, 0 in queue
  Route refresh request: received 0, sent 0
  Minimum time between advertisement runs is 30 seconds
 For address family: IPv4 Unicast
  BGP table version 9, neighbor version 9
  Index 2, Offset 0, Mask 0x4
    Graceful restart: received
  Inbound soft reconfiguration allowed
  Community attribute sent to this neighbor (both)
  1 accepted prefixes
  1 announced prefixes

 Connections established 7; dropped 6
Local host: 169.254.21.1, Local port: 36008
Foreign host: 169.254.21.2, Foreign port: 179
Nexthop: 169.254.21.1
Nexthop global: ::
Nexthop local: ::
BGP connection: non shared network
Last Reset: 00:12:07, due to BGP Notification sent
Notification Error Message: (Cease/Other Configuration Change.)
```

BGPでルートが取得できているか

```
vyatta@:~$ show ip route bgp
IP Route Table for Routing-instance "default"
B    *> 192.168.0.0/16 [20/0] via 169.254.21.2, vti0, 00:10:45
```

# エンドツーエンド疎通確認
AzureからIBMCloud側への通信確認
```
[azureuser@TestVM1 ~]$ ping 172.31.0.1
PING 172.31.0.1 (172.31.0.1) 56(84) bytes of data.
64 bytes from 172.31.0.1: icmp_seq=1 ttl=64 time=3.71 ms
64 bytes from 172.31.0.1: icmp_seq=2 ttl=64 time=3.32 ms
64 bytes from 172.31.0.1: icmp_seq=3 ttl=64 time=4.23 ms
64 bytes from 172.31.0.1: icmp_seq=4 ttl=64 time=3.42 ms
64 bytes from 172.31.0.1: icmp_seq=5 ttl=64 time=3.61 ms
```

IBMCloudからAzureへの通信確認
```
[root@azure-sv ~]# hping3 -S -p 80 192.168.1.4
HPING 192.168.1.4 (eth0 192.168.1.4): S set, 40 headers + 0 data bytes
len=46 ip=192.168.1.4 ttl=62 DF id=0 sport=80 flags=SA seq=0 win=29200 rtt=5.3 ms
len=46 ip=192.168.1.4 ttl=62 DF id=0 sport=80 flags=SA seq=1 win=29200 rtt=5.8 ms
len=46 ip=192.168.1.4 ttl=62 DF id=0 sport=80 flags=SA seq=2 win=29200 rtt=6.7 ms
len=46 ip=192.168.1.4 ttl=62 DF id=0 sport=80 flags=SA seq=3 win=29200 rtt=5.6 ms
len=46 ip=192.168.1.4 ttl=62 DF id=0 sport=80 flags=SA seq=4 win=29200 rtt=5.5 ms
```
```