OCI-CとOCIの相互接続を試してみた(VPN)
こんにちは。Oracle Cloud Infrastructure(OCI)特集 編集部です。
「OCIとAzureの相互接続を試してみた」につづいて、
Oracle Cloud Infrastructure – Classic(OCI-C) と Oracle Cloud Infrastructure(OCI) のVPNによる相互接続を検証して見たいと思います。
環境構成
今回の 今回の環境構成は次の通りです。
事前作業
事前に以下の設定が完了していることを前提とします。
・OCI-C IPネットワーク構成 (IPネットワーク:192.168.1.0/24(default)を利用)
・OCI-C Computeインスタンス作成
・OCI VCNおよびサブネット構成 (VCN:10.0.0.0/16, SUBNET:10.0.1.0/24を利用)
・OCI Computeインスタンス作成
※各種グローバルIPアドレスは、適宜環境に合わせて変更ください。
実施手順
①[OCI-C] VPNaaSの作成
②[OCI] DRGの作成
③~⑤[OCI-C/OCI] VPN接続の設定
③[OCI] CPEの設定
④[OCI] IPSec接続の作成
⑤[OCI-C] VPNaaSのカスタマーゲートウェイ再設定
⑥~⑧ [OCI/OCI-C] ルーティング・セキュリティ設定
⑥[OCI] ルート表の作成
⑦[OCI] セキュリティ・リストの作成
⑧[OCI-C] セキュリティ・ルールの設定
①[OCI-C] VPNaaSの作成
VPNaaSの作成にあたり、「事前共有キー」を作成する必要があります。
今回はLinux Server上で、以下コマンドを実施して作成します。
# openssl rand -base64 24
事前共有キーが作成出来たら、OCI-CへログインしてVPNaaSの作成をします。
OCI-Cへログイン後、上部の “ネットワーク” を選択、
左部の “VPN” – “VPNaaS” – “VPN接続” を選択、
「VPN接続の作成」ボタンを押して以下の設定を入力して作成します。
- 名前:VPN001
- IPネットワーク:default(192.168.1.0/24)
- vNICset:Instance001_vNicSet
※インスタンス作成時に自動生成されるVnicSetを使用 - カスタマーゲートウェイ:1.2.3.4
※後述の手順にて設定するため仮設定 - 顧客が到達可能なルート:10.0.0.0/16
※VCNのCIDRを使用 - 事前共有キー:meZikf0asyBE1l4EpHAFTGYAgDo7NbzV
- フェーズ1 IKE提案の指定:チェック
- IKE暗号化:AES256 (デフォルト)
- IKEハッシュ:SHA2 256 (デフォルト)
- IKE DHグループ:5
- IKE存続期間:28800 (デフォルト)
- フェーズ2 ESP提案の指定:チェック
- ESP暗号化:AES256 (デフォルト)
- ESPハッシュ:SHA1
- IPSEC存続期間:3600
作成後、VPNaaSの一覧にてVPNaaSのパブリックIPを確認します。後述の手順で使用します。
プロビジョニングが完全に終わるまでには、10分~数十分かかります。
②[OCI] DRGの作成
次は、OCIへログインをして、Dynamic Routing Gateways (DRG, 動的ルーティング・ゲートウェイ)の作成を行います。
ログイン後、左部の “ネットワーキング” – “動的的ルーティング・ゲートウェイ” を選択
「動的ルーティング・ゲートウェイの作成」ボタンを押して以下の設定を入力して作成します。
- コンパートメント:(対象のコンパートメント名)
- 名前:DRG001
作成後、インターネットゲートウェイやNATゲートウェイ同様に、このままではネットワークに接続されていないため、VCNへアタッチする必要があります。
左部の “ネットワーキング” – “仮想クラウド・ネットワーク” を選択して、対象のVCN(VCN001)を選択します。
同じく左部のリソースから、”動的ルーティング・ゲートウェイ” を選択して、「動的ルーティング・ゲートウェイのアタッチ」ボタンを押して、以下の設定を入力してアタッチします。
- コンパートメント:(対象のコンパートメント)
- 動的ルーティング・ゲートウェイ:DRG001
③~⑤[OCI-C/OCI] VPN接続の設定
次に手順①で作成したOCI-CのVPNaaSと、手順②で作成したOCIのDRGを接続するためのVPN接続の設定をします。
③[OCI] CPEの設定
Customer Premises Equipment(CPE, 顧客構内機器)の設定を行います。
OCI-CのVPNaaSがどこにあるのかを設定する項目になります。
左部の “ネットワーキング” – “顧客構内機器” を選択、
「顧客構内機器の作成」ボタンを押して、以下の設定を入力して作成します。
- 名前:CPE001
- コンパートメント:(対象のコンパートメント)
- パブリックIPアドレス:手順①にて確認したパブリックIPアドレス
- CPEベンダー情報:Other
④[OCI] IPSec接続の作成
IPSec接続の設定を行います。
OCI-CのVPNaaSとOCIのDRGを相互接続するための項目になります。
左部の “ネットワーキング” – “VPN接続” を選択、
「IPSec接続の作成」ボタンを押して、以下の設定を入力して作成します。
- コンパートメント:(対象のコンパートメント名)
- 名前:IPSec001
- 顧客構内機器コンパートメント:(対象のコンパートメント名)
- 顧客構内機器:CPE001
- 動的ルーティング・ゲートウェイ・コンパートメント:(対象のコンパートメント名)
- 動的ルーティング・ゲートウェイ:DRG001
- 静的ルートCIDR:192.168.1.0/24
作成後、VPN接続のステータス画面にて、Oracle VPN IPアドレスを確認します。
冗長化のためVPN接続は二つ作成されますが、今回は一行目の情報を使用します。
トンネルの設定として、共有シークレットキー(事前共有キー)をOCI側でも設定します。
作成されたトンネルの名前「ipsectunnel20201005083932」を選択して、トンネル情報内にある、共有シークレットの「編集」を選択して、手順①にて作成した事前共有キーを入力します。
⑤[OCI-C] VPNaaSのカスタマーゲートウェイ再設定
OCI-CのVPNaaSで仮設定としていたカスタマーゲートウェイを再設定します。
OCI-Cへログイン後、上部の “ネットワーク” を選択、
左部の “VPN” – “VPNaaS” – “VPN接続” を選択、
作成したVPNaaSの名前「VPN001」を選択して、”カスタマー・ゲートウェイ”の項目を、手順④で確認したOCIのVPNアドレスに変更して更新をします。
更新したあと、
・OCI-C側のVPNaaSのトンネル/ライフ・サイクル・ステータスが「稼働中/準備完了」
・OCI側のVPN接続のIPSecステータスが「稼働中」
になっていれば、VPN接続の設定は完了です。
⑥~⑧ [OCI/OCI-C] ルーティング・セキュリティ設定
①~⑤の手順で、OCI-CとOCIの間のVPN接続は完了しました。
ここからは、各インスタンス間の通信を許可するために、ルート表とセキュリティリストの設定します。
⑥[OCI] ルート表の作成
まずは、OCIのルート表を設定します。
左部の “ネットワーキング” – “仮想クラウド・ネットワーク” を選択して、対象のVCN(VCN001)を選択します。
同じく左部のリソースから、”ルート表” を選択して、「ルート表の作成」ボタンを押して、以下の設定を入力して作成します。
- 名前:ROUTE001
- コンパートメント:(対象のコンパートメント名)
- 追加のルート・ルール:選択
- ターゲット・タイプ:動的ルーティング・ゲートウェイ
- CIDRブロック:192.168.1.0/24
ルート表が作成できたら、対象のセグメントにアタッチします。
左部の “ネットワーキング” – “仮想クラウド・ネットワーク” を選択して、対象のVCN(VCN001)を選択します。
同じく左部のリソースから、”サブネット” を選択して、対象のサブネットの名前「SUBNET001」を選択、サブネット詳細から「編集」ボタンを押して、以下の設定を入力して保存します。
- 名前:SUBNET001 (そのまま)
- DHCPオプション:Default DHCP Options for VCN001 (そのまま)
- ルート表:ROUTE001
⑦[OCI] セキュリティ・リストの作成
次に、セキュリティ・リストの作成を行います。
左部の “ネットワーキング” – “仮想クラウド・ネットワーク” を選択して、対象のVCN(VCN001)を選択します。
同じく左部のリソースから、”セキュリティ・リスト” を選択して、「セキュリティ・リストの作成」ボタンを押して、以下の設定を入力して作成します。
今回は、ping(icmp/all)とssh(tcp/22)を開放します。
- 名前:SECLIST001
- コンパートメント:(対象のコンパートメント)
- 追加のイングレス・ルール1:選択
- ステートレス:未選択
- ソースタイプ:CIDR
- ソースCIDR:192.168.1.0/24
- IPプロトコル:ICMP
- タイプオプション: 未入力
- コード: 未入力
- 追加のイングレス・ルール2:選択
- ステートレス:未選択
- ソースタイプ:CIDR
- ソースCIDR:192.168.1.0/24
- IPプロトコル:TCP
- ソース・ポート範囲:未入力
- 宛先ポート範囲:22
セキュリティ・リストが作成できたら、対象のセグメントにアタッチします。
左部の “ネットワーキング” – “仮想クラウド・ネットワーク” を選択して、対象のVCN(VCN001)を選択します。
同じく左部のリソースから、”サブネット” を選択して、対象のサブネットの名前「SUBNET001」を選択、サブネット詳細から「セキュリティ・リストの追加」ボタンを押して、以下の設定を入力して作成します。
- コンパートメント:(対象のコンパートメント)
- セキュリティ・リスト:SECLIST001
⑧[OCI-C] セキュリティ・ルールの設定
VPN接続作成時に、「セキュリティ・ルール」「アクセス制御リスト」「IPアドレス接頭辞セット」が、自動生成されています。
- 「セキュリティ・ルール」:from-vpngateway-xxxxx, to-vpngateway-xxxxx
- 「アクセス制御リスト」:vpn-acl-xxxxx
- 「IPアドレス接頭辞セット」 :vpn-ipaddr-prefset-xxxx
その中で、「セキュリティ・ルール」のみ編集します。
OCI-Cへログイン後、上部の “ネットワーク” を選択、
左部の “IPネットワーク” – “セキュリティ・ルール” を選択、
自動生成されたセキュリティルールの名前「from-vpngateway-xxxxx」と「to-vpngateway-xxxxx」を選択して、二つともに “セキュリティ・プロトコル” へ以下設定を追加して更新します。
- セキュリティ・プロトコル:ssh, any-icmp
設定は以上になります。