Azure Virtual WAN を Hub にして、オンプレミスと Oracle Cloud をマルチクラウド接続してみてみた

[Interop Tokyo 2021](https://www.interop.jp/) [ShowNet](https://www.interop.jp/shownet/)の mgmtネットワークで、Oracle Cloud Infrastructure(OCI)が、Azure Virtual WANをHubとしてオンプレミスと[Multi Cloud接続](https://www.interop.jp/2021_common/img/shownet/point/external-web.pdf)で構成されました。
　・[【ShowNetスタジオ】SSS-15 マルチクラウド時代の柔軟なネットワークとインフラ利用](https://www.youtube.com/watch?v=EUBVNfVf11I)

[Azure Virtual WAN](https://docs.microsoft.com/ja-jp/azure/virtual-wan/virtual-wan-about) とは
Azure リージョンは、ハブとして以下のような相互接続ができます。
	　　- ブランチ接続 (SD-WANやVPN CPEなどからの接続経由)
	　　- サイト間 VPN 接続
	　　- リモート ユーザー VPN (ポイント対サイト) 接続
	　　- プライベート (ExpressRoute) 接続
	　　- クラウド内接続 (仮想ネットワークの推移的な接続)
	　　- VPN ExpressRoute 接続
これにより、グローバル トランジット ネットワーク アーキテクチャが可能になります。つまり、クラウドでホストされたネットワーク "ハブ" によって、さまざまな種類の "スポーク" に分散されている可能性があるエンドポイント間の推移的な接続が可能になります。
![vWAN構成.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/f6fb0ea4-c44d-9216-c201-e007a2f5b2c1.png)
ということで、Azure Virtual WAN へ、オンプレミスと Oracle Cloud Infrastructure (OCI)を接続し、Azureを Hub として、オンプレミスと OCI が Azure を経由して接続できることを確認してみてみます。

# ■ 構成
![vWAN_VPN.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/343c217b-49a7-d8e6-a2ad-9f4910023425.jpeg)


今回、On-Premises側は、Yamaha NVR700wを使用して、IPSec IKEv2 + BGP でAzure Virtual WANへ接続します。
・参考: [Yamaha NVR700W で Azure へ IPSec VPN(IKEv2 + BGP)接続してみてみた](https://qiita.com/shirok/items/3e413bb0771aefa82091)

AzureとOCIとの接続はExpressRouteでOCIへ接続します。
・参考: [Microsoft Azure と Oracle CloudをCross-Cloud接続してみてみた](https://qiita.com/shirok/items/8a6aa561daa6789fa012)

そして、Oracle Cloud側は、Onbect Storage等のPublicサービスのPublic IPをExpressRouteへ流れるように Transit Routingの設定をしときます。
・参考: [Transit Routing + IPSec VPN / FastConnectで Object Storage, Autonomous Databaseへ接続してみてみた](https://qiita.com/shirok/items/ec0e5a09346422346fd4)

また、AWSでも同じような機能として Transit Gatewayがあり、この機能でもオンプレミスとOCIをAWSを経由して接続することができます。
・参考: [AWS Transit Gateway経由でオンプレミスとOracle Cloudを接続してみてみた](https://qiita.com/shirok/items/7deee74acbd440013075)

# ■ Azure Virtual WAN作成
(1) すべてのサービスから、[仮想WAN]をクリック
![01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/c5053ff0-8191-c06c-2ca1-d923bf50d64c.png)

(2) 仮想WAN画面
[仮想WANの作成]をクリック
![02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/cf281b34-a0ed-0e30-04f3-8274f1fe1fe0.png)

(3) 基本画面
以下設定を行い、[確認および作成]をクリック

	・リソース グループの場所: [東日本]を選択
	・名前: 任意の名前を設定
	・種類: 種類: Standardを選択
		※ Standard 仮想 WAN のハブは、既定でフル メッシュで接続されます。
		※ Basic 仮想 WAN のハブは互いに接続されません。
		  Standard タイプの WAN にアップグレードする必要があります。
![03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/6a717e00-64be-6486-48b1-aa1904d878f5.png)

(4) 確認および作成画面
内容を確認し、問題なければ[作成]をクリック
![04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/c67dbb1d-79f3-193c-eaf9-27cf31678cee.png)

(5）仮想WAN構成 ブランチ間接続許可
作成した仮想WAN画面にある 構成をクリックし、以下設定をしてブランチ間接続を許可

	ブランチ間: [有効]を選択

![06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/932697ce-28c3-4f92-0cd8-fb11bee18267.png)



# ■ Azure Virtual WAN ハブ作成
(1) 仮想WAN画面
作成した仮想WANにある、[ハブ]をクリック
![05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/4e92835f-4515-274d-18e9-72938a4935d6.png)


(2) 仮想ハブを作成する画面
以下設定を行い、[次へ]をクリック

	・地域: [東日本]を選択
	・名前: 任意の名前を設定
	・ハブ プライベート アドレス空間: VPN ゲートウェイ、ExpressRoute ゲートウェイを配置するためハブを作成するためのSubnetを作成

![01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/d924f8d5-aa5f-f646-f3fa-2e19dd87ed9c.png)



(3) サイト対サイト
ここでは、VPNゲートウェイは後で作成するため、[次へ]をクリック
![02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/ba6ca6b0-5dd4-c335-11e5-4336cb1b737f.png)


(4) ポイント対ポイント画面
ここでは、ユーザーVPNゲートウェイを作成しないため、[次へ]をクリック
![03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/0bb00703-8d95-8a21-7e70-141ca8165d5b.png)


(5) ExpressRoute画面
ここでは、ExporessRouteを作成しないため、[次へ]をクリック
![04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/9d26b2a5-d03b-e9d6-af99-72e22840cd0b.png)

(6) タグ画面
必要に応じて、タグを設定し、[次へ]をクリック
![05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/fbc21fc7-2947-a6de-9f55-6e0d53dbb9cd.png)


(7) 確認および作成画面
内容を確認し、問題なければ[作成]をクリック
![06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/c341aa0f-daf5-166d-4c33-4129af7117e8.png)



(8) デプロイが進行中です画面
デプロイに数十分を要します
![07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/356b1781-6d38-958c-b6b3-f780545bac93.png)


(9) デプロイが完了しました。
デプロイ完了
![08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/517bfbb2-7028-bcbd-d856-ab66dd4e0820.png)


# ■ vNetをHubへ接続

① 作成した仮想WAN画面
作成した仮想WAN画面にある、[仮想ネットワーク接続]をクリック
![01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/8c988197-8907-57ee-1892-723a872789ba.png)

② 接続の追加画面
以下設定を行い、[作成]をクリック

	・接続名: 任意の名前を設定
	・ハブ: 作成した[ハブ]を選択
	・仮想ネットワーク:ハブへ接続する[ｖNet]を選択
	・Asscociate Route Table: 関連づける[ルートテーブル]を選択
	・Propagete to Route Tables: 伝搬する[ルートテーブル]を選択


![02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/d4a7db93-f6da-fb21-f92c-03efa84338bc.png)

③ 仮想ネットワーク接続完了
作成した仮想WANの仮想ネットワーク接続画面に追加したvNetが表示されていることを確認
![05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/0c4c4349-bec9-766c-b237-1c97fdfd696b.png)






# ■ 仮想HubへVPNゲートウェイを作成
① 作成した仮想Hub画面
作成した仮想Hub画面にある[VPN(サイトからサイトへ)]をクリック
![01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/24ad0d61-57f6-fefc-938f-ec55393c72a8.png)

② VPN(サイトからサイトへ)画面
[VPNゲートウェイの作成]をクリック
![02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/22075f7e-7241-e40a-8944-8b92b79fe073.png)


③ VPNゲートウェイの作成画面
以下設定を行い、[作成]をクリック


	・AS番号: デフォルト 65515 のままとする
	・ゲートウェイ スケール ユニット: VPNゲートウェイのパフォーマンスを設定

![03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/a96e4105-9d9d-292d-9f4d-5afcca9a1aef.png)


# ■ オンプレミスと仮想Hubとの IPSec VPN接続
## ● VPNゲートウェイへVPNサイトの登録

(1)　VPNゲートウェイ画面
作成した仮想HubのVPNゲートウェイ画面にある、[+VPNサイトの新規作成]をクリック
![01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/4947932f-b9d5-64a3-76cb-7b7f4e1dfb04.png)

(2) VPNサイトの作成画面
以下設定を行い、[次へ]をクリック

	・地域: [東日本]
	・名前: 任意の名前を設定
	・デバイス ベンダー: 接続するBGPルーターのメーカーを設定
	・ボーダーゲートウェイプロトコル(BGP): [有効化]をクリック
	・ハブ: 作成した仮想Hubを設定

![02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/e863406e-c190-14cc-f5f3-f4b2d6ef468a.png)

(3)リンク画面
以下設定を行い、[次へ]をクリック

	・リンク名: 任意の名前を設定
	・プロバイダー名: 任意のプロバイダを設定
	・速度: IPSec VPN接続する Mbps の値を設定
	・IPアドレス: オンプレミス側ルーターのPublic IPを設定
	・BGPアドレス: オンプレミス側ルーターの BGP Peer IPを設定
	・ASN: オンプレミス側ルーターのASNを設定

![03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/50eab3c3-94ce-9376-f7d8-13bf8d9567da.png)


(4) 確認および作成画面
内容を確認し、問題なければ[作成]をクリック
![04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/15881960-6a64-0d32-9939-e8bb09db5f97.png)


(5) 設定完了画面
サイト名に追加したオンプレミスのサイト情報が登録されていることを確認
![11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/dbd90f3e-83c9-f86d-696d-21975076be2b.png)



## ● VPN接続編集

(1) VPN(サイトからサイトへ)画面
登録したオンプレミスのサイト名の右端にある[・・・]をクリックし、[このハブへのVPN接続]をクリック
![13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/7ce1fcf7-c232-f6a9-8786-973e26de8479.png)


(2) VPN接続を編集する
以下設定を行い、[保存]をクリック

	・Border Gateway Protocol: [有効化]を選択
	・Azure プライベートIPアドレスを使用する: [はい]を選択し、修得済みの既定のルートを仮想ハブからこの接続に伝達できるようにします。
	・事前共有キー(PSK): IPSec接続するためのPSKを設定
	・IPsec: [規定]を選択
	・規定のルートを伝搬する: [有効化]を選択して修得済みの既定のルートを仮想ハブからこの接続に伝達できるようにします。

![14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/04779265-0e23-0119-49b3-f32b3f94eb2f.png)


## ● Azure側リンク情報確認
オンプレミスのルーターへ設定するためのAzure側のIPSec VPN設定情報をメモします


(1) VPN(サイトからサイトへ)画面
[Gateway Configuration: View/Configure] をクリック
![18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/a930edb1-c56a-9eda-d3a3-a01f0c681977.png)

(2) VPN Gatewayの編集画面
以下情報を確認して、オンプレミスのルーターへ設定

	+ VPN Gateway Instance 0
		- Public IP Address: Tunnnel 1用 Public IP
		- Default BGP IP Asress: Tunnnel 1用 BGP Peer IP

	+ VPN Gateway Instance 1
		- Public IP Address: Tunnnel 2用 Public IP
		- Default BGP IP Asress: Tunnnel 2用 BGP Peer IP

![17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/61c52f7f-5685-d56c-f27a-c40abd847d5f.png)



# ■ オンプレミス側 YAMAHA NVR700W設定

## ● IPSec VPN設定

(1) IPSec tunnel 1設定

```shell
	tunnel select 1
	ipsec tunnel 1
	ipsec sa policy 1 1 esp aes256-cbc sha256-hmac anti-replay-check=off
	ipsec ike version 1 2
	ipsec ike duration child-sa 1 27000
	ipsec ike duration ike-sa 1 28800
	ipsec ike group 1 modp1024
	ipsec ike keepalive log 1 off
	ipsec ike keepalive use 1 on rfc4306
	ipsec ike local address 1 100.100.100.101
	ipsec ike local name 1 100.100.100.101 ipv4-addr
	ipsec ike nat-traversal 1 on
	ipsec ike message-id-control 1 on
	ipsec ike child-exchange type 1 2
	ipsec ike pre-shared-key 1 text Password01
	ipsec ike remote address 1 200.200.200.201
	ipsec ike remote name 1 200.200.200.201 ipv4-addr
	ipsec ike negotiation receive 1 off
	ip tunnel tcp mss limit auto
	tunnel enable 1
```


(2) IPSec tunnel 2設定

```shell
	tunnel select 2
	ipsec tunnel 2
	ipsec sa policy 2 2 esp aes256-cbc sha256-hmac anti-replay-check=off
	ipsec ike version 2 2
	ipsec ike duration child-sa 2 27000
	ipsec ike duration ike-sa 2 28800
	ipsec ike group 2 modp1024
	ipsec ike keepalive log 2 off
	ipsec ike keepalive use 2 on rfc4306
	ipsec ike local address 2 100.100.100.101
	ipsec ike local name 2 100.100.100.101 ipv4-addr
	ipsec ike nat-traversal 2 on
	ipsec ike message-id-control 2 on
	ipsec ike child-exchange type 2 2
	ipsec ike pre-shared-key 2 text Password01
	ipsec ike remote address 2 200.200.200.202
	ipsec ike remote name 2 200.200.200.202 ipv4-addr
	ipsec ike negotiation receive 2 off
	ip tunnel tcp mss limit auto
	tunnel enable 2
```


(3) IPSec 設定反映

```shell
ipsec auto refresh on
```


## ● BGP設定

(1) BGP用 tunnel 1設定

```shell
	tunnel select 1
	ipsec tunnel outer df-bit clear
	ip tunnel address 192.168.254.1/32
	ip tunnel remote address 172.31.255.12
	ip tunnel tcp mss limit 1379
	tunnel enable 1
```


(2) BGP用 tunnel 2設定

```shell
	tunnel select 2
	ipsec tunnel outer df-bit clear
	ip tunnel address 192.168.254.1/32
	ip tunnel remote address 172.31.255.13
	ip tunnel tcp mss limit 1379
	tunnel enable 2
```


(3) BGP設定

```shell
	ip route 172.31.255.12/32 gateway tunnel 1
	ip route 172.31.255.13/32 gateway tunnel 2
	bgp use on
	bgp autonomous-system 65000
	bgp neighbor 1 65515 172.31.255.12 hold-time=30 local-address=192.168.254.1 ignore-capability=on
	bgp neighbor 2 65515 172.31.255.13 hold-time=30 local-address=192.168.254.1 ignore-capability=on
	bgp router id 192.168.254.1
	# bgp import filter 1 equal 0.0.0.0/0
	# bgp import filter 1 include 0.0.0.0/0
	bgp import filter 1 equal 192.168.0.0/24
	bgp import 65515 static filter 1
```



(4) BGP設定反映

```shell
	bgp configure refresh 
```



## ● オンプレミス側 BGP状態確認

(1) IPSec SA確立確認

```shell
# show ipsec sa
	Total: isakmp:5 send:2 recv:2

	sa    sgw isakmp connection    dir  life[s] remote-id
	----------------------------------------------------------------------------
	2     1    -     ike           -    28762   200.200.200.201
	5     *    -     ike           -    13      200.200.200.201
	6     *    -     ike           -    -       200.200.200.202
	7     *    -     ike           -    16      200.200.200.202
	8     2    -     ike           -    28777   200.200.200.202
	9     1    2     tun[0001]esp  send 26967   200.200.200.201
	10    1    2     tun[0001]esp  recv 26967   200.200.200.201
	11    2    8     tun[0002]esp  send 26977   200.200.200.202
	12    2    8     tun[0002]esp  recv 26977   200.200.200.202
```


(2) Tunnel1  bgp neighbor確認

```shell
# show status bgp neighbor 172.31.255.12
	BGP neighbor is 172.31.255.12, remote AS 65515, local AS 65000, external link
	BGP version 4, remote router ID 172.31.255.12
	BGP state = Established, up for 00:02:30
	Last read 00:00:04, hold time is 30, keepalive interval is 10 seconds
	Received 19 messages, 0 notifications, 0 in queue
	Sent 19 messages, 0 notifications, 0 in queue
	Connection established 1; dropped 0
	Last reset never
	Local host: 192.168.254.1, Local port: 179
	Foreign host: 172.31.255.12, Foreign port: 52039
```


(3) Tunnel2  bgp neighbor確認


```shell
# show status bgp neighbor 172.31.255.13
	BGP neighbor is 172.31.255.13, remote AS 65515, local AS 65000, external link
	BGP version 4, remote router ID 172.31.255.13
	BGP state = Established, up for 00:02:43
	Last read 00:00:04, hold time is 30, keepalive interval is 10 seconds
	Received 20 messages, 0 notifications, 0 in queue
	Sent 21 messages, 0 notifications, 0 in queue
	Connection established 1; dropped 0
	Last reset never
	Local host: 192.168.254.1, Local port: 179
	Foreign host: 172.31.255.13, Foreign port: 52176
```


(4) Tunnel1  bgp neighbor 送信ルート確認

```shell
# show status bgp neighbor 172.31.255.12 advertised-routes
	Total routes: 1
	*: valid route
	Network            Next Hop        Metric LocPrf Path
	* 192.168.0.0/24   192.168.254.1                 65000 IGP
```


(5) Tunnel2  bgp neighbor 送信ルート確認

```shell
# show status bgp neighbor 172.31.255.13 advertised-routes
	Total routes: 1
	*: valid route
	Network            Next Hop        Metric LocPrf Path
	* 192.168.0.0/24   192.168.254.1                 65000 IGP
```


(6) Tunnel1  bgp neighbor 受信ルート確認

```shell
# show status bgp neighbor 172.31.255.12 received-routes
	Total routes: 2
	*: valid route
	Network            Next Hop        Metric LocPrf Path
	* 172.31.255.0/24    172.31.255.12                 65515 IGP
	* 172.16.0.0/16      172.31.255.12                 65515 IGP
```


(7) Tunnel2  bgp neighbor 受信ルート確認

```shell
# show status bgp neighbor 172.31.255.13 received-routes
	Total routes: 2
	*: valid route
	Network            Next Hop        Metric LocPrf Path
	172.31.255.0/24    172.31.255.13                 65515 IGP
	172.16.0.0/16      172.31.255.13                 65515 IGP
```


(8) Tunnel1  bgp neighbor 有効受信ルート確認

```shell
# show status bgp neighbor 172.31.255.12 routes
	Total routes: 2
	*: valid route
	Network            Next Hop        Metric LocPrf Path
	* 172.31.255.0/24    172.31.255.12                 65515 IGP
	* 172.16.0.0/16      172.31.255.12                 65515 IGP
```


(9)Tunnel2  bgp neighbor 有効受信ルート確認
Tunnel1 側が有効となっているため、ここではTunnel2はスタンばい状態


```shell
# show status bgp neighbor 172.31.255.13 routes
	no route
```



# ■ IPSec 接続確認

## ● Azure --> On-Premises

(1) ping疎通確認

```shell
[azureuser@azure-inst01 ~]$ ping 192.168.0.2 -c 3
	PING 192.168.0.2 (192.168.0.2) 56(84) bytes of data.
	64 bytes from 192.168.0.2: icmp_seq=1 ttl=63 time=57.0 ms
	64 bytes from 192.168.0.2: icmp_seq=2 ttl=63 time=75.5 ms
	64 bytes from 192.168.0.2: icmp_seq=3 ttl=63 time=73.8 ms

	--- 192.168.0.2 ping statistics ---
	3 packets transmitted, 3 received, 0% packet loss, time 2002ms
	rtt min/avg/max/mdev = 57.069/68.813/75.527/8.338 ms
```



(2) tracerouteルート確認

```shell
[azureuser@azure-inst01 ~]$ sudo traceroute -I 192.168.0.2
	traceroute to 192.168.0.2 (192.168.0.2), 30 hops max, 60 byte packets
	1  192.168.254.1 (192.168.254.1)  51.817 ms  57.770 ms  63.595 ms
	2  192.168.0.2 (192.168.0.2)  69.847 ms * *
```



(3) ssh接続確認

```shell
[azureuser@azure-inst01 ~]$ ssh mac@192.168.0.2 hostname
	onp-inst01
```


## ● On-Premises --> Azure

(1) ping疎通確認

```shell
[mac@onp-inst01: ~]$ ping 172.16.0.4 -c 3
	PING 172.16.0.4 (172.16.0.4) 56(84) bytes of data.
	64 bytes from 172.16.0.4: icmp_seq=1 ttl=63 time=113 ms
	64 bytes from 172.16.0.4: icmp_seq=2 ttl=63 time=130 ms
	64 bytes from 172.16.0.4: icmp_seq=3 ttl=63 time=76.7 ms

	--- 172.16.0.4 ping statistics ---
	3 packets transmitted, 3 received, 0% packet loss, time 1999ms
	rtt min/avg/max/mdev = 76.753/106.939/130.817/22.519 ms
```


(2) tracerouteルート確認

```shell
[mac@onp-inst01: ~]$ sudo traceroute -I 172.16.0.4
	traceroute to 172.16.0.4 (172.16.0.4), 30 hops max, 60 byte packets
	1  setup.netvolante.jp (192.168.0.1)  0.371 ms  0.317 ms  0.298 ms
	2  172.16.0.4 (172.16.0.4)  67.531 ms  75.469 ms  81.136 ms
```


(3) ssh接続確認


```shell
[mac@onp-inst01: ~]$ ssh -i id_rsa2 azureuser@172.16.0.4 hostname
	azure-inst01
```



## ● Yamaha NVR700W 最終コンフィグ

```shell
# show config
    # NVR700W Rev.15.00.16 (Thu Jun 20 19:48:42 2019)
    # MAC Address : 00:a0:de:b3:32, 00:a0:de:b3:33
    # Memory 256Mbytes, 2LAN, 1ONU, 1WWAN
    # main:  NVR700W ver=00 serial=TESTSERIAL
	# Reporting Date: Sep 10 01:19:33 2020
	console character en.ascii
	ip route default gateway pdp wan1
	ip route 172.31.255.12 gateway tunnel 1
	ip route 172.31.255.13 gateway tunnel 2
	ip lan1 address 192.168.0.1/24
	ip wan1 address pdp
	ip wan1 nat descriptor 31000
	wan1 bind wwan 1
	wwan select 1
	description wwan Ipsim
	wwan always-on on
	wwan auth accept chap
	wwan auth myname sim@with sim
	wwan auto connect on
	wwan disconnect time off
	wwan disconnect input time off
	wwan disconnect output time off
	wwan access-point name 4gn.jp
	wwan access limit length off
	wwan access limit time off
	wwan enable 1
	tunnel select 1
	ipsec tunnel 1
	ipsec sa policy 1 1 esp aes256-cbc sha256-hmac anti-replay-check=off
	ipsec ike version 1 2
	ipsec ike duration child-sa 1 27000
	ipsec ike duration ike-sa 1 28800
	ipsec ike group 1 modp1024
	ipsec ike keepalive log 1 off
	ipsec ike keepalive use 1 on rfc4306
	ipsec ike local address 1 100.100.100.101
	ipsec ike local name 1 100.100.100.101 ipv4-addr
	ipsec ike nat-traversal 1 on
	ipsec ike message-id-control 1 on
	ipsec ike child-exchange type 1 2
	ipsec ike pre-shared-key 1 text Password01
	ipsec ike remote address 1 200.200.200.201
	ipsec ike remote name 1 200.200.200.201 ipv4-addr
	ipsec ike negotiation receive 1 off
	ipsec tunnel outer df-bit clear
	ip tunnel address 192.168.254.1
	ip tunnel remote address 172.31.255.12
	ip tunnel tcp mss limit 1379
	tunnel enable 1
	tunnel select 2
	ipsec tunnel 2
	ipsec sa policy 2 2 esp aes256-cbc sha256-hmac anti-replay-check=off
	ipsec ike version 2 2
	ipsec ike duration child-sa 2 27000
	ipsec ike duration ike-sa 2 28800
	ipsec ike group 2 modp1024
	ipsec ike keepalive log 2 off
	ipsec ike keepalive use 2 on rfc4306
	ipsec ike local address 2 100.100.100.101
	ipsec ike local name 2 100.100.100.101 ipv4-addr
	ipsec ike nat-traversal 2 on
	ipsec ike message-id-control 2 on
	ipsec ike child-exchange type 2 2
	ipsec ike pre-shared-key 2 text Password01
	ipsec ike remote address 2 200.200.200.202
	ipsec ike remote name 2 200.200.200.202 ipv4-addr
	ipsec ike negotiation receive 2 off
	ipsec tunnel outer df-bit clear
	ip tunnel address 192.168.254.1
	ip tunnel remote address 172.31.255.13
	ip tunnel tcp mss limit 1379
	tunnel enable 2
	ip filter 500000 restrict * * * * *
	nat descriptor type 31000 masquerade
	nat descriptor address outer 31000 primary
	nat descriptor masquerade static 31000 1 192.168.0.1 udp 500
	nat descriptor masquerade static 31000 2 192.168.0.1 esp
	nat descriptor masquerade static 31000 3 192.168.0.1 udp 4500
	bgp use on
	bgp autonomous-system 65000
	bgp neighbor 1 65515 172.31.255.12 hold-time=30 local-address=192.168.254.1 ign
	ore-capability=on
	bgp neighbor 2 65515 172.31.255.13 hold-time=30 local-address=192.168.254.1 ign
	ore-capability=on
	bgp router id 192.168.254.1
	bgp import filter 1 equal 192.168.0.0/24
	bgp import 65515 static filter 1
	ipsec auto refresh on
	telnetd host lan
	dhcp service server
	dhcp server rfc2131 compliant except remain-silent
	dhcp scope 1 192.168.0.2-192.168.0.99/24
	dns host lan1
	dns server pdp wan1
	dns server select 500401 pdp wan1 any .
	dns private address spoof on
	dns private name setup.netvolante.jp
	analog supplementary-service pseudo call-waiting
	analog extension dial prefix sip prefix="9#"
	statistics traffic on
	wwan-module use on
```



# ■ AzureとOCIとのCross-Cloud接続

## ● Azure 仮想Hubへ ExpressRoute Gateway 作成

(1) 作成した仮想Hub画面
作成した仮想Hub画面にある[ExpressRoute]をクリック
![00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/edd016c9-9e78-006a-0801-6380546808ae.png)


(2) ExpressRoute画面
[ExpressRouteゲートウェイの作成]をクリック
![02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/c3cbb779-3e6d-8e94-37b1-0fbd25103655.png)



(3) VPNゲートウェイの作成画面
以下設定を行い、[作成]をクリック

	・ゲートウェイ スケール ユニット: ExpressRouteゲートウェイのパフォーマンスを設定

![03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/d01fddb4-564f-cbd6-4380-cb1b5d0d3a41.png)


(4) VPNゲートウェイの作成完了
![04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/c8f6de8b-b2bc-9760-1928-8f8b78d6d01f.png)



## ● Azure ExpressRoute作成
(1) 全てのサービス画面
[ExpressRoute circuits]をクリック
![01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/ddaf6663-62af-6bdc-9593-4ed65669c0b8.png)



(2) ExpressRoute circuits画面
ExpressRoute circuitsの作成]をクリック
![02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/6ae2d7eb-f9d1-4371-2062-bafabbd02ea7.png)


(3) ExpressRouteの作成画面
以下設定を行い、[次へ]をクリック

	・リージョン: [東日本]をクリック
	・名前: 任意の名前を設定

![03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/aa57990c-e390-68cc-ebbb-222bbf58ea57.png)




(4) Configuration画面
以下設定を行い、[次へ]をクリック


	・ポートの種類: [プロバイダー]を選択
	・プロバイダー: [Oracle Cloud FastConnect]を選択
	・ピアリングの場所: [Tokyo]を選択
	・帯域幅: [必要な帯域幅]を選択
	・SKU: [Premium]を選択して仮想WANを利用できるようにする
	・課金モデル: [必要な課金モデル]を選択
	・クラシック操作を許可する: クラシック操作しないため[いいえ]を選択

![04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/d92c6b81-8012-0cc4-1ff4-71298398b294.png)


(5) Tags画面
必要に応じてTag設定を行い、[次へ]をクリック
![05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/ae707f93-4e3c-7004-8c1b-52b01c6d7246.png)



(6) 確認および作成画面
内容を確認し、問題なければ[作成]をクリック
![06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/d19b0c68-3334-f262-3e5c-e22968a760df.png)


(7) デプロイが進行中です画面
デプロイに数十分要します
![07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/41e0def1-5e1d-c0c6-921c-142ddceb61a9.png)


(8) デプロイ完了と Service Kye確認
デプロイ完了
OCIのFastConnect設定するためのService Kyeをメモします
![08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/1b982360-aa78-2d9b-5041-246253b43bfa.png)


## ● OCI FastConnect作成

(1) OCI ポータル画面
[Japan East (Tokyo)]をクリックし東京リージョンを選択し、
[ネットワーキング] > [FastConnect]をクリック
![01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/285e11ff-9c9b-e620-8057-76157c213817.png)


(2) FastConnect画面
[FastConnect]の作成をクリック
![02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/a7482433-6cbf-d6eb-d87d-d909eecc0415.png)





(3) 接続の作成画面
以下設定を行い、[次へ]をクリック

	・接続タイプ: [FastConnect パートナー]を選択
	・パートナー: [Microsoft Azure: ExpressRoute]を選択

![03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/c200b8f3-cf01-05e7-6d42-e0f5c60bef23.png)


(4) 構成画面
以下設定を行い、[次へ]をクリック

	・名前: 任意の名前を設定
	・動的ルーティング・ゲートウェイ：VCNにアタッチするDRGを選択
	・プロビジョニングされた帯域幅：1~10GまでGbps単位で選択
	・プロバイダ・サービス・キー：Azure ExpressRouteを作成した時に出力された「サービス キー」を入力
	・各BGPアドレス：/30 の範囲で、プライマリ/セカンダリそれぞれ任意のBGP Peer IPを設定

![04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/c6da2a29-91ae-9387-6ab4-7c98edc9a417.png)

(5) FastConnect 作成完了
数分でAzureExpressRouteと接続が完了します
![05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/3d915a59-0e99-ee92-b0a9-c8efe8b902a1.png)



(6) FastConnect 接続完了
![06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/962cbaba-afd5-5f22-2aff-c33d9bf34e81.png)




# ■ Azure Virtual WAN Route情報確認
Vitual WANで伝搬しているRoute情報を確認できます

(1) 仮想ハブ ルーテインング画面
仮想ハブ画面から、[ルーティング]をクリックし、設定した'Default'ルートテーブルの右端にある[・・・]をクリックし、[編集]をクリック
![01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/fada4352-6de7-ac19-99ea-190d1c60937e.png)

(2) Effective routes for Route画面
Vitual WANで伝搬しているRoute情報を確認
ASパスで以下経路が確認できます
　・12706-31898: OCI(VCN,OCN)から伝搬された経路
　・65000: On-Premisesから伝搬された経路
　・空白: Azure内の vNET と GBP Peer IP
![02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/e112cc80-e2d7-4e2f-fc34-0655b5a3e3a8.png)




# ■ Azure Virtual WAN経由の On-Puremises とOCI接続確認
これで、Azure Virtual WAN を経由して、オンプレミスとOCIが接続できるようになりました。
ということで、接続確認してみてみます。


## ● オンプレミス側 Route確認

(1) IPSec SA確立確認

```shell
# show ipsec sa
	Total: isakmp:2 send:2 recv:2

	sa    sgw isakmp connection    dir  life[s] remote-id
	----------------------------------------------------------------------------
	1     2    -     ike           -    19243   200.200.200.202
	2     2    1     tun[0002]esp  send 26716   200.200.200.202
	3     1    -     ike           -    18647   200.200.200.201
	4     1    3     tun[0001]esp  send 25870   200.200.200.201
	5     1    3     tun[0001]esp  recv 25870   200.200.200.201
	6     2    1     tun[0002]esp  recv 26716   200.200.200.202
```


(2) Tunnel1 BGP 送信ルート確認


```shell
# show status bgp neighbor 172.31.255.12 advertised-routes
	Total routes: 1
	*: valid route
	Network            Next Hop        Metric LocPrf Path
	* 192.168.0.0/24   192.168.254.1                 65000 IGP
```

(3) Tunnel2 BGP 送信ルート確認

```shell
# show status bgp neighbor 172.31.255.13 advertised-routes
	Total routes: 1
	*: valid route
	Network            Next Hop        Metric LocPrf Path
	* 192.168.0.0/24   192.168.254.1                 65000 IGP
```



(4) Tunnel1 BGP 受信ルート確認

```shell
# show status bgp neighbor 172.31.255.12 received-routes
	Total routes: 12
	*: valid route
	Network            Next Hop        Metric LocPrf Path
	* 172.31.255.0/24    172.31.255.12                 65515 IGP
	* 172.16.0.0/16      172.31.255.12                 65515 IGP
	* 140.204.8.128/25   172.31.255.12                 65515 12076 31898 IGP
	* 134.70.82.0/23     172.31.255.12                 65515 12076 31898 IGP
	* 192.29.44.0/25     172.31.255.12                 65515 12076 31898 IGP
	* 192.29.36.0/22     172.31.255.12                 65515 12076 31898 IGP
	* 134.70.80.0/23     172.31.255.12                 65515 12076 31898 IGP
	* 140.91.32.0/23     172.31.255.12                 65515 12076 31898 IGP
	* 192.29.40.0/22     172.31.255.12                 65515 12076 31898 IGP
	* 10.0.0.0/24        172.31.255.12                 65515 12076 31898 IGP
	* 10.0.10.0/24       172.31.255.12                 65515 12076 31898 IGP
	* 172.24.0.0/16      172.31.255.12                 65515 IGP
```



(5) Tunnel2 BGP 受信ルート確認

```shell
# show status bgp neighbor 172.31.255.13 received-routes
	Total routes: 11
	*: valid route
	Network            Next Hop        Metric LocPrf Path
	172.31.255.0/24    172.31.255.13                 65515 IGP
	172.16.0.0/16      172.31.255.13                 65515 IGP
	140.204.8.128/25   172.31.255.13                 65515 12076 31898 IGP
	134.70.82.0/23     172.31.255.13                 65515 12076 31898 IGP
	192.29.44.0/25     172.31.255.13                 65515 12076 31898 IGP
	192.29.36.0/22     172.31.255.13                 65515 12076 31898 IGP
	134.70.80.0/23     172.31.255.13                 65515 12076 31898 IGP
	140.91.32.0/23     172.31.255.13                 65515 12076 31898 IGP
	192.29.40.0/22     172.31.255.13                 65515 12076 31898 IGP
	10.0.0.0/24        172.31.255.13                 65515 12076 31898 IGP
	10.0.10.0/24       172.31.255.13                 65515 12076 31898 IGP
```

(6) Tunnel1 BGP 利用可能受信ルート確認

```shell
# show status bgp neighbor 172.31.255.12 routes
	Total routes: 12
	*: valid route
	Network            Next Hop        Metric LocPrf Path
	* 172.31.255.0/24    172.31.255.12                 65515 IGP
	* 172.16.0.0/16      172.31.255.12                 65515 IGP
	* 140.204.8.128/25   172.31.255.12                 65515 12076 31898 IGP
	* 134.70.82.0/23     172.31.255.12                 65515 12076 31898 IGP
	* 192.29.44.0/25     172.31.255.12                 65515 12076 31898 IGP
	* 192.29.36.0/22     172.31.255.12                 65515 12076 31898 IGP
	* 134.70.80.0/23     172.31.255.12                 65515 12076 31898 IGP
	* 140.91.32.0/23     172.31.255.12                 65515 12076 31898 IGP
	* 192.29.40.0/22     172.31.255.12                 65515 12076 31898 IGP
	* 10.0.0.0/24        172.31.255.12                 65515 12076 31898 IGP
	* 10.0.10.0/24       172.31.255.12                 65515 12076 31898 IGP
	* 172.24.0.0/16      172.31.255.12                 65515 IGP
```

(7) Tunnel2 BGP 利用可能受信ルート確認

```shell
# show status bgp neighbor 172.31.255.13 routes
	no route
```

(9) Route確認

```shell
# show ip route
	Destination         Gateway          Interface       Kind  Additional Info.
	default             100.100.100.102   WAN1(PDP)    static
	10.0.0.0/24         172.31.255.12     TUNNEL[1]       BGP  path=65515 12076 318
	98
	10.0.10.0/24        172.31.255.12     TUNNEL[1]       BGP  path=65515 12076 318
	98
	118.238.201.33/32   100.100.100.102        WAN1 temporary
	134.70.80.0/23      172.31.255.12     TUNNEL[1]       BGP  path=65515 12076 318
	98
	134.70.82.0/23      172.31.255.12     TUNNEL[1]       BGP  path=65515 12076 318
	98
	140.91.32.0/23      172.31.255.12     TUNNEL[1]       BGP  path=65515 12076 318
	98
	140.204.8.128/25    172.31.255.12     TUNNEL[1]       BGP  path=65515 12076 318
	98
	172.16.0.0/16       172.31.255.12     TUNNEL[1]       BGP  path=65515
	172.31.255.0/24     172.31.255.12     TUNNEL[1]       BGP  path=65515
	172.31.255.12/32    -                 TUNNEL[1]    static
	172.31.255.13/32    -                 TUNNEL[2]    static
	192.29.36.0/22      172.31.255.12     TUNNEL[1]       BGP  path=65515 12076 318
	98
	192.29.40.0/22      172.31.255.12     TUNNEL[1]       BGP  path=65515 12076 318
	98
	192.29.44.0/25      172.31.255.12     TUNNEL[1]       BGP  path=65515 12076 318
	98
	192.168.0.0/24    192.168.0.1          LAN1  implicit
	192.168.254.1/32    -                 TUNNEL[2]  implicit
	210.0.0.0/8         100.100.100.101        WAN1  implicit
```



## ● On-Premises --> OCI 接続確認

(1) ping疎通確認

```shell
[mac@onp-inst01: ~]$ ping 10.0.0.2  -c 3
	PING 10.0.0.2 (10.0.0.2) 56(84) bytes of data.
	64 bytes from 10.0.0.2: icmp_seq=1 ttl=61 time=49.8 ms
	64 bytes from 10.0.0.2: icmp_seq=2 ttl=61 time=58.9 ms
	64 bytes from 10.0.0.2: icmp_seq=3 ttl=61 time=57.8 ms

	--- 10.0.0.2 ping statistics ---
	3 packets transmitted, 3 received, 0% packet loss, time 2002ms
	rtt min/avg/max/mdev = 49.815/55.563/58.982/4.093 ms
```


(2) tracerouteルート確認

```shell
[mac@onp-inst01: ~]$ sudo traceroute -I 10.0.0.2
	traceroute to 10.0.0.2 (10.0.0.2), 30 hops max, 60 byte packets
	1  setup.netvolante.jp (192.168.0.1)  0.411 ms  0.298 ms  0.259 ms
	2  172.31.255.7 (172.31.255.7)  80.154 ms  94.125 ms  106.052 ms
	3  * * *
	4  10.0.0.2 (10.0.0.2)  121.971 ms  125.981 ms  131.925 ms
```




(3) ssh接続確認


```shell
[mac@onp-inst01: ~]$ ssh -i id_rsa opc@10.0.0.2  hostname
	tokyo-inst01
```






# ● OCI --> On-Premises
(1) ping疎通確認

```shell
[opc@tokyo-inst01 ~]$ ping 192.168.0.2 -c 3
	PING 192.168.0.2 (192.168.0.2) 56(84) bytes of data.
	64 bytes from 192.168.0.2: icmp_seq=1 ttl=61 time=48.9 ms
	64 bytes from 192.168.0.2: icmp_seq=2 ttl=61 time=47.8 ms
	64 bytes from 192.168.0.2: icmp_seq=3 ttl=61 time=65.7 ms

	--- 192.168.0.2 ping statistics ---
	3 packets transmitted, 3 received, 0% packet loss, time 2002ms
	rtt min/avg/max/mdev = 47.811/54.168/65.761/8.212 ms
```


(2) tracerouteルート確認

```shell
[opc@tokyo-inst01 ~]$ sudo traceroute -I 192.168.0.2
	traceroute to 192.168.0.2 (192.168.0.2), 30 hops max, 60 byte packets
	1  140.91.206.31 (140.91.206.31)  0.119 ms  0.086 ms  0.082 ms
	2  * * *
	3  192.168.254.1 (192.168.254.1)  242.109 ms  247.975 ms  254.173 ms
	4  192.168.0.2 (192.168.0.2)  269.298 ms * *
```


(3) ssh接続確認

```shell
[opc@tokyo-inst01 ~]$ ssh mac@192.168.0.2 hostname
	onp-inst01
```




# ■ 参考
**● Azure-OCI Cross-Cloud接続**
	・[Microsoft Azure と Oracle Cloud Infrastructure を統合した Oracle アプリケーション ソリューション](https://docs.microsoft.com/ja-jp/azure/virtual-machines/workloads/oracle/oracle-oci-overview)
	・[Microsoft Azureを使用したOracle Cloudの接続について](https://docs.oracle.com/ja/solutions/learn-azure-oci-interconnect/index.html#GUID-A3BCA684-47C4-4644-90E8-99A7E3E0A6FE)
	・[Oracle Cloud Infrastructure への接続](https://docs.microsoft.com/ja-jp/azure/cloud-adoption-framework/ready/azure-best-practices/connectivity-to-other-providers-oci)
	・[ExpressRoute Global Reach](https://docs.microsoft.com/ja-jp/azure/expressroute/expressroute-global-reach)
	・[Microsoft Azure と Oracle CloudをCross-Cloud接続してみてみた](https://qiita.com/shirok/items/8a6aa561daa6789fa012)
	・[Azure OCI Interconnect (相互接続)でつないでみた](https://qiita.com/takeokams/items/8187cd6ba38c4e5872bb)
**● Azure Virtual WAN**
	・[Virtual WAN のドキュメント](https://docs.microsoft.com/ja-jp/azure/virtual-wan/)
	・[Azure Virtual WAN とは](https://docs.microsoft.com/ja-jp/azure/virtual-wan/virtual-wan-about)
	・[グローバル トランジット ネットワーク アーキテクチャと Virtual WAN](https://docs.microsoft.com/ja-jp/azure/virtual-wan/virtual-wan-global-transit-network-architecture)
**● YAMAYA**
	・[Yamaha NVR700W で Azure へ IPSec VPN(IKEv2 + BGP)接続してみてみた](https://qiita.com/shirok/items/3e413bb0771aefa82091)

**● Interop ShowNet**
	・[マルチクラウド時代の柔軟なネットワークとインフラ利用](https://youtu.be/EUBVNfVf11I)
	・[ShowNet のクラウドよもやま話](https://youtu.be/5k-i8wbCZzY)
	・[オンプレ/クラウド連携と柔軟なストレージで実現する高信頼サービス](https://youtu.be/_46TQmorqFk)