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
ログインの省力化をしたい人は、Oracle社のQiita記事をご覧ください。
https://qiita.com/500InternalServerError/items/df643e2b4572a2f961d4
(2) 左上の横三本線をクリックし、「Networking」→「Virtual cloud networks」を選択
(3) 左下の「Compartment」をプルダウンから選択したあとで、「Create VCN」を選択
※ rootコンパートメントと、自分で作成したコンパートメントを切り替えると、右側に表示されるVCN (=Virtual Cloud Network)が切り替わります。どのコンパートメントにVCNを新規作成するかを留意してください。
※コンパートメントはOCI独自の考え方ですが、ここでは細かく説明しません。検証用途であればルートのコンパートメントにそのまま仮想ネットワーク(=VCN)を作ってもいいですし、自分で作成したコンパートメント内に仮想ネットワークを作ってもどちらでも良いです。
コンパートメント作成はOracle社のこの辺の手順が使えるかもしれません。
https://oracle-japan.github.io/ocitutorials/beginners/getting-started/
「Name」に任意のVCN名を入力
「Create in Compartment」でVCNを作る先のコンパートメントをプルダウンメニューからから選択
(コンパートメントを作ってない場合はルートにVCNを作ることも可能。)
「IPv4 CIDR Blocks」でVCNのネットワークアドレスを指定
「Create VCN」を押下
(5) VCNが作成されるので、その画面で必要に応じてサブネットを作成。
以下のスクリーンショットではグレイアウトしているが赤枠をつけた「Subnets」→「Create Subnet」を選択して、右端から表示される作成メニュー画面でサブネットを指定。
1.2. DRG(ダイナミックルーティングゲートウェイ)の作成
外部と内部を接続するときにDRGを作成し、VCNにそれをアタッチする必要がある。1つのVCNにアタッチできるDRGは1つまで。VPNでも閉域接続のFastConnectでもこの1つのDRGを経由して通信する。
(1) 左上のメニューボタンから「Networking」→「Dynamic routing gateway」を選択
(2) 以下のスクショでグレイアウトしているが「Create Dynamic Routing Gateway」を選択して、名前と作成先のコンパートメントを指定
1.3. 作成したDRGのVCNへの割り当て
(1) 直前の手順でDRGを作成しているので、その画面から「Virtual Cloud Networks Attachment」→「Create Virtual Cloud Networks Attachment」を選び、名前を指定して、どのVCNに割り当てるかを指定。
2. CPE(Customer Premises Equipment)の作成
※ オンプレルータの情報をOCI上に定義する作業です。
(1) メニューから、「Networking」→「Customer-premises equipment」を選択
(2) 名前、コンパートメント、オンプレルータのグローバルIP、ルータ機種などを入力して「Create CPE」を実施
(3) CPEが作成されたことを確認
※ この後の手順で、オンプレルータにはOCI側のVPN接続先グローバルIPを指定してVPNを確立しますが、OCI側のグローバルIPはこの後の手順で自動生成されます。
3. サイト to サイトVPNの作成
(1) ネットワークメニューから「Site-to-Site VPN」を選択
(2) 「Create IPSec connection」を選択
(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」を押下。
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」を選択
(2) 設定対象のVCNを選択
今回は「vcn-10.0.0.0-24-vpn」を選択
※ 設定対象のVCNが表示されない場合、左下のコンパートメントを変更してみてください。
(3) 「Security Lists」を選択して、右側に表示される「Default Security List for vcn-10.0.0.0-24-vpn」を選択
(4) 「Ingress Rules」と「Egress Rules」を選択して、それぞれオンプレミスから通信ができるように設定します。
6. DRGのルーティング追加
(2) VCNの「Route Tables」を選択し、VCNのデフォルトルートテーブルを選択
(3) スクショではグレイアウトしている「Add Route Rules」を選択し、以下設定
「Target Type」: Dynamic Routing Gateway
「Destination Type」: CIDR Block
「Destination CIDR Block」: オンプレミス側のネットワークアドレスを指定
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