オンプレとOCI (Oracle Cloud Infrastructure)のVPN接続設定


# 0. 対象読者と目次
余計な説明抜きでOCIとオンプレミス環境をVPN接続したい人向けの記事です。
IKEv1でStaticルートで設定しています。
利用しているオンプレルータはYamaha RTX1210です。
VPNトンネルは2本張っています。OCIからオンプレへの通信はVPNトンネル間でロードバランスされます、とOCIのヘルプに書いてありました。オンプレからクラウドへのアップロードがどうなるかは未確認です。

OCI側(もしくはオンプレ側)のネットワークが増減するなどの理由でBGPで経路情報を交換したい人は、手順を追記するのでコメントに記載してください。できるだけ（3営業日程度で）記事化するよう努力します。

「うまく接続できないんだけど！」という方はコメントに記載をお願いします。トラブルシュートのお手伝いをします。

**1. ネットワーク回りの事前準備**
　**1.1 ネットワーク構成の確認、VCN作成、サブネット作成**
　**1.2. DRG(ダイナミックルーティングゲートウェイ)の作成**
　**1.3. 作成したDRGのVCNへの割り当て**
**2. CPE(Customer Premises Equipment)の作成**
**3. サイト to サイトVPNの作成**
**4. オンプレルータ設定**
**5. セキュリティリスト設定**
**6. DRGのルーティング追加**
**7. その他**

# 1. ネットワーク回りの事前準備
## 1.1 ネットワーク構成の確認、VCN作成、サブネット作成
(1) 以下のURLからOCIのコンソールにログイン
https://cloud.oracle.com

ログイン後のトップ画面は以下。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1001215/5385671f-385e-20a2-e5ac-bec97fc8feb2.png)

ログインの省力化をしたい人は、Oracle社のQiita記事をご覧ください。
https://qiita.com/500InternalServerError/items/df643e2b4572a2f961d4

(2) 左上の横三本線をクリックし、「Networking」→「Virtual cloud networks」を選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1001215/a24cddf6-18db-fc77-d397-916e948447f7.png)

(3) 左下の「Compartment」をプルダウンから選択したあとで、「Create VCN」を選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1001215/20434ba0-438e-09dd-1515-c975c81683e9.png)

※ rootコンパートメントと、自分で作成したコンパートメントを切り替えると、右側に表示されるVCN (=Virtual Cloud Network)が切り替わります。どのコンパートメントにVCNを新規作成するかを留意してください。

※コンパートメントはOCI独自の考え方ですが、ここでは細かく説明しません。検証用途であればルートのコンパートメントにそのまま仮想ネットワーク(=VCN)を作ってもいいですし、自分で作成したコンパートメント内に仮想ネットワークを作ってもどちらでも良いです。

コンパートメント作成はOracle社のこの辺の手順が使えるかもしれません。
https://oracle-japan.github.io/ocitutorials/beginners/getting-started/

(4) VCNの作成
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1001215/c5bd2cdc-9a7d-ebf1-8987-9693796b239c.png)

「Name」に任意のVCN名を入力
「Create in Compartment」でVCNを作る先のコンパートメントをプルダウンメニューからから選択
　(コンパートメントを作ってない場合はルートにVCNを作ることも可能。)
「IPv4 CIDR Blocks」でVCNのネットワークアドレスを指定
「Create VCN」を押下

(5) VCNが作成されるので、その画面で必要に応じてサブネットを作成。
以下のスクリーンショットではグレイアウトしているが赤枠をつけた「Subnets」→「Create Subnet」を選択して、右端から表示される作成メニュー画面でサブネットを指定。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1001215/b406c658-3f98-9535-cb26-56042459dcb4.png)

## 1.2. DRG(ダイナミックルーティングゲートウェイ)の作成
外部と内部を接続するときにDRGを作成し、VCNにそれをアタッチする必要がある。1つのVCNにアタッチできるDRGは1つまで。VPNでも閉域接続のFastConnectでもこの1つのDRGを経由して通信する。

(1) 左上のメニューボタンから「Networking」→「Dynamic routing gateway」を選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1001215/f8a733f5-e7ae-a9f0-4482-c43c3a5c589d.png)

(2) 以下のスクショでグレイアウトしているが「Create Dynamic Routing Gateway」を選択して、名前と作成先のコンパートメントを指定
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1001215/58e57309-a4c7-d3c0-bcc0-c14e25217cc6.png)

## 1.3. 作成したDRGのVCNへの割り当て

(1) 直前の手順でDRGを作成しているので、その画面から「Virtual Cloud Networks Attachment」→「Create Virtual Cloud Networks Attachment」を選び、名前を指定して、どのVCNに割り当てるかを指定。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1001215/b05fcfed-ec82-44cc-5f76-8032c3b4458c.png)

(2) 割り当てが完了したことを確認
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1001215/ba6abda4-5763-ecb1-715c-c846f533e1da.png)

# 2. CPE(Customer Premises Equipment)の作成
※ オンプレルータの情報をOCI上に定義する作業です。

(1) メニューから、「Networking」→「Customer-premises equipment」を選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1001215/a553db91-5d8a-a40f-09e0-922a6f913d8d.png)

(2) 名前、コンパートメント、オンプレルータのグローバルIP、ルータ機種などを入力して「Create CPE」を実施
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1001215/cf745582-e914-9ad4-b162-7711cc5adc93.png)

(3) CPEが作成されたことを確認
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1001215/d0e5496e-76e1-46c8-c16e-9cbf1d00ca6e.png)
※ この後の手順で、オンプレルータにはOCI側のVPN接続先グローバルIPを指定してVPNを確立しますが、OCI側のグローバルIPはこの後の手順で自動生成されます。

# 3. サイト to サイトVPNの作成
(1) ネットワークメニューから「Site-to-Site VPN」を選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1001215/a3bca980-adbe-1b8b-66ed-4eaadb9a0f91.png)

(2) 「Create IPSec connection」を選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1001215/7b13b215-089d-50d0-89df-346ad8383643.png)

(3) 各種設定情報を投入　(ここではStaticルート設定をしています。)
「Customer-premises equipment in <コンパートメント名>」には直前の手順で作成したCPEをプルダウンメニューから選択。
「Routes to your on-premises network」にはオンプレ側に存在するネットワークアドレスを指定。
「Provide custom shared secret」にチェックを入れる
「Shared Secret」はオンプレルータにも設定するこのVPN接続のためのPre-Shared Key。(＝任意の文字列)
「IKE version」はIKEv1
「Routing type」はStatic routing
トンネル2も同様の設定を行い、「Create IPSec connection」を押下。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1001215/4f113581-a673-5374-0863-1f9023d0128f.png)

(4) IPSecのVPNトンネルの待ち状態
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1001215/82a90e9e-b873-bd22-1971-ad57a4b3b02c.png)

# 4. オンプレルータ設定
オンプレルータに設定する際に必要なOCI側のVPN接続先グローバルIPは、直前の手順の画面ショットに表示されています。ルーターコンフィグに指定するVPNのPre-Shared Keyは直前の手順の「Shared Secret」を指定します。

また、今回利用したYamahaルータの設定例は以下にサンプルがあります。
https://network.yamaha.com/setting/router_firewall/cloud/oracle_cloud/setup_rt

# 5. セキュリティリスト設定
オンプレミスのネットワークアドレスから疎通を許可する必要があります。

(1) メニューから、「Networking」→「Virtual cloud network」を選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1001215/bad2edaa-3f86-5c81-e7af-5b202973e965.png)

(2) 設定対象のVCNを選択
今回は「vcn-10.0.0.0-24-vpn」を選択
※ 設定対象のVCNが表示されない場合、左下のコンパートメントを変更してみてください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1001215/92f50016-88fa-e098-9687-cc2caf7a8bd3.png)

(3) 「Security Lists」を選択して、右側に表示される「Default Security List for vcn-10.0.0.0-24-vpn」を選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1001215/88b5a2a3-96e9-44a1-1833-d87dbc9522d0.png)

(4) 「Ingress Rules」と「Egress Rules」を選択して、それぞれオンプレミスから通信ができるように設定します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1001215/d51092d8-0915-cd79-08c3-a3c70dd7addb.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1001215/273bb5a5-4915-5f72-23cc-bd0205f6454d.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1001215/8970bbc8-c6d6-f061-b24e-f1f51aa6f737.png)

# 6. DRGのルーティング追加
(1) VCNを選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1001215/91e9446a-d044-8326-e057-1b16bd86da5f.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1001215/fc412bfd-36b5-d1d3-dad9-fdd04f656b2e.png)

(2) VCNの「Route Tables」を選択し、VCNのデフォルトルートテーブルを選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1001215/8f54b702-1850-4967-7953-7c3914dc1f48.png)

(3) スクショではグレイアウトしている「Add Route Rules」を選択し、以下設定
「Target Type」: Dynamic Routing Gateway
「Destination Type」: CIDR Block
「Destination CIDR Block」: オンプレミス側のネットワークアドレスを指定
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1001215/4b161515-10dd-41f6-8e75-fb2404d90f87.png)


# 7. その他
補足事項や外部の有用なリンクがあればここに追記します。

■関連情報
AWSとオンプレ環境をインターネットVPNのSite to Site(IKEv1)で接続する手順
https://qiita.com/kan_itani/items/2959f049525d3778e1b8

Azureとオンプレ環境をインターネットVPNのSite to Site(IKEv2)で接続する手順
https://qiita.com/kan_itani/items/0cda4479b61d543c8dde