YAMAHA vRXでAWSとOracle Cloudを接続してみてみた

#■目的
YAMAHAから仮想ルーター [vRX](https://network.yamaha.com/products/software_service/vrx/index)がリリースされました。
『vRX』は、これまでハードウェアとして提供してきたヤマハルーターの標準的な機能を搭載したソフトウェアルーターです。
従来のハードウェア型ヤマハルーターとソフトウェアの大半を共通化しており、高い評価を得ていた機能をそのまま使うことで、さらに柔軟なネットワークに対応します。
既存ハードウェアルーターの大多数のコマンドをそのまま利用できます。
L2TP/IPsecをサポートしており、スマートフォンやタブレットからのVPN接続が可能です。
また、IPsecのアグレッシブモードをサポートしており、固定IPアドレス環境を用意しなくても、動的IPアドレスを持つ端末やルーターからのVPN接続が可能です。

vRXは、複数の物理拠点や複数の Cloud を相互に接続するなど、複雑なネットワーク構成もかんたんに構築できます。
ということで、vRXをAWS上に配置して、Oracle Cloud(OCI)とIPSec VPN接続してみてみます。

#■構成
<img width="950" alt="構成図.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/2eb9bd42-d066-fe31-2d35-244b8e50a193.png">
本手順は、AWS側はvRXインスタンス作成とOCI側はIPSec Connection設定を行います。
それ以外の部分は、上記のように各CloudのNWを事前に構成しておきます。

#■vRXインスタンス作成
##①「EC2」画面
「インスタンスの作成」リストから「インスタンスの作成」をクリック
<img width="1280" alt="01.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/2e9a02b7-0f6f-22b7-59a2-db96156c7eaa.png">


##②ステップ 1: Amazon マシンイメージ (AMI)画面
"vRX"で検索すると、"vRX-19000100-amd64-0" がみつかるので[選択]をクリック
![01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/f0703649-0982-cd65-bb28-b4623c71f4ab.png)


##③ステップ 2: インスタンスタイプの選択画面
インスタンスタイプはここでは、t3.medium を選択して、「次のステップ：インスタンスの詳細の設定」ボタンをクリック

![02−２.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/eb2b691c-1ad5-dd64-5507-fbb056dc063c.png)


##④ステップ 3: インスタンスの詳細の設定画面
次のようにインスタンス設定値を設定

    [ネットワーク]:10.255.0.0/16を選択
    [サブネット]:10.255.10.0 を選択

![03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/c95f4e48-611c-1d6e-9dc7-2f0a9183d4ed.png)

ネットワークインターフェースは次のように Private IPを指定して設定
eth0のインターフェースは、vRXでは lan1として認識されます

    [eth0のプライマリ IP]: 10.255.10.254を設定

![04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/a4c902f1-ab7e-80d7-e929-332ac45a0f71.png)

上記を設定し、「次のステップ：ストレージの追加」ボタンをクリック


##⑤ステップ 4: ストレージの追加画面
[次のステップ: タグの追加]をクリック

![05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/d0d1127d-d70b-a167-88d3-17ed5c6f412f.png)


##⑥ステップ 5: タグの追加画面
[次のステップ: セキュリティグループの設定]をクリック

![06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/ba2ed08d-277c-9df8-41cc-c09f3d948a1c.png)


##⑦ステップ 6: セキュリティグループの設定画面
[新しいセキュリティグループを作成する]を選択して、以下のようにSSH設定を追加し、「確認と作成」をクリック

![07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/7517fcd7-035f-72d3-c1e7-3311ed7e9ac1.png)


##⑧ステップ 7: インスタンス作成の確認画面
設定した内容を確認し、「起動」をクリック


![08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/aa3ba7ba-2f6c-1ee1-9247-350f645ff97d.png)


##⑨既存のキーペアを選択するか、新しいキーペアを作成します。 画面
既存のキーペアを使用する場合は選択して設定し、「インスタンスの作成」ボタンをクリック

![09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/92ca6b8f-40a9-5967-c47e-207809d10bce.png)

##⑩作成ステータス画面
「インスタンスの表示」ボタンをクリック
![10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/3e47eaa1-c3d0-d6bd-ab23-3f036c54a937.png)



#■vRXインスタンス追加設定
vRXにlan2用ネットワークインターフェイスを追加します
ネットワークインターフェイス追加前にインスタンスを停止して作業する必要があります

##●vRXインスタンス停止

「アクション」>「インスタンスの状態」>「停止」をクリック
「停止する」ボタンをクリック

![11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/30eb113a-8b01-6a6a-4ba6-a7e04f9f7303.png)


##●lan2用セキュリティグループの作成 
EC2ダッシュボードの「セキュリティグループ」画面からセキュリティグループの作成]をクリック

①セキュリティグループ作成画面
以下のように設定し、[作成]をクリック

    セキュリティグループ名： vRX-lan2
    VPC: 10.255.0.0/16

![01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/03259b77-afa1-ac16-5ceb-38d15a2cf344.png)

②[閉じる]をクリック
![02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/fb3b7889-2c8b-b745-78fb-cbba629e2dee.png)

③作成したセキュリティグループを選択し[編集をクリック]
![04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/2c6a12bb-1a8f-9d26-588c-0f89a20a6f27.png)


④インバウンドルールの編集画面
以下のようにIPSec用ポート 500番と400番と外部アクセス用sshポート、OCI側NWのVCN CIDRを設定

    タイプ「SSH」: ソースにSSHアクセスを許可するIPアドレスを指定
    カスタムUDP: 500番ポート
    カスタムUDP: 4500番ポート
    すべてのトラフィック: ソースへOCIへ接続するVCN CIDR 10.0.0.0/16を設定

##●ネットワークインターフェースの作成とアタッチ 
①EC2ダッシュボードの「ネットワークインターフェイス」画面より、[ネットワークインターフェイスの作成]ボタンをクリック

②Create Network Interface画面
LAN2で使用するネットワークインターフェイスを以下のように設定

    Description
    IPv4 Private IP: Custome
    IPv4 address: 10.255.20.254
    Security groups: 作成したvRX-lan2を設定

![01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/a27c33da-5b37-27c4-5c0c-fc7a26c6b465.png)



③作成したネットワークインターフェイスを選択し、[アクション]>「アタッチ」をクリック
![03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/9d5f84a3-cea3-a4f6-8f66-8b03eca287cc.png)

④ネットワークインターフェイスのアタッチ画面
インスタンス IDを選択し、「アタッチ」をクリック
![04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/9da61e8a-f52e-05ab-a4a6-1b8ce767b385.png)

⑤アタッチ確認
アタッチしたネットワークインターフェースのステータスが、"in-use"であることを確認
![05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/102786c4-9cee-c90f-583a-61ecaa0d42fd.png)



##●lan2「送信元/送信先の変更チェック」を無効化
「無効」にすることで自分のIPアドレス以外も受け付け、ルーティングに従ってパケットフォワーディングできるようにします

①ネットワークインターフェイス(vRX-lan2)を選択し、「アクション」>「送信元/送信先の変更チェック」をクリック
![06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/c9e91706-e798-d055-3977-43dd9e7d9caa.png)

②送信元/送信先の変更チェック画面
「無効」を選択して「保存」をクリック
![07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/d65bcd14-fd5d-b570-01fa-2f895d8057c1.png)

##●lan1「送信元/送信先の変更チェック」を無効化
lan2と同様に「送信元/送信先の変更チェック」を無効化します

##●Elastic IP アドレスの取得と関連付け 
インスタンスを再起動するとPublic IPアドレスが変わってしまいIPSec接続ができなくなってしまうため、固定するようElastic IP を設定します

①EC2ダッシュボードの「Elastic IP」画面から、「新しいアドレスの割り当て」ボタンをクリック
![01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/a0b54fb4-0a9e-20c7-9b1a-db1c5fb559f6.png)

②新しいアドレスの割り当て画面
「割り当て」をクリック
![02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/60e622f6-e42d-840f-2b35-376946eed424.png)

③「閉じる」ボタンをクリック
![03_qiita.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/81402bcd-5c0f-59c8-ac83-b104f67969a3.png)


④作成したアドレスを選択し、「アクション」>「アドレスの関連付け」を選択
![05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/a6f2e07c-0fe5-391f-2c72-3f79bbdf63bb.png)

⑤アドレスの関連付け画面
以下のようにElasticIP をlan2ネットワークインターフェイスへアタッチするよう設定し、「関連付け」をクリック

    リソースタイプ: ネットワークインターフェース
    ネットワークインタフェイス: vRX-lan2を選択

![10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/290abf67-ae47-589d-19cd-cae2d0b883e6.png)


##●vRXインスタンス起動
インスタンスを選択して、「アクション」>「インスタンスの状態」>「開始」をクリック

![01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/144b2e48-3cd3-3ebe-e186-7406c075a3f3.png)


#■OCI:IPSec設定
ここでは、Oracle側IPSec接続設定をおこないます

##●CPEリソース作成
OCIとIPSec接続するvSRXの Puvlic IP情報を登録します

① OCIコンソールの「Network」>「Customer Premises Equipment」画面から[Create Customer Premises Equipment]をクリックし、以下のように設定

    IP ADDRESS: 100.100.100.101 (vRXのlan2 Public IPを設定)

![01_qiita.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/dffd1532-7885-071d-acec-1421b6d6e951.png)


②作成確認
![02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/f6122ee8-d2b9-b20a-552e-7fb5edf559d2.png)



##●IPSec Connection作成
① OCIコンソールの「Network」>「IPsec」画面から[Create IPsec Connection]をクリックし、以下のように設定

    Customer Premises Equipment: 作成した "CPE-vRX" を選択
    Dynamic Routing Gateway: 接続するVCNの "DRG" を選択
    STATIC ROUTE CIDE: 今回はBGPの動的Routeを設定するため "NULL"
    CPE IKE IDENTIFIER TYPE: "IP Address" を選択
    CPE IKE IDENTIFIER: vRX lan2のPrivate IP "10.255.20.254" を設定

![01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/123717bb-3e57-dd70-1b3e-50a2b6376696.png)

②Tunnel01設定

    SHARED SECRET: 共有シークレットを任意の文字列を設定
    ROUTING TYPE: ”BGP DYNAMIC ROUTING" を選択
    BGP ASN: 任意のPrivate AS番号 "65000"を設定
    INSIDE TUNNEL INTERFACE CPE: 任意の "10.100.100.101/30" を設定
    INSIDE TUNNEL INTERFACE ORACLE: 任意の "10.100.100.102/30" を設定

![03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/54bd4dcd-5625-354c-0ca6-701f80ac49eb.png)



③Tunnel02設定

    SHARED SECRET: 共有シークレットを任意の文字列を設定
    ROUTING TYPE: ”BGP DYNAMIC ROUTING" を選択
    BGP ASN: 任意のPrivate AS番号 "65000"を設定
    INSIDE TUNNEL INTERFACE CPE: 任意の "10.100.100.105/30" を設定
    INSIDE TUNNEL INTERFACE ORACLE: 任意の "10.100.100.106/30" を設定

![04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/76bb9171-a3c2-86c2-4831-1aa1fa75206c.png)



#■vRX初期設定

##●vRXへssh接続
vRXへの初期接続では、パスワードはEC2インスタンス作成時に指定したssh鍵を指定し、ユーザー名は空白でログインします
ssh使用する場合、-l オプションでユーザーを指定するときに "" とした空白ユーザー名で接続します

```shell-session

[root@onp-inst ~]$ ssh -i AWS_id_rsa.pem  -l ""  100.100.100.101


    vRX Rev.19.00.01 (Fri Sep 13 12:13:56 2019) ** Compact Mode **
    Copyright (c) 1994-2019 Yamaha Corporation. All Rights Reserved.
    To display the software copyright statement, execute 'show copyright detail'.
    06:8f:18:54, 06:d8:86:ce
    Memory 3739Mbytes, 4LAN

    Valid license is not found. Operates in speed limited mode.

    The login password is factory default setting. Please request an administrator to change the password by the 'login password' command.
>
```

##●administrator 管理ユーザー設定
管理ユーザーパスワードを設定します

①administratorユーザーに移行
 administrator コマンドを入力して管理ユーザーに移行します。
デフォルトでは管理者パスワードは設定されていないため、パスワードを求められたら何も入力せずにEnter

```shell-session
> administrator
    Password:
    The administrator password is factory default setting. Please change the password by the 'administrator password' command.
```

②administratorユーザーパスワード設定

```shell-session
# administrator password encrypted
    Old_Password:
    New_Password:
    New_Password:
    Password Strength : Weak
```


##●ライセンス追加
vRXは、速度の上限を定める基本ライセンスと、VPNの対地数を定めるオプションライセンスの2種類をラインアップし、VPN接続を利用する場合には、"基本ライセンス"と"VPNオプションライセンス"の両方が必要です。
ということで取得したライセンスを登録します。

①ライセンス登録ユーザーIDとパスワードを設定
vrx user コマンドでライセンス購入時に販売代理店または販売店より送られているユーザー証書に記載されているユーザーIDとパスワードを入力

例）
    ユーザーID：yamaha
    パスワード：yamaha-password

```shell-session
# vrx user yamaha yamaha-password
```

②ライセンス登録
import vrx コマンドで購入したライセンスを登録

```shell-session
# import vrx license key
    ライセンスキーを入力してください: <--ライセンス文字列を記入
    以下のライセンスファイルをインポートします。
    基本ライセンス:
        =========================================================
        品番                  速度      有効期限
        ---------------------------------------------------------
        vRX-TR-B1             10G       2019/10/28 - 2019/11/16

    ライセンスのインポートを続けますか? (Y/N)Y
    ライセンスのインポートが完了しました。
```

②ライセンス登録確認
必要な帯域速度とVPNのライセンスが登録されていることを確認

```shell-session
# show status license
    =======================================================
    品番                  状態                 有効期限
    -------------------------------------------------------
    vRX-TR-10G            有効                 2019/11/16
        VPN (対地数:100)
```

##●vRX 初期Config確認

```shell-session
# show config
    # vRX Rev.19.00.01 (Fri Sep 13 12:13:56 2019) ** Compact Mode **
    # MAC Address : 06:8f:18:54, 06:d8:86:ce
    # Memory 3739Mbytes, 4LAN
    # main:  vRX MAC-Address=06:8f:18:54 MAC-Address=06:d8:86:ce
    # Reporting Date: Oct 29 17:05:11 2019
    administrator password encrypted *
    vrx user yamaha *
    vrx license file directory /license
    ip route default gateway dhcp lan2
    ip lan1 address dhcp
    ip lan2 address dhcp
    telnetd service off
    dns server dhcp lan2
    sshd service on
    sshd host key generate *
```



#■vRX: IPSec VPN接続設定
OCIへIPSec VPN接続する設定をします

##●IPSec接続設定
以下のようにadministratorユーザーで設定

```shell-session
tunnel select 1
    description tunnel OCI-VPN1
    ipsec tunnel 1
    ipsec sa policy 1 1 esp aes256-cbc sha-hmac
    ipsec ike duration ipsec-sa 1 3600
    ipsec ike duration isakmp-sa 1 28800
    ipsec ike encryption 1 aes256-cbc
    ipsec ike group 1 modp1536
    ipsec ike hash 1 sha256
    ipsec ike keepalive log 1 off
    ipsec ike keepalive use 1 on dpd 5 4
    ipsec ike local address 1 100.100.100.101
    ipsec ike local id 1 0.0.0.0/0
    ipsec ike nat-traversal 1 on
    ipsec ike pfs 1 on
    ipsec ike pre-shared-key 1 text IPSecSecretKey01
    ipsec ike remote address 1 200.200.200.201
    ipsec ike remote id 1 0.0.0.0/0
    ip tunnel tcp mss limit auto
    tunnel enable 1

tunnel select 2
    description tunnel OCI-VPN2
    ipsec tunnel 2
    ipsec sa policy 2 2 esp aes256-cbc sha-hmac
    ipsec ike duration ipsec-sa 2 3600
    ipsec ike duration isakmp-sa 2 28800
    ipsec ike encryption 2 aes256-cbc
    ipsec ike group 2 modp1536
    ipsec ike hash 2 sha256
    ipsec ike keepalive log 2 off
    ipsec ike keepalive use 2 on dpd 5 4
    ipsec ike local address 2 100.100.100.101
    ipsec ike local id 2 0.0.0.0/0
    ipsec ike nat-traversal 2 on
    ipsec ike pfs 2 on
    ipsec ike pre-shared-key 2 text IPSecSecretKey02
    ipsec ike remote address 2 200.200.200.202
    ipsec ike remote id 2 0.0.0.0/0
    ip tunnel tcp mss limit auto
    tunnel enable 2
```

##●IPSec接続設定反映と確認

①IPSec設定反映

```shell-session
# ipsec auto refresh on
```

②IPSec SAが確立されていることを確認

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

    sa    sgw isakmp connection    dir  life[s] remote-id
    ----------------------------------------------------------------------------
    1     2    -     isakmp        -    28773   200.200.200.202
    2     2    1     tun[0002]esp  send 3573    200.200.200.202
    3     2    1     tun[0002]esp  recv 3573    200.200.200.202
    4     1    -     isakmp        -    28779   200.200.200.201
    5     1    4     tun[0001]esp  send 3580    200.200.200.201
    6     1    4     tun[0001]esp  recv 3580    200.200.200.201
```

##●BGP設定
以下のようにadministratorユーザーで設定

```shell-session
tunnel select 1
 ip tunnel address 10.100.100.101/30
 ip tunnel remote address 10.100.100.102

tunnel select 2
 ip tunnel address 10.100.100.105/30
 ip tunnel remote address 10.100.100.106

bgp use on
 bgp autonomous-system 65000
 bgp log neighbor
 bgp neighbor 1 31898 10.100.100.102 hold-time=180 local-address=10.100.100.101
 bgp neighbor 2 31898 10.100.100.106 hold-time=180 local-address=10.100.100.105
 bgp import filter 1 equal 0.0.0.0/0
 bgp import 31898 static filter 1
```

##●BGP設定反映と確認

①refreshコマンドで設定を反映

```shell-session
# bgp configure refresh
```

②BGP NeighborとなるOCIのBGP IP(10.100.100.102, 10.100.100.106) と通信できていることを確認

```shell-session
# show status bgp neighbor
    BGP neighbor is 10.100.100.102, remote AS 31898, local AS 65000, external link
    BGP version 4, remote router ID 10.100.100.102
    BGP state = Established, up for 00:57:27
    Last read 00:00:25, hold time is 180, keepalive interval is 60 seconds
    Received 62 messages, 0 notifications, 0 in queue
    Sent 61 messages, 0 notifications, 0 in queue
    Connection established 1; dropped 0
    Last reset never
    Local host: 10.100.100.101, Local port: 21069
    Foreign host: 10.100.100.102, Foreign port: 179

    BGP neighbor is 10.100.100.106, remote AS 31898, local AS 65000, external link
    BGP version 4, remote router ID 10.100.100.106
    BGP state = Established, up for 00:57:23
    Last read 00:00:36, hold time is 180, keepalive interval is 60 seconds
    Received 62 messages, 0 notifications, 0 in queue
    Sent 61 messages, 0 notifications, 0 in queue
    Connection established 1; dropped 0
    Last reset never
    Local host: 10.100.100.105, Local port: 21257
    Foreign host: 10.100.100.106, Foreign port: 179
```

③BGPでOCI側のVCN Subnetのルート情報(10.0.0.0/24)が伝搬されていることを確認

```shell-session
# show ip route
    宛先ネットワーク    ゲートウェイ     インタフェース  種別  付加情報
    default             10.255.20.1      LAN2(DHCP)    static
    10.0.0.0/24         10.100.100.102    TUNNEL[1]       BGP  path=31898
    10.100.100.100/30   -                 TUNNEL[1]  implicit
    10.100.100.104/30   -                 TUNNEL[2]  implicit
    10.255.10.0/24      10.255.10.254          LAN1  implicit
    10.255.20.0/24      10.255.20.254          LAN2  implicit
```

④OCIインスタンスへping確認

```shell-session
# ping 10.0.0.2
    10.0.0.2から受信: シーケンス番号=0 ttl=62 時間=4.080ミリ秒
    10.0.0.2から受信: シーケンス番号=1 ttl=62 時間=4.020ミリ秒
    10.0.0.2から受信: シーケンス番号=2 ttl=62 時間=4.091ミリ秒
    10.0.0.2から受信: シーケンス番号=3 ttl=62 時間=4.301ミリ秒
    10.0.0.2から受信: シーケンス番号=4 ttl=62 時間=4.260ミリ秒

    5個のパケットを送信し、5個のパケットを受信しました。0.0%パケットロス
    往復遅延 最低/平均/最大 = 4.020/4.150/4.301 ミリ秒
```


#■OCI：IPSec接続確認
IPSecとBGPのステータスがUPしていることを確認

![02_qiita.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/4e200b27-b34f-826e-854c-d3c2642ba5ef.png)



■vRX設定確認と保存
##●vRX設定確認

```shell-session
# show config
    # vRX Rev.19.00.01 (Fri Sep 13 12:13:56 2019) ** Compact Mode **
    # MAC Address : 06:8f:18:54, 06:d8:86:ce
    # Memory 3739Mbytes, 4LAN
    # main:  vRX MAC-Address=06:8f:18:54 MAC-Address=06:d8:86:ce
    # Reporting Date: Oct 29 17:05:11 2019
    administrator password encrypted *
    vrx user yamaha *
    vrx license file directory /license
    ip route default gateway dhcp lan2
    ip lan1 address dhcp
    ip lan2 address dhcp
    tunnel select 1
    description tunnel OCI-VPN1
    ipsec tunnel 1
    ipsec sa policy 1 1 esp aes256-cbc sha-hmac
    ipsec ike duration ipsec-sa 1 3600
    ipsec ike duration isakmp-sa 1 28800
    ipsec ike encryption 1 aes256-cbc
    ipsec ike group 1 modp1536
    ipsec ike hash 1 sha256
    ipsec ike keepalive log 1 off
    ipsec ike keepalive use 1 on dpd 5 4
    ipsec ike local address 1 100.100.100.101
    ipsec ike local id 1 0.0.0.0/0
    ipsec ike nat-traversal 1 on
    ipsec ike pfs 1 on
    ipsec ike pre-shared-key 1 text IPSecSecretKey01
    ipsec ike remote address 1 200.200.200.201
    ipsec ike remote id 1 0.0.0.0/0
    ip tunnel address 10.100.100.101/30
    ip tunnel remote address 10.100.100.102
    ip tunnel tcp mss limit auto
    tunnel enable 1
    tunnel select 2
    description tunnel OCI-VPN2
    ipsec tunnel 2
    ipsec sa policy 2 2 esp aes256-cbc sha-hmac
    ipsec ike duration ipsec-sa 2 3600
    ipsec ike duration isakmp-sa 2 28800
    ipsec ike encryption 2 aes256-cbc
    ipsec ike group 2 modp1536
    ipsec ike hash 2 sha256
    ipsec ike keepalive log 2 off
    ipsec ike keepalive use 2 on dpd 5 4
    ipsec ike local address 2 100.100.100.101
    ipsec ike local id 2 0.0.0.0/0
    ipsec ike nat-traversal 2 on
    ipsec ike pfs 2 on
    ipsec ike pre-shared-key 2 text IPSecSecretKey02
    ipsec ike remote address 2 200.200.200.202
    ipsec ike remote id 2 0.0.0.0/0
    ip tunnel address 10.100.100.105/30
    ip tunnel remote address 10.100.100.106
    ip tunnel tcp mss limit auto
    tunnel enable 2
    bgp use on
    bgp autonomous-system 65000
    bgp log neighbor
    bgp neighbor 1 31898 10.100.100.102 hold-time=180 local-address=10.100.100.101
    bgp neighbor 2 31898 10.100.100.106 hold-time=180 local-address=10.100.100.105
    bgp import filter 1 equal 0.0.0.0/0
    bgp import 31898 static filter 1
    ipsec auto refresh on
    telnetd service off
    dns server dhcp lan2
    sshd service on
    sshd host key generate *
```

##●設定保存
設定が完了したらセーブします

```shell-session
# save
    セーブ中... CONFIG0 終了
```




#■AWS-OCI間インスタンス接続事前設定
AWS,OCI共にRoute情報とFirewall設定をお互い疎通できるように設定します

##● AWS側設定
###①Rute Table設定
AWSのVPC内のインスタンスが、OCIのCIDR 10.0.0.0/16へのルートは、vRXのlan2 インターフェイスをGWとして通るように設定
<img width="1201" alt="01.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/ab7e1eac-a66f-4b12-bf1b-108f49f67327.png">


###②Security Group設定
AWSのVPC内のインスタンスがOCIのCIDR 10.0.0.0/16からの疎通をできる様に設定
・vRX-lan1側SubnetのSecurity Group
<img width="1208" alt="01-lan1.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/d55318bf-80ad-f0b6-ad33-d2487ecc9e74.png">

・vRX-lan2側SubnetのSecurity Group
<img width="1211" alt="02-lan2.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/5a54a04d-2fe2-e571-d1e0-f0e217f68f28.png">




##● OCI側設定
###①Rute Table設定
OCIのVCN内のインスタンスが、AWSのCIDR 10.255 .0.0/16へのルートは、DRGをGWとして通るように設定
<img width="912" alt="01.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/fe68d293-3328-69ce-6b18-9013e613aee8.png">


###②Security List設定
OCIのVCN内のインスタンスがAWSのCIDR 10.255.0.0/16からの疎通をできる様に設定
<img width="1206" alt="01.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/46ecfad3-60d1-bdb5-5575-54c43e688922.png">


#■AWS-OCI間インスタンス接続テスト
##● AWS -> OCI

###・pingテスト

```shell
[root@ip-10-255-1-10 ec2-user]# 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=62 time=4.17 ms
    64 bytes from 10.0.0.2: icmp_seq=2 ttl=62 time=3.99 ms
    64 bytes from 10.0.0.2: icmp_seq=3 ttl=62 time=3.99 ms

    --- 10.0.0.2 ping statistics ---
    3 packets transmitted, 3 received, 0% packet loss, time 2002ms
    rtt min/avg/max/mdev = 3.994/4.056/4.177/0.085 ms
```

###・sshテスト

```shell
[root@ec2-inst01 ec2-user]# ssh -i id_rsa opc@10.0.0.2 hostname
    oci-inst01
```

###・ipserf3テスト
①送信テスト

```shell
[root@ec2-inst01 ec2-user]# iperf3 -c 10.0.0.2
    Connecting to host 10.0.0.2, port 5201
    [  4] local 10.255.10.10 port 55884 connected to 10.0.0.2 port 5201
    [ ID] Interval           Transfer     Bandwidth       Retr  Cwnd
    [  4]   0.00-1.00   sec  55.9 MBytes   469 Mbits/sec   71    282 KBytes
    [  4]   1.00-2.00   sec  54.2 MBytes   455 Mbits/sec   15    290 KBytes
    [  4]   2.00-3.00   sec  57.3 MBytes   481 Mbits/sec   15    295 KBytes
    [  4]   3.00-4.00   sec  58.4 MBytes   490 Mbits/sec    6    300 KBytes
    [  4]   4.00-5.00   sec  56.2 MBytes   472 Mbits/sec    1    308 KBytes
    [  4]   5.00-6.00   sec  53.6 MBytes   450 Mbits/sec   19    229 KBytes
    [  4]   6.00-7.00   sec  52.9 MBytes   444 Mbits/sec    0    348 KBytes
    [  4]   7.00-8.00   sec  55.2 MBytes   463 Mbits/sec   34    249 KBytes
    [  4]   8.00-9.00   sec  56.2 MBytes   472 Mbits/sec    0    368 KBytes
    [  4]   9.00-10.00  sec  62.9 MBytes   527 Mbits/sec    6    354 KBytes
    - - - - - - - - - - - - - - - - - - - - - - - - -
    [ ID] Interval           Transfer     Bandwidth       Retr
    [  4]   0.00-10.00  sec   563 MBytes   472 Mbits/sec  167             sender
    [  4]   0.00-10.00  sec   562 MBytes   471 Mbits/sec                  receiver

    iperf Done.
```


②受信テスト

```shell
[root@ec2-inst01 ec2-user]# iperf3 -s
    -----------------------------------------------------------
    Server listening on 5201
    -----------------------------------------------------------
    Accepted connection from 10.0.0.2, port 43414
    [  5] local 10.255.10.10 port 5201 connected to 10.0.0.2 port 43416
    [ ID] Interval           Transfer     Bandwidth
    [  5]   0.00-1.00   sec  48.7 MBytes   408 Mbits/sec
    [  5]   1.00-2.00   sec  54.8 MBytes   460 Mbits/sec
    [  5]   2.00-3.00   sec  57.4 MBytes   482 Mbits/sec
    [  5]   3.00-4.00   sec  53.4 MBytes   448 Mbits/sec
    [  5]   4.00-5.00   sec  57.0 MBytes   478 Mbits/sec
    [  5]   5.00-6.00   sec  57.6 MBytes   483 Mbits/sec
    [  5]   6.00-7.00   sec  55.1 MBytes   462 Mbits/sec
    [  5]   7.00-8.00   sec  52.5 MBytes   440 Mbits/sec
    [  5]   8.00-9.00   sec  55.2 MBytes   463 Mbits/sec
    [  5]   9.00-10.00  sec  45.5 MBytes   381 Mbits/sec
    [  5]  10.00-10.04  sec  1.29 MBytes   281 Mbits/sec
    - - - - - - - - - - - - - - - - - - - - - - - - -
    [ ID] Interval           Transfer     Bandwidth
    [  5]   0.00-10.04  sec  0.00 Bytes  0.00 bits/sec                  sender
    [  5]   0.00-10.04  sec   538 MBytes   450 Mbits/sec                  receiver
    -----------------------------------------------------------
    Server listening on 5201
    -----------------------------------------------------------
    ^Ciperf3: interrupt - the server has terminated
```

##● OCI -> AWS

###・pingテスト

```shell
[root@oci-inst01 opc]# ping 10.255.10.10 -c 3
    PING 10.255.10.10 (10.255.10.10) 56(84) bytes of data.
    64 bytes from 10.255.10.10: icmp_seq=1 ttl=253 time=4.65 ms
    64 bytes from 10.255.10.10: icmp_seq=2 ttl=253 time=4.43 ms
    64 bytes from 10.255.10.10: icmp_seq=3 ttl=253 time=4.46 ms

    --- 10.255.10.10 ping statistics ---
    3 packets transmitted, 3 received, 0% packet loss, time 2003ms
    rtt min/avg/max/mdev = 4.434/4.516/4.653/0.124 ms
```

###・sshテスト

```shell
[root@oci-inst01 opc]# ssh -i AWS_id_rsa ec2-user@10.255.10.10 hostname
    ec2-inst01.ap-northeast-1.compute.internal
```

###・ipserf3テスト
①受信テスト

```shell
[root@oci-inst01 opc]# iperf3 -s
    -----------------------------------------------------------
    Server listening on 5201
    -----------------------------------------------------------
    Accepted connection from 10.255.10.10, port 55882
    [  5] local 10.0.0.2 port 5201 connected to 10.255.10.10 port 55884
    [ ID] Interval           Transfer     Bandwidth
    [  5]   0.00-1.00   sec  52.6 MBytes   441 Mbits/sec
    [  5]   1.00-2.00   sec  54.3 MBytes   455 Mbits/sec
    [  5]   2.00-3.00   sec  57.5 MBytes   482 Mbits/sec
    [  5]   3.00-4.00   sec  58.2 MBytes   488 Mbits/sec
    [  5]   4.00-5.00   sec  56.3 MBytes   472 Mbits/sec
    [  5]   5.00-6.00   sec  53.8 MBytes   451 Mbits/sec
    [  5]   6.00-7.00   sec  52.7 MBytes   442 Mbits/sec
    [  5]   7.00-8.00   sec  55.6 MBytes   466 Mbits/sec
    [  5]   8.00-9.00   sec  56.0 MBytes   470 Mbits/sec
    [  5]   9.00-10.00  sec  62.5 MBytes   524 Mbits/sec
    [  5]  10.00-10.04  sec  2.52 MBytes   510 Mbits/sec
    - - - - - - - - - - - - - - - - - - - - - - - - -
    [ ID] Interval           Transfer     Bandwidth
    [  5]   0.00-10.04  sec  0.00 Bytes  0.00 bits/sec                  sender
    [  5]   0.00-10.04  sec   562 MBytes   469 Mbits/sec                  receiver
    -----------------------------------------------------------
    Server listening on 5201
    -----------------------------------------------------------

    ^Ciperf3: interrupt - the server has terminated
```

①送信テスト

```shell
[root@oci-inst01 opc]# iperf3 -c 10.255.10.10
    Connecting to host 10.255.10.10, port 5201
    [  4] local 10.0.0.2 port 43416 connected to 10.255.10.10 port 5201
    [ ID] Interval           Transfer     Bandwidth       Retr  Cwnd
    [  4]   0.00-1.00   sec  52.4 MBytes   439 Mbits/sec   86    285 KBytes
    [  4]   1.00-2.00   sec  55.1 MBytes   462 Mbits/sec    3    306 KBytes
    [  4]   2.00-3.00   sec  57.3 MBytes   481 Mbits/sec   72    319 KBytes
    [  4]   3.00-4.00   sec  53.3 MBytes   447 Mbits/sec   49    345 KBytes
    [  4]   4.00-5.00   sec  56.4 MBytes   473 Mbits/sec  107    252 KBytes
    [  4]   5.00-6.00   sec  57.8 MBytes   485 Mbits/sec   10    266 KBytes
    [  4]   6.00-7.00   sec  55.4 MBytes   464 Mbits/sec    6    284 KBytes
    [  4]   7.00-8.00   sec  52.6 MBytes   441 Mbits/sec   12    309 KBytes
    [  4]   8.00-9.00   sec  55.2 MBytes   463 Mbits/sec   57    323 KBytes
    [  4]   9.00-10.00  sec  44.4 MBytes   373 Mbits/sec   39    168 KBytes
    - - - - - - - - - - - - - - - - - - - - - - - - -
    [ ID] Interval           Transfer     Bandwidth       Retr
    [  4]   0.00-10.00  sec   540 MBytes   453 Mbits/sec  441             sender
    [  4]   0.00-10.00  sec   538 MBytes   452 Mbits/sec                  receiver

    iperf Done.
```

#■参考
・[ヤマハ　仮想ルーター『vRX』](https://www.yamaha.com/ja/news_release/2019/19080601/)
・[仮想ルーター vRXドキュメント](http://www.rtpro.yamaha.co.jp/RT/docs/vrx/index.html)
・[ORACLEマニュアル: VPN接続](https://docs.oracle.com/cd/E97706_01/Content/Network/Tasks/managingIPsec.htm)