VPNaaSとDRGでOCI-CとOCIをIPSec VPN接続してみてみた

#目的
Oracle Cloud Infrastructure Classic(OCIC) と　Oracle Cloud Infrastructure（OCI）をIPSecで接続には、以前まではソフトウェアルーターが必要でしたが、それぞれの標準機能である VPNaaSとDRGで接続できるようになっていましたので、やってみてみます



#■構成
<img width="1104" alt="構成図.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/5f393b32-45fe-e59b-246c-22a3596edbcf.png">


#■OCIC- OCI接続設定
##●OCIC側作業１
①VPNaaS作成
ネットワーク > VPNaaS > VPN接続画面にある[VPN接続の作成]をクリックし次のように設定

    ・名前: 任意の名前を設定
    ・IPネットワーク: OCICインスタンスの IPネットワークを選択
    ・vNICset: OCICインスタンスの vNICsetを設定
    ・カスタマー・ゲートウェイ: OCI側のIPSecのIPはまだ払い出されないので1.2.3.4等適当なIPを設定
    ・顧客が到達可能なルート: OCI側のVCNのCIDRを設定
    ・事前共有キー: IPSecの共有キーを設定
    ・フェーズ１ IKE提案の指定: チェックする
    ・IKE暗号化: AES 256を設定
    ・IKEハッシュ: SHA2 256を設定
    ・IKE DHグループ: 5を設定
    ・IKE存続期間: 28800を設定
    ・フェーズ２ ES提案の指定:チェックする 
    ・ESP暗号化: AES 256を設定
    ・ESPハッシュ: SHA1を設定
    ・IPSEC存続期間: 3600を設定

<img width="464" alt="01_OCIC_VPNaaS01.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/0c18c2e9-8be4-e22c-9e74-ad5806d26692.png">


②VPNaaS パブリックIP確認


##●OCI側作業
①PE作成
ネットワーキング > 顧客構内機器画面にある[顧客構内機器の作成]をクリックし次のように設定

    ・名前: 任意の名前を設定
    ・IPアドレス: VPNaaSのパブリック IPを設定

<img width="1435" alt="02_OCI_CPE01.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/1d6a3c37-f351-0b22-f23f-c0b6a92d5498.png">


②IPSec COnnection作成
ネットワーキング > IPSec接続画面にある[Create IPSec COnnection]をクリックし次のように設定

    ・NAME: 任意の名前を設定
    ・CUSTOMER PREMISES EQUIPMENT: 作成した顧客構内機器を選択
    ・DYNAMIC ROUTEING GATWAY : 接続するDRGを選択
    ・SHARED SECRET: VPNaaS作成時に設定した事前共有キーを設定

<img width="1439" alt="03_OCI_IPSec01.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/9cfeda65-c5db-d0e7-7c55-ad6c488ff382.png">


③IPSec Connection パブリックIP確認
    作成したIPSec Connection パブリックIPを確認しOCICのVPNaaSに設定します
<img width="1439" alt="03_OCI_IPSec02.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/df42849d-c10c-5588-03d7-a39eee20ef9d.png">



##●OCIC側作業２
ネットワーク > VPNaaS > VPN接続画面にある作成したVPNaaSをクリックし次のように設定

    ・カスタマーゲートウェイ: OCICのVPNaaSにOCIのIPSec Connection パブリックIPを設定

<img width="683" alt="01_OCIC_VPNaaS05.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/f3b96d03-bb73-071b-3227-1dd9fe07f1d6.png">



#■IPSec疎通確認
OCIC,OCIそれぞれにあるインスタンスどうし疎通することを確認

##●ping疎通確認
・OCIC -> OCI

```shell-session
[opc@ocic-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=62 time=5.06 ms
    64 bytes from 10.0.0.2: icmp_seq=2 ttl=62 time=5.08 ms
    64 bytes from 10.0.0.2: icmp_seq=3 ttl=62 time=4.95 ms

    --- 10.0.0.2 ping statistics ---
    3 packets transmitted, 3 received, 0% packet loss, time 2002ms
    rtt min/avg/max/mdev = 4.955/5.034/5.086/0.056 ms

・OCI -> OCIC

```shell-session
[opc@oci-inst01~]$ ping 192.168.200.5 -c 3
    PING 192.168.200.5 (192.168.200.5) 56(84) bytes of data.
    64 bytes from 192.168.200.5: icmp_seq=1 ttl=62 time=5.30 ms
    64 bytes from 192.168.200.5: icmp_seq=2 ttl=62 time=5.04 ms
    64 bytes from 192.168.200.5: icmp_seq=3 ttl=62 time=5.16 ms

    --- 192.168.200.5 ping statistics ---
    3 packets transmitted, 3 received, 0% packet loss, time 2002ms
    rtt min/avg/max/mdev = 5.048/5.175/5.309/0.121 ms
```


##●ssh接続確認
・OCIC -> OCI

```shell-session
[opc@ocic-inst01 ~]$ ssh -i id_rsa opc@10.0.0.2 hostname
    tokyo-inst01
```

・OCI -> OCIC

```shell-session
[opc@oci-inst01~]$ ssh -i id_rsa opc@192.168.200.5 hostname
    ocic-inst01
```