ノート:
- このチュートリアルでは、Oracle Cloudへのアクセス権が必要です。無料アカウントにサインアップするには、Oracle Cloud Infrastructure Free Tierの開始を参照してください。
- Oracle Cloud Infrastructureの資格証明、テナンシおよびコンパートメントの値の例を使用します。演習を完了したら、これらの値をクラウド環境に固有の値に置き換えてください。
2つのOCIリージョン間の静的ルーティングを使用したOracle Cloud Infrastructure Site-to-Site VPNの設定
イントロダクション
アプリケーション、データベースまたはサービスが様々なOracle Cloud Infrastructure (OCI)リージョンまたはテナントに分散されている場合、それらの間のネットワーク通信を有効にするための推奨方法は、リモート・ピアリング接続(RPC)ピアリングです。RPCピアリングを実行できない場合は、OCIサイト間VPN IPSec接続を確立する方法もあります。OCIでは、Dynamic Routing Gateway (DRG)を使用したOCIサイト間VPN IPSecの作成を直接サポートしていませんが、一方の側でカスタムVPNエンドポイント(Libreswanなど)を構成し、もう一方の側でDRGを使用してこの接続を実現できます。
この方法は、オンプレミスとOCIの間にOCIサイト間VPNを設定する必要があり、DRGを仮想プライベート・ネットワーク(VPN)エンドポイントとして使用せず、独自のカスタムVPNエンドポイントとして使用する場合にも使用できます。
目的
-
一方の側でLibreswanを顧客構内機器(CPE)として使用し、もう一方の側でDRGを使用して、2つのOCIリージョン間で静的ルーティングを行うOCIサイト間VPNを設定します。
2つのトンネルがあり、Equal Cost Multi-Path (ECMP)が有効になっているIPSec VPNを使用して、2つの異なるOCIリージョンを接続します。CPEとLibreswanソフトウェアを1つのOCIリージョンで使用し、OCIサイト間VPNをもう一方のリージョンのDRGで構成します。
前提条件
-
2つのOCIリージョンを作成します。
-
OCIリージョン1 (宛先):
- 仮想クラウド・ネットワーク(VCN)
- プライベート・サブネット
- DRG
- VCNアタッチメント
- インスタンス
このリージョンでは、DRGがVPNエンドポイントになり、すべてのトラフィックがDRGのインターネット接続を使用してルーティングされます。
-
OCI地域2(ソース):
- VCN
- パブリック・サブネット
- インターネット・ゲートウェイ
- インスタンス
このリージョンでは、Libreswan CPE (OCI内のインスタンス)がVPNエンドポイントになり、すべてのトラフィックがインターネット・ゲートウェイのインターネット接続を使用してルーティングされます。
次の図は、これまでに説明した内容を示しています。
ノート: Libreswan CPEはまだこのイメージ上にありません。
-
タスク1: 宛先OCIリージョン(VCN、サブネット、DRG、VCNアタッチメントおよびインスタンス)の確認
このタスクでは、何を開始するのかを確認します。
-
VCN
-
宛先OCIリージョンを確認します。このチュートリアルでは、ドイツ中央部(フランクフルト)のOCIリージョンです。
-
VCN、サブネットおよびインスタンスを確認します。
-
-
サブネット
-
インスタンスがアタッチされるプライベート・サブネットを確認します。
-
-
DRG
-
VPNを終了するためにVPNエンドポイントとして使用されるDRGを確認します。
-
-
VCNアタッチメント
-
VCNアタッチメントを確認し、DRGがVPNトラフィックを正しいVCN、サブネットおよびインスタンスにルーティングできるように、VCNがDRGにアタッチされていることを確認します。
-
-
インスタンス
-
ネットワーク・テストを実行するためにネットワーク・エンドポイントとして使用するインスタンスを確認します。
-
次の図は、これまでに作成した内容を示しています。
タスク2: ソースOCIリージョン(VCN、パブリック・サブネット、インターネット・ゲートウェイおよびインスタンス)の確認
-
VCN
-
ソースOCIリージョンを確認します。このチュートリアルでは、オランダ北西部(アムステルダム)のOCIリージョンです。
-
VCN、サブネットおよびインスタンスを確認します。
-
-
パブリック・サブネット
-
インスタンスおよびLibreswan VPNエンドポイントがアタッチされるパブリック・サブネットを確認します。
-
VCNのデフォルト・ルート表を確認します。
ノート:ここではパブリック・サブネットが必要です。Libreswan VPNエンドポイントがインターネットと通信して、もう一方の側とのVPN接続を設定できることを確認する必要があります。
-
-
インターネット・ゲートウェイ
-
インターネット接続を許可するためのインターネット・ゲートウェイの確認
-
VCNのデフォルト・ルート表を確認します。
-
-
ルート・テーブル
-
VCNルート表を確認し、すべてのトラフィックがインターネット・ゲートウェイにルーティングされていることを確認します。
-
-
インスタンス
-
ネットワーク・テストを実行するために、ネットワーク・エンドポイントとして使用するインスタンスを確認します。
-
CLIENTと CPEの両方で、Oracle Linux 8をメインオペレーティングシステムとして使用しました。
-
次の図は、これまでに作成した内容を示しています。
タスク3: ソースOCIリージョンからのCPEインスタンスのパブリックIPアドレスの収集
-
OCIコンソールに移動します。
-
ソースOCIリージョンに、VPN終了(VPNエンドポイント)を担当するインスタンスをデプロイしました。
-
このVPNエンドポイントに構成されているパブリックIPアドレスを収集します。このチュートリアルでは、このパブリックIPアドレスは143から始まります。
-
-
次の図は、これまでに作成した内容を示しています。
タスク4: 宛先OCIリージョンでの新規CPEの作成
-
OCIコンソールに移動し、「ネットワーキング」、「顧客接続」、「動的ルーティング・ゲートウェイ」に移動して、DRGをクリックします。
- 「顧客構内機器」をクリックします。
- 「CPEの作成」をクリックします。
-
次の情報を入力します
- 名前: CPEの名前を入力します。
- パブリックIPアドレス:タスク3で収集されたパブリックIPアドレスを入力します。
- ベンダー: 「Libreswan」を選択します。
- プラットフォーム/バージョン: CPEプラットフォーム・バージョンを選択します。
- 「CPEの作成」をクリックします。
- CPEが作成されました。
- CPEのパブリックIPアドレスを書き留めます。
タスク5: 宛先OCIリージョンでのOCIサイト間VPNの構成
-
OCIコンソールに移動します。
- 「サイト間VIP」をクリックします。
- 「IPSec接続の作成」をクリックします。
-
「IPSec接続の作成」ページで、次の情報を入力します。
- 名前: IPSec接続の名前を入力します。
- 顧客構内機器:タスク4で作成したCPEを選択します。
- 動的ルーティング・ゲートウェイ: DRGを選択します。
- オンプレミス・ネットワークへのルート: IPSec接続を介してルーティングするリモート・ネットワークを入力します。このチュートリアルでは、
10.222.10.0/24
ネットワークです。 - 下へスクロール
- 名前:最初のトンネルの名前を入力します。
- IKEバージョン: IKEv1にするIKEバージョンを入力します。
- 工順タイプ: 「静的工順」を選択します。
- 下へスクロール
- 名前: 2番目のトンネルの名前を入力します。
- IKEバージョン: IKEv1にするIKEバージョンを入力します。
- 工順タイプ: 「静的工順」を選択します。
- 「IPSec接続の作成」をクリックします。
タスク6: 宛先OCIリージョンのIPSecトンネルのパブリックIPアドレスの収集およびCPE構成のダウンロード
-
IPSec接続が作成され、両方のIPSecトンネルのパブリックIPアドレスが使用可能になるため、VPNの反対側を構成する必要があります。
-
タスク5で作成したサイト間VPNをクリックします。
- IPSec接続のトンネル1に注意してください。
- トンネル1のパブリックIPアドレスを書き留めます。このチュートリアルでは、このIPアドレスは193から始まります。
- IPSec接続のトンネル2に注意してください。
- トンネル2のパブリックIPアドレスを書き留めます。このチュートリアルでは、このIPアドレスは 130で始まります。
-
次の図は、これまでに作成した内容を示しています。
タスク7: ソースOCIリージョンでのCPEインスタンスの構成およびLibreswanのインストールと構成
-
CPEインスタンスを構成します。
- ソースOCIリージョンまたはVCNにあるCPEのSSHセッションを設定します。
- ログインしていることを確認します。
-
以下のコマンドを実行して、ソフトウェアをアップグレードします。
[opc@cpe ~]$ sudo dnf upgrade -y
-
アップグレードが正常に完了したことを確認します。
-
次のコマンドを実行して、より高い権限が必要なコマンドを実行します。
[opc@cpe ~] sudo su
-
次のコマンドを実行して、Libreswanソフトウェアをインストールします。
[root@cpe opc]# sudo yum install libreswan -y
-
ソフトウェアが正常にインストールされていることに注意してください。
-
-
次のファイルを編集して、IP転送を有効にします。
[root@cpe etc]# nano /etc/sysctl.conf
-
/etc/sysctl.conf
ファイルに次の内容が含まれていることを確認します。kernel.unknown_nmi_panic = 1 net.ipv4.ip_forward = 1 net.ipv4.conf.all.accept_redirects = 0 net.ipv4.conf.all.send_redirects = 0 net.ipv4.conf.default.send_redirects = 0 net.ipv4.conf.ens3.send_redirects = 0 net.ipv4.conf.default.accept_redirects = 0 net.ipv4.conf.ens3.accept_redirects = 0
-
Ctrl + X
を使用してファイルを保存し、Y
と入力します。-
次のコマンドを実行して、ファイルの内容を確認します。
[root@cpe opc]# more /etc/sysctl.conf
-
出力はファイルの内容と同じになることに注意してください。
-
-
次のコマンドを実行してファイルを再ロードし、適用して転送を有効にします。
[root@cpe etc]# sudo sysctl -p
-
次のコマンドを実行して、IP転送が有効になっているかどうかを確認します。
cat /proc/sys/net/ipv4/ip_forward
-
戻り値IDは
1
で、これはIP転送が有効であることを意味し、0
はIP転送が無効であることを意味します
-
次のコマンドを実行して、IPSecトンネルを構成する必要があるディレクトリを変更します。
[root@cpe opc]# cd /etc/ipsec.d/
-
次のファイル(
tunnel1.conf
)を作成して編集し、トンネル1の最初のIPSecトンネルを構成します。[root@cpe ipsec.d]# nano /etc/ipsec.d/tunnel1.conf
-
-
/etc/ipsec.d/tunnel1.conf
ファイルに次の内容が含まれていることを確認します。conn tunnel1 keyexchange=ike pfs=yes ikev2=no ike=aes256-sha2_256;modp1536 phase2alg=aes256-sha1;modp1536 left=10.222.10.70 leftid=143.xxx.xxx.xxx right=193.xxx.xxx.xxx rightid= 193.xxx.xxx.xxx authby=secret leftsubnet=0.0.0.0/0 rightsubnet=0.0.0.0/0 auto=start mark=5/0xffffffff vti-interface=vti1 vti-routing=no encapsulation=auto ikelifetime=28800s
-
Ctrl + X
を使用してファイルを保存し、Y
と入力します。 -
次のファイル(
tunnel2.conf
)を作成して編集し、tunnel2
で2番目のIPSecトンネルを構成します。[root@cpe ipsec.d]# nano /etc/ipsec.d/tunnel2.conf
-
/etc/ipsec.d/tunnel2.conf
ファイルに次の内容が含まれていることを確認します。conn tunnel2 keyexchange=ike pfs=yes ikev2=no ike=aes256-sha2_256;modp1536 phase2alg=aes256-sha1;modp1536 left=10.222.10.70 leftid=143.xxx.xxx.xxx right=130.xxx.xxx.xxx rightid=130.xxx.xxx.xxx authby=secret leftsubnet=0.0.0.0/0 rightsubnet=0.0.0.0/0 auto=start mark=6/0xffffffff vti-interface=vti2 vti-routing=no encapsulation=auto ikelifetime=28800s
-
Ctrl + X
でファイルを保存し、Y
と入力します。-
次のコマンドを実行して、
tunnel1
のファイルの内容を確認します。[root@cpe ipsec.d]# more /etc/ipsec.d/tunnel1.conf
-
出力はファイルの内容と同じになることに注意してください。
-
次のコマンドを実行して、
tunnel2
のファイルの内容を確認します。[root@cpe ipsec.d]# more /etc/ipsec.d/tunnel2.conf
-
出力はファイルの内容と同じになることに注意してください。
-
-
IPSecトンネルを構成しました。ここでは、認証に秘密キーを使用しているため、共有シークレットを構成する必要もあります。
タスク5でOCIサイト間VPNを作成したとき、トンネルが作成され、このプロセスで、OCIはトンネルごとに共有秘密キーも生成しました。同じ共有シークレットと一致するようにLibreswanで取得および構成するには、OCIコンソールに戻る必要があります。
- OCIコンソールに移動し、「ネットワーキング」、「顧客接続」、「サイト間VPN」に移動して、構成されたVPNをクリックします。
- 最初のトンネル構成をクリックします。
-
共有シークレットを取得するには、「表示」をクリックします。
- トンネル1の共有シークレットをコピーし、ノートパッドに保存して後でアクセスします。
- 「閉じる」をクリックします。
- OCIコンソールに移動し、「ネットワーキング」、「顧客接続」、「サイト間VPN」に移動して、構成されたVPNをクリックします。
- 2番目のトンネル構成をクリックします。
-
共有シークレットを取得するには、「表示」をクリックします。
- トンネル2の共有シークレットをコピーし、ノートパッドに保存して後でアクセスします。
- 「閉じる」をクリックします。
-
Libreswanで共有シークレットを構成します。次のファイル(
shared.secrets
)を作成および編集して、両方のトンネルの共有シークレットを構成します。[root@cpe ipsec.d]# nano /etc/ipsec.d/shared.secrets
-
/etc/ipsec.d/shared.secrets
ファイルに次の内容が含まれていることを確認します。143.xxx.xxx.xxx 193.xxx.xxx.xxx : PSK "1blwzMdgQ5XXXoiQwF96tqc7c7" 143.xxx.xxx.xxx 130.xxx.xxx.xxx : PSK "npLt23Ym6E1XXXhr5egvYSuzKC"
- 次のコマンドを実行して、ファイルの内容を確認します。
- 出力はファイルの内容と同じになることに注意してください。
[root@cpe ipsec.d]# more /etc/ipsec.d/shared.secrets
-
LibreswanでIPSecサービスを起動するには、次のコマンドを実行します。まだトンネルは作れません。
[root@cpe ipsec.d]# ipsec start
-
次のコマンドを実行して、IPSec接続のステータスを確認します。
[root@cpe ipsec.d]# ipsec verify
-
検証は問題なく、エラーがないように見えることに注意してください。
-
タスク8: ソースOCIリージョンのCPEインスタンスでファイアウォールを開き、VCNおよびサブネットのセキュリティ・リストを構成する
VCNおよびサブネットのセキュリティ・リストを構成して、IPSec接続に必要なイングレス・ポートを許可します。トンネルを正しく確立できるようにするには、両側のネットワーク・セキュリティで必要なポートが許可されていることを確認する必要があります。
-
LibreswanをCPEとしてホストするソースOCIリージョンから開始します。
- OCIコンソールに移動し、「ネットワーキング」、「仮想クラウド・ネットワーク」に移動してVCNを選択し、「セキュリティ・リスト」をクリックします。
- 「デフォルトのセキュリティ・リスト」を選択します。
- 下へスクロール
-
次のイングレス・セキュリティ・ルールが追加されていることを確認します。
ソース: IPプロトコル ソース・ポート 接続先ポート 0.0.0.0/0 UDP すべて 500 0.0.0.0/0 UDP すべて 4500 -
Libreswan CPEでファイアウォール・ポートを開きます。
-
次のコマンドを実行して、既存の構成済ファイアウォール・ルールを確認します。
[root@cpe ipsec.d]# sudo firewall-cmd --list-all
-
IPSecポートに関連するルールが構成されていないことに注意してください。
-
次のコマンドを実行して、CPEでUDPポート
500
を許可します。[root@cpe ipsec.d]# sudo firewall-cmd --add-port=500/udp
-
次のコマンドを実行して、CPEでUDPポート
4500
を許可します。[root@cpe ipsec.d]# sudo firewall-cmd --add-port=4500/udp
-
次のコマンドを実行して、ファイアウォール・ルールを永続化して、再起動後に保持されるようにします。
[root@cpe ipsec.d]# sudo firewall-cmd --runtime-to-permanent
-
次のコマンドを実行して、既存の構成済ファイアウォール・ルールを確認します。
[root@cpe ipsec.d]# sudo firewall-cmd --list-all
-
IPSecポートに関連するルールが構成されていないことに注意してください。
-
次のコマンドを実行して、Libreswanのファイアウォール・サービスが実行されていることを確認します。
[root@cpe ipsec.d]# systemctl status firewalld
-
ファイアウォール・サービスがアクティブで稼働していることに注意してください。
-
-
次のコマンドを実行して、IPSecサービスを再起動します。
[root@cpe ipsec.d]# service ipsec restart
CPEでのLinuxファイアウォールの無効化
場合によっては(テスト目的で)、Libreswanが実行されているCPEインスタンスのLinuxファイアウォールを完全に無効にすることをお薦めします。これを行うには、次のコマンドを使用します。
[root@cpe ipsec.d]# systemctl disable --now firewalld
次のコマンドを実行して、Libreswanのファイアウォール・サービスが実行されていないことを確認します。
[root@cpe ipsec.d]# systemctl status firewalld
タスク9: IPSecトンネルが両側で稼働しているかどうかのアクティブ化と検証
-
次のコマンドを実行して、両方のトンネルのIPSecステータスを確認します。
[root@cpe ipsec.d]# ipsec status
- 最初のIPSecトンネルの構成とステータスに注意してください。
- 2番目のIPSecトンネルの構成とステータスに注意してください。
- ロードされたIPSecの数は2で、アクティブ数は0です。
-
次のコマンドを実行して、
tunnel1
を追加します。[root@cpe ipsec.d]# ipsec auto --add tunnel1
-
tunnel1
の追加時に端末によって示される出力に注意してください。002 "tunnel1": terminating SAs using this connection 002 "tunnel1" #3: deleting state (STATE_QUICK_I2) aged 3.504567s and sending notification 005 "tunnel1" #3: ESP traffic information: in=0B out=0B 002 "tunnel1" #1: deleting state (STATE_MAIN_I4) aged 3.541172s and sending notification 002 "tunnel1": added IKEv1 connection
-
次のコマンドを実行して、
tunnel1
を起動します。[root@cpe ipsec.d]# ipsec auto --up tunnel1
-
tunnel1
の起動時に端末から出力されることに注意してください。002 "tunnel1" #5: initiating IKEv1 Main Mode connection 102 "tunnel1" #5: sent Main Mode request 104 "tunnel1" #5: sent Main Mode I2 106 "tunnel1" #5: sent Main Mode I3 002 "tunnel1" #5: Peer ID is ID_IPV4_ADDR: '193.122.0.91' 004 "tunnel1" #5: IKE SA established {auth=PRESHARED_KEY cipher=AES_CBC_256 integ=HMAC_SHA2_256 group=MODP1536} 002 "tunnel1" #6: initiating Quick Mode IKEv1+PSK+ENCRYPT+TUNNEL+PFS+UP+IKE_FRAG_ALLOW+ESN_NO+ESN_YES {using isakmp#5 msgid:b6364de1 proposal=AES_CBC_256-HMAC_SHA1_96-MODP1536 pfsgroup=MODP1536} 115 "tunnel1" #6: sent Quick Mode request 002 "tunnel1" #6: up-client output: vti interface "vti1" already exists with conflicting setting (perhaps need vti-sharing=yes ? 002 "tunnel1" #6: prepare-client output: vti interface "vti1" already exists with conflicting setting (perhaps need vti-sharing=yes ? 004 "tunnel1" #6: IPsec SA established tunnel mode {ESPinUDP=>0x5036cdcc <0x33c964f9 xfrm=AES_CBC_256-HMAC_SHA1_96 NATD=193.122.0.91:4500 DPD=passive}
-
次のコマンドを実行して、
tunnel2
を追加します。[root@cpe ipsec.d]# ipsec auto --add tunnel2
-
tunnel2
の追加時に端末によって示される出力に注意してください。002 "tunnel2": terminating SAs using this connection 002 "tunnel2" #4: deleting state (STATE_QUICK_I2) aged 25.694856s and sending notification 005 "tunnel2" #4: ESP traffic information: in=0B out=0B 002 "tunnel2" #2: deleting state (STATE_MAIN_I4) aged 25.731704s and sending notification 002 "tunnel2": added IKEv1 connection
-
次のコマンドを実行して、
tunnel2
を起動します。[root@cpe ipsec.d]# ipsec auto --up tunnel2
-
tunnel2
の起動時に端末から出力されることに注意してください。002 "tunnel2" #7: initiating IKEv1 Main Mode connection 102 "tunnel2" #7: sent Main Mode request 104 "tunnel2" #7: sent Main Mode I2 106 "tunnel2" #7: sent Main Mode I3 002 "tunnel2" #7: Peer ID is ID_IPV4_ADDR: '130.61.66.255' 004 "tunnel2" #7: IKE SA established {auth=PRESHARED_KEY cipher=AES_CBC_256 integ=HMAC_SHA2_256 group=MODP1536} 002 "tunnel2" #8: initiating Quick Mode IKEv1+PSK+ENCRYPT+TUNNEL+PFS+UP+IKE_FRAG_ALLOW+ESN_NO+ESN_YES {using isakmp#7 msgid:aeb4eb18 proposal=AES_CBC_256-HMAC_SHA1_96-MODP1536 pfsgroup=MODP1536} 115 "tunnel2" #8: sent Quick Mode request 002 "tunnel2" #8: up-client output: vti interface "vti2" already exists with conflicting setting (perhaps need vti-sharing=yes ? 002 "tunnel2" #8: prepare-client output: vti interface "vti2" already exists with conflicting setting (perhaps need vti-sharing=yes ? 004 "tunnel2" #8: IPsec SA established tunnel mode {ESPinUDP=>0x8bef7076 <0xe27d84a0 xfrm=AES_CBC_256-HMAC_SHA1_96 NATD=130.61.66.255:4500 DPD=passive} [root@cpe ipsec.d]#
-
次のコマンドを実行して、両方のトンネルのIPSecステータスを確認します。
[root@cpe ipsec.d]# ipsec status
-
アクティブなトンネルが 0から 2になったことに注意してください。
-
OCIコンソールの宛先側に移動し、確認します。
- OCIコンソールに移動し、「ネットワーキング」、「顧客接続」および「サイト間VPN」に移動します。
- VPN接続をクリックします。
-
「トンネル1」と「トンネル2」は、どちらも「使用可能」と「稼働中」です。
-
次の図は、これまでに作成した内容を示しています。
タスク10: 静的ルーティングの構成
-
トンネルが稼働しているため、必要なトラフィックがトンネルを経由してルーティングされていることを確認する必要があります。
-
次のコマンドを実行して、構成されたトンネルインタフェースを確認します。
[root@cpe ipsec.d]# ifconfig
-
vti1がトンネル1を担当することに注意してください。
-
vti2がトンネル2を担当することに注意してください。
-
-
次のコマンドを実行して、vti1およびvti2インタフェースを介して
172.16.0.0/16
ネットワークをルーティングします。[root@cpe ipsec.d]# ip route add 172.16.0.0/16 nexthop dev vti1 weight 1 nexthop dev vti2 weight 1
-
次のコマンドを実行して、ルートが追加されているかどうかを確認します。
[root@cpe ipsec.d]# ip route
-
ルートが追加されることに注意してください。
-
タスク11: ソース・インスタンスおよび宛先インスタンスからの最終Pingの開始
-
ソースから最後のpingを開始します。
-
ソース(CPE)から次のコマンドを実行して、pingがソースOCIリージョンから宛先OCIリージョンに機能しているかどうかを確認します。
[root@cpe ipsec.d]# ping 172.16.1.93 -c 4
-
0%のパケット損失があることに注意してください。
-
-
次の図は、これまでに作成した内容を示しています。
-
宛先から最後のpingを開始します。
-
宛先から次のコマンドを実行して、宛先OCIリージョンからソースOCIリージョン(CPE)へのpingが機能しているかどうかを確認します。
[opc@ih-instance-vcn-a ~]$ ping 10.222.10.70 -c 4
-
0%のパケット損失があることに注意してください。
-
-
次の図は、これまでに作成した内容を示しています。
ソースOCIリージョン上の同じサブネット内の他のインスタンスからトンネルを介してすべてのトラフィックをルーティングする場合は、VCNルート表に静的ルートを追加する必要があります。このルートは、
172.16.0.0/24
宛てのすべてのトラフィックをCPE10.222.10.70
にルーティングします。 -
次の図は、これまでに作成したルート表全体を示しています。
-
プライベートIPアドレス(Libreswan CPE)へのルートを追加するには、まず、インスタンス(Libreswan CPE) vNICでソース/宛先チェックのスキップを有効にする必要があります。
- 「コンピュート」および「インスタンス」に移動します。
- 「CPE」を選択します。
- 下へスクロール
- 「アタッチされたVNIC」をクリックします。
- 3つのドットをクリックします。
- 「VNICの編集」をクリックします。
- 「ソース/宛先チェックのスキップ」を選択します。
- 「変更の保存」をクリックします。
-
ルートを追加します。
- 「ネットワーキング」、「仮想クラウド・ネットワーク」に移動し、VCNを選択して「ルート表」をクリックします。
- 「デフォルト・ルート表」を選択します。
- 「ターゲット・タイプ」が「プライベートIP」、「ターゲット」が
10.222.10.70
(Libreswan CPE)である「宛先」172.16.0.0/16
のルート・ルールを追加します。
-
次のコマンドを実行して、CLIENTのIPアドレスを確認します。
[opc@client ~]$ ip a
-
クライアントのIPアドレスは
10.222.10.19
です。 -
ソース(CLIENT)から次のコマンドを実行して、pingがソースOCIリージョンから宛先OCIリージョンに機能しているかどうかを確認します。
[opc@client ~]$ ping 172.16.1.93 -c 4
-
0%のパケット損失があることに注意してください。
-
次の図は、これまでに作成した内容を示しています。
-
宛先から次のコマンドを実行して、宛先OCIリージョンからソースOCIリージョン(CLIENT)へのpingが機能しているかどうかを確認します。
[opc@ih-instance-vcn-a ~]$ ping 10.222.10.19 -c 4
-
0%のパケット損失があることに注意してください。
-
-
次の図は、これまでに作成した内容を示しています。
タスク12: OCIサイト間VPNステータスの確認
-
VPNトンネルは稼働しており、トラフィックが流れているため、OCIのダッシュボードをトンネルごとに確認できます。
- OCIコンソール、ネットワーキング、顧客接続に移動して、「サイト間VPN」をクリックします。
- VPN接続をクリックします。
-
最初のトンネル構成をクリックします。
-
下へスクロール
- IPSecトンネル状態グラフは、常に1にあり、トンネルが稼働中であることを示しています。
- 下へスクロール
- このトンネルで受信されるパケットは 4であり、これはソースから送信されたpingパケットの数に対応します。
- このトンネルで送信されるパケットは 4で、宛先から送信されるpingパケットの数に対応します。
- ソースから受信したバイト数をメモします。
- 宛先から送信されたバイト数を確認します。
タスク13: 等価コスト・マルチパス(ECMP)ルーティングの有効化
-
デフォルトでは、トラフィックは常に1つのトンネルインタフェース(vti)を使用して送信されます。トラフィック転送に両方のトンネルを使用する場合は、両側でECMPルーティングを有効にする必要があります。
Libreswan CPEで、次のコマンドを実行します。
[root@cpe ipsec.d]# sysctl -w net.ipv4.fib_multipath_hash_policy=1
-
次の図は、これまでに作成した内容を示しています。
-
宛先OCIリージョンから、OCIコンソールに移動し、「ネットワーキング」、「顧客接続」、「動的ルーティング・ゲートウェイ」に移動して、DRG、「DRGルート表の詳細」を選択し、ルーティングを担当するDRGルート表を選択します。
-
「すべてのルート・ルールの取得」をクリックします。
10.222.10.0/24
ネットワークには2つのルートを使用できます。10.222.10.0/24
の1つのルート・ルールは「競合」とマークされ、もう1つは「アクティブ」とマークされます。- 「閉じる」をクリックします。
-
「編集」をクリックします。
- 「ECMPの有効化」を選択します。
- 「変更の保存」をクリックします。
-
「すべてのルート・ルールの取得」をクリックします。
-
10.222.10.0/24
の両方のルート・ルールが「アクティブ」としてマークされるようになりました。 -
次の図は、これまでに作成した内容を示しています。
関連リンク
確認
- 作成者 - Iwan Hoogendoorn (OCIネットワーク・スペシャリスト)
その他の学習リソース
docs.oracle.com/learnで他のラボを確認するか、Oracle Learning YouTubeチャネルで無料のラーニング・コンテンツにアクセスしてください。また、education.oracle.com/learning-explorerにアクセスして、Oracle Learning Explorerになります。
製品ドキュメントについては、Oracle Help Centerを参照してください。
Set up an Oracle Cloud Infrastructure Site-to-Site VPN with Static Routing Between two OCI Regions
G14522-02
Copyright ©2025, Oracle and/or its affiliates.