diff --git a/_pages/hpc.md b/_pages/hpc.md index 547104e20c..ec63079f9f 100644 --- a/_pages/hpc.md +++ b/_pages/hpc.md @@ -363,7 +363,7 @@ HPC/機械学習ワークロードを実行する際に有益なテクニカル - **[サイト間VPNによるOCIとの拠点間接続方法](/ocitutorials/hpc/tech-knowhow/site-to-site-vpn/)** HPC/機械学習ワークロードをオンプレミスからOCIに移行する際、多くのケースでオンプレミスとOCIを拠点間接続する必要が生じます。 - 例えば、有償CAEアプリケーションのライセンスサーバがオンプレミス側に存在し、OCI側で稼働する計算ノードでこのライセンスサーバからライセンスを取得するケースです。 + 例えば、オンプレミス側の有償CAEアプリケーション用ライセンスサーバにOCI側の計算ノードからライセンス取得のためにアクセスするケースや、オンプレミス側の端末からOCI側のログインノードにログインしインタラクティブ処理を行うケースです。 本テクニカルTipsは、 **[サイト間VPN](https://docs.oracle.com/ja-jp/iaas/Content/Network/Tasks/managingIPsec.htm)** を使用してIPSecのトンネルモードでオンプレミスとOCIを拠点間接続し、OCI側プライベートサブネットに接続する計算ノード相当のインスタンスとオンプレミス側プライベートサブネットに接続するライセンスサーバ相当のインスタンスの疎通を可能とするための手順を解説します。 *** diff --git a/tutorials/_basedb/dbcs107-zrcv.md b/tutorials/_basedb/dbcs107-zrcv.md index 02531e89a1..65e5bbd422 100644 --- a/tutorials/_basedb/dbcs107-zrcv.md +++ b/tutorials/_basedb/dbcs107-zrcv.md @@ -102,7 +102,7 @@ Protected Database Count | protected-database-count | 10 | 保護されたデー -|-|-|- 1 | Allow group <グループ名> to manage all-resources in compartment <コンパートメント> | | コンパートメント管理者ポリシー | 2 | Allow service database to manage recovery-service-family in tenancy | Root Compartment | リカバリ・サービス作成に必要なポリシー。OCI Databaseサービスは、コンパートメント内の保護されたデータベース、保護ポリシーおよびリカバリ・サービス・サブネットにアクセスできます。 | - 3 | Allow service database to manage tagnamespace in tenancy | Root Compartment | リカバリ・サービス作成に必要なポリシー。OCI Databaseサービスでテナンシのタグ・ネームスペースにアクセスできます。 | + 3 | Allow service database to manage tag-namespaces in tenancy | Root Compartment | リカバリ・サービス作成に必要なポリシー。OCI Databaseサービスでテナンシのタグ・ネームスペースにアクセスできます。 | 4 | Allow service rcs to manage recovery-service-family in tenancy | Root Compartment | リカバリ・サービス作成に必要なポリシー。リカバリ・サービスが、コンパートメント内の保護されたデータベース、リカバリ・サービス・サブネットおよび保護ポリシーにアクセスして管理できるようにします。 | 5 | Allow service rcs to manage virtual-network-family in tenancy | Root Compartment | リカバリ・サービス作成に必要なポリシー。リカバリ・サービスがコンパートメント内の各データベースVCN内のプライベート・サブネットにアクセスして管理できるようにします。 | 6 | Allow group <グループ名> to manage recovery-service-family in tenancy | Root Compartment | 指定したグループのユーザーがすべてのリカバリ・サービス・リソースにアクセスできるようにします。 | @@ -125,7 +125,7 @@ Protected Database Count | protected-database-count | 10 | 保護されたデー ```sh Allow group <グループ名> to manage all-resources in compartment <コンパートメント> Allow service database to manage recovery-service-family in tenancy -Allow service database to manage tagnamespace in tenancy +Allow service database to manage tag-namespaces in tenancy Allow service rcs to manage recovery-service-family in tenancy Allow service rcs to manage virtual-network-family in tenancy Allow group <グループ名> to manage recovery-service-family in tenancy diff --git a/tutorials/_hpc/tech-knowhow/site-to-site-vpn.md b/tutorials/_hpc/tech-knowhow/site-to-site-vpn.md index 7e379a6f57..90e1837ea4 100644 --- a/tutorials/_hpc/tech-knowhow/site-to-site-vpn.md +++ b/tutorials/_hpc/tech-knowhow/site-to-site-vpn.md @@ -1,6 +1,6 @@ --- title: "サイト間VPNによるOCIとの拠点間接続方法" -excerpt: "HPC/機械学習ワークロードをオンプレミスからOCIに移行する際、多くのケースでオンプレミスとOCIを拠点間接続する必要が生じます。例えば、有償CAEアプリケーションのライセンスサーバがオンプレミス側に存在し、OCI側で稼働する計算ノードでこのライセンスサーバからライセンスを取得するケースです。本テクニカルTipsは、サイト間VPNを使用してIPSecのトンネルモードでオンプレミスとOCIを拠点間接続し、OCI側プライベートサブネットに接続する計算ノード相当のインスタンスとオンプレミス側プライベートサブネットに接続するライセンスサーバ相当のインスタンスの疎通を可能とするための手順を解説します。" +excerpt: "HPC/機械学習ワークロードをオンプレミスからOCIに移行する際、多くのケースでオンプレミスとOCIを拠点間接続する必要が生じます。例えば、オンプレミス側の有償CAEアプリケーション用ライセンスサーバにOCI側の計算ノードからライセンス取得のためにアクセスするケースや、オンプレミス側の端末からOCI側のログインノードにログインしインタラクティブ処理を行うケースです。本テクニカルTipsは、サイト間VPNを使用してIPSecのトンネルモードでオンプレミスとOCIを拠点間接続し、OCI側プライベートサブネットに接続する計算ノード相当のインスタンスとオンプレミス側プライベートサブネットに接続するライセンスサーバ相当のインスタンスの疎通を可能とするための手順を解説します。" order: "362" layout: single header: @@ -14,7 +14,7 @@ table, th, td { HPC/機械学習ワークロードをオンプレミスからOCIに移行する際、多くのケースでオンプレミスとOCIを拠点間接続する必要が生じます。 -例えば、有償CAEアプリケーションのライセンスサーバがオンプレミス側に存在し、OCI側で稼働する計算ノードでこのライセンスサーバからライセンスを取得するケースです。 +例えば、オンプレミス側の有償CAEアプリケーション用ライセンスサーバにOCI側の計算ノードからライセンス取得のためにアクセスするケースや、オンプレミス側の端末からOCI側のログインノードにログインしインタラクティブ処理を行うケースです。 本テクニカルTipsは、 **[サイト間VPN](https://docs.oracle.com/ja-jp/iaas/Content/Network/Tasks/managingIPsec.htm)** を使用してIPSecのトンネルモードでオンプレミスとOCIを拠点間接続し、OCI側プライベートサブネットに接続する計算ノード相当のインスタンスとオンプレミス側プライベートサブネットに接続するライセンスサーバ相当のインスタンスの疎通を可能とするための手順を解説します。 **注意 :** 本コンテンツ内の画面ショットは、現在のOCIコンソール画面と異なっている場合があります。 @@ -22,7 +22,7 @@ HPC/機械学習ワークロードをオンプレミスからOCIに移行する *** # 0. 概要 -**サイト間VPN** は、IPSecのトンネルモードでオンプレミスのネットワークとOCIの **仮想クラウド・ネットワーク** をIP層で拠点間接続するため、以下のような利用形態をシームレスに実現することが可能です。 +**サイト間VPN** は、IPSecのトンネルモードを使用するOCIのマネージドVPN接続サービスで、オンプレミスのネットワークとOCIの **仮想クラウド・ネットワーク** をIP層で拠点間接続するため、以下のような利用形態をセキュアでシームレスに実現することが可能です。 1. OCIで稼働する計算ノードでオンプレミスのライセンスサーバから有償CAEアプリケーションのライセンスを取得する 2. オンプレミスの端末からOCIで稼働するログインノードにログインしインタラクティブ処理を行う @@ -30,101 +30,193 @@ HPC/機械学習ワークロードをオンプレミスからOCIに移行する 4. OCIで稼働するログインノードからシミュレーションの結果ファイルをオンプレミスの端末に転送する また **サイト間VPN** は、サービス自体は無償のサービスでパブリックインターネットを拠点間接続回線に利用するため、OCIからオンプレミスに向けた転送データ量が少ない利用形態 **1.** から **3.** のケースでは、他の有料専用線サービスと比較し、価格を抑えた拠点間接続が可能です。 -また **サイト間VPN** を介する拠点間の通信帯域は、使用するインターネット接続回線に十分な性能がある場合、サービス自体の性能上限として250Mbps程度を期待することが出来ます。(詳細は、 **[ここ](https://blogs.oracle.com/cloud-infrastructure/post/interconnecting-clouds-with-oracle-cloud-infrastructure)** を参照ください。)このため、高い通信帯域を必要としない前述の利用形態 **1.** や **2.** のケースに於いては、パフォーマンス的にも十分な拠点間接続方法であると言えます。 +また **サイト間VPN** を介する拠点間の通信帯域は、使用するインターネット接続回線に十分な余力がある場合、サービス自体の性能上限として250Mbps程度を期待することが出来ます。(詳細は、 **[ここ](https://blogs.oracle.com/cloud-infrastructure/post/interconnecting-clouds-with-oracle-cloud-infrastructure)** を参照ください。)このため、高い通信帯域を必要としない前述の利用形態 **1.** や **2.** のケースに於いては、パフォーマンス的にも十分な拠点間接続方法であると言えます。 -ここでオンプレミス側のVPN接続機器は、どのように用意したらよいでしょうか。 -これには、以下の選択肢があります。 +ここで **サイト間VPN** によるオンプレミスとOCIの拠点間接続は、いくつかの接続形態が用意されており、オンプレミス側の現状や各接続形態の特徴を考慮し、接続作業の第一ステップとしてどの接続形態を採用するかを決定する必要があります。 + +また本テクニカルTipsは、拠点間が想定通り接続されていることを確認するため、オンプレミス側のプライベートネットワークに接続するライセンスサーバ相当のインスタンスとOCI側のプライベートサブネットに接続する計算ノード相当のインスタンス間でpingとSSHによる疎通確認を行います。 + +次章以降では、以下の順に解説を進めます。 + +1. 接続形態の決定 +2. 拠点間接続の作成 +3. ライセンスサーバ・計算ノード間疎通確認 + +*** +# 1. 接続形態の決定 + +## 1-0. 概要 + +本章は、以下の観点からオンプレミスとOCIの拠点間接続形態を決定します。 + +1. オンプレミス側のVPN接続機器に何を使用するか +2. オンプレミス側のVPN接続機器をどのネットワーク(パブリック/プライベート)に接続するか +3. オンプレミスとOCIのルーティング情報交換を静的に行うか動的(BGP)に行うか + +ここで、観点 **1.** と観点 **2.** の組み合わせを考慮すると、以下3種類の接続形態が存在します。 + +![画面ショット](connection_type.png) + +また、この3種類の接続形態に観点 **3.** の選択肢(静的ルーティング / BGP動的ルーティング)が加わり、最終的には以下6種類の接続形態が存在します。 + +- 接続形態1-静的ルーティング +- 接続形態1-BGP動的ルーティング +- 接続形態2-静的ルーティング +- 接続形態2-BGP動的ルーティング +- 接続形態3-静的ルーティング +- 接続形態3-BGP動的ルーティング + +以降では、 **1.** から **3.** の観点を順に考察し、これら6種類から最適な接続形態を選択する方法を解説します。 + +接続形態が確定したら、 **[2. 拠点間接続の作成](#2-拠点間接続の作成)** に進み、各接続形態毎に用意されている手順にしたがい拠点間を接続します。 + +## 1-1. オンプレミス側VPN接続機器の決定 + +本章は、オンプレミス側のVPN接続機器を決定します。 + +**サイト間VPN** と接続するオンプレミス側のVPN接続機器は、以下の選択肢があります。 1. VPNアプライアンス製品(※1)を使用する 2. サーバ上で動作するIPSec実装(※2)/BGP実装を使用する(※3) ※1) **サイト間VPN** サービスで検証された **[ここ](https://docs.oracle.com/ja-jp/iaas/Content/Network/Reference/CPElist.htm)** に記載のVPNアプライアンス製品から選択します。 ※2) **サイト間VPN** サービスで検証された **[Libreswan](https://libreswan.org/)** か **[strongSwan](https://www.strongswan.org/)** から選択します。 -※3)本テクニカルTipsは、サイト間のルーティングに静的ルーティングとBGP動的ルーティングの2通りの方法を紹介し、それぞれで以下のオープンソースのソフトウェア実装を使用します。 +※3)本テクニカルTipsは、それぞれで以下のオープンソースのソフトウェア実装を使用します。 | ルーティング | IPSec実装 | BGP実装 | | :----: | :-----------: | :------------------------------------------: | | 静的 | **Libreswan** | - | | BGP動的 | **Libreswan** | **[FRR(FRRouting)](https://frrouting.org/)** | -このため、オンプレミスで既に **サイト間VPN** サービスで検証されたVPNアプライアンス製品が稼働している場合は選択肢 **1.** を採用し、それ以外であれば選択肢 **2.** が有力な候補となります。 +このため、 **サイト間VPN** サービスで検証されたVPNアプライアンス製品が既にオンプレミスで稼働している場合は選択肢 **1.** を採用し、それ以外であれば選択肢 **2.** を採用します。 + +ここで、選択肢 **1.** を採用すると接続形態1となり、 **[1-3. オンプレミス・OCI間ルーティン情報交換方式の決定](#1-3-オンプレミスoci間ルーティン情報交換方式の決定)** に進みます。 +また選択肢 **2.** を採用する場合は、 **[1-2. オンプレミス側VPN接続機器のネットワーク接続形態の決定](#1-2-オンプレミス側vpn接続機器のネットワーク接続形態の決定)** に進み、接続形態2と接続形態3のどちらを採用するかを判断します。 + +## 1-2. オンプレミス側VPN接続機器のネットワーク接続形態の決定 + +本章は、オンプレミス側VPN接続機器にサーバ上で動作するIPSec/BGP実装を採用した場合、このサーバをどのようにオンプレミスのネットワークに接続するかを決定します。 + +オンプレミス側VPN接続機器は、パブリックサブネットに接続する接続形態2とプライベートサブネットに接続する接続形態3から選択することが可能で、以下の各接続形態の必要条件を自身のオンプレミス環境に照らし合わせて、どちらを採用するか判断します。 + +| 接続形態 | 必要条件 | +| :--: | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| 2 | ・VPN接続機器をパブリックサブネットに接続
・このパブリックサブネットを拠点間通信対象のプライベートサブネットとルーティング
・VPN接続機器に固定パブリックIPアドレスを付与 | +| 3 | ・VPN接続機器をNAT経由IPSecで外部アクセス可能なプライベートサブネットに接続
・このプライベートサブネットを拠点間通信対象のプライベートサブネットとルーティング
・NATのインターネット側パブリックIPアドレスが自明
・NATのインターネット側パブリックIPアドレスが固定 | + +接続形態2と接続形態3のどちらを採用するかを決定したら、 **[1-3. オンプレミス・OCI間ルーティン情報交換方式の決定](#1-3-オンプレミスoci間ルーティン情報交換方式の決定)** に進みます。 + +## 1-3. オンプレミス・OCI間ルーティン情報交換方式の決定 + +本章は、オンプレミスとOCIのルーティング情報交換方式を決定します。 + +この交換方式は、静的ルーティングとBGP動的ルーティングが選択でき、以下の利点・欠点があります。 + +| | 利点 | 欠点 | +| :---: | ------------------------------- | ----------------------------------- | +| 静的 | ・BGP動的と比較して初期構築手順が簡素 | ・オンプレミス側ルーティング情報変更時OCI側の設定変更が必要 | +| BGP
動的 | ・オンプレミス側ルーティング情報変更時OCI側の対応不要 | ・静的と比較して初期構築手順が煩雑 | + +これより、拠点間で通信する必要のあるサブネットが運用中に追加・変更される頻度により、どちらを採用するかを決定します。 + +*** +# 2. 拠点間接続の作成 -本テクニカルTipsは、VPN接続機器に選択肢 **2.** を使用し、これをオンプレミスのネットワークに模したOCIの **仮想クラウド・ネットワーク** (以降"左側サイト"と呼称)に作成、左側サイトとは異なるリージョンに作成する **仮想クラウド・ネットワーク** (以降"右側サイト"と呼称)を **サイト間VPN** で拠点間接続する手順を解説します。 -このため、本テクニカルTipsの左側サイトに関連する構築手順をオンプレミスのネットワークと選択肢 **1.** で採用するVPNアプライアンス製品の該当する手順に置き換えることで、自身の環境に合わせたOCIとの拠点間接続構築手順に応用することが出来ます。 +## 2-0. 概要 -以下は、本テクニカルTipsで想定するシステム構成図です。 +本章は、 **[1. 接続形態の決定](#1-接続形態の決定)** で確定した接続形態毎に用意された手順にしたがい、拠点間接続を作成します。 -![画面ショット](architecture_diagram_st.png) +本テクニカルTipsは、検証に使用できるリソースの制約から、VPN接続機器に選択肢 **2.** のサーバ上で動作するIPSec/BGP実装を使用し、これをオンプレミスのネットワークに模したOCIの **仮想クラウド・ネットワーク** (以降"左側サイト"と呼称)に作成、左側サイトとは異なるリージョンに作成する **仮想クラウド・ネットワーク** (以降"右側サイト"と呼称)を **サイト間VPN** で拠点間接続する手順を解説します。 +このため、本テクニカルTipsの左側サイトに関連する手順をオンプレミスのネットワークに置き換え、またVPN接続機器の選択肢 **2.** に関連する手順を選択肢 **1.** のVPNアプライアンス製品のものに置き換えることで、自身の環境に合わせた拠点間接続構築手順とします。 + +以下は、本テクニカルTipsで想定する各接続形態ごとのシステム構成図です。 + +![画面ショット](archi_diagram_type2_static.png) +
+
+
+![画面ショット](archi_diagram_type2_dynamic.png) +
+
+
+![画面ショット](archi_diagram_type3_static.png)


-![画面ショット](architecture_diagram_dy.png) +![画面ショット](archi_diagram_type3_dynamic.png) 記載されるネットワークアドレス等は、自身の環境のものに読みかえてご利用ください。 -また本テクニカルTipsは、拠点間が想定通り接続されていることを確認するため、左側サイトのプライベートネットワークに接続するライセンスサーバ相当のインスタンスと右側サイトのプライベートサブネットに接続する計算ノード相当のインスタンス間でpingとSSHによる疎通確認を行います。 - 次章以降では、以下の順に解説を進めます。 1. 左側サイト用ネットワーク関連リソース作成 2. 右側サイト用 **仮想クラウド・ネットワーク** と関連リソース作成 -3. Libreswan用インスタンスとその他インスタンス作成 -4. Libreswan用インスタンスセットアップ -5. 拠点間接続関連リソース作成 -6. **Libreswan** ・ **FRR**インストール・セットアップ -7. ライセンスサーバ・計算ノード間疎通確認 - -なお、VPN接続機器にVPNアプライアンス製品を使用する場合は、手順 **3.** のLibreswan用インスタンスの作成と手順 **4.** をスキップし、手順 **6.** を自身のVPNアプライアンス製品の手順に置き換えて実施します。 +3. 疎通確認用インスタンス作成 +4. Libreswan用インスタンス作成・セットアップ +5. 拠点間接続関連OCIリソース作成 +6. IPSec接続作成 +7. VPN接続機器セットアップ -**サイト間VPN** サービスで検証されたVPNアプライアンス製品での接続手順は、以下の情報が参考になります。 +なお接続形態1を採用する場合は、手順 **4.** をスキップします。 -- **[CPE構成ヘルパー](https://docs.oracle.com/ja-jp/iaas/Content/Network/Tasks/CPEconfigurationhelper.htm)** -VPNアプライアンス製品を構成するために必要な、手順 **5.** で作成したOCI関連リソース情報をOCIコンソールから収集するヘルパーツールです。利用方法は、 **[CPE構成ヘルパー利用方法](#cpe構成ヘルパー利用方法)** を参照してください。 -- 各VPNアプライアンス製品毎に用意されているOCIドキュメント -**[ここ](https://docs.oracle.com/ja-jp/iaas/Content/Network/Reference/CPElist.htm)** の該当するVPNアプライアンス製品の構成列とビデオ列の情報を参照してください。 - -*** -# 1. 左側サイト用ネットワーク関連リソース作成 +## 2-1. 左側サイト用ネットワーク関連リソース作成 本章は、以下の左側サイト用ネットワーク関連リソースを作成します。 -ここで本テクニカルTipsの左側サイトのネットワーク関連リソースは、右側サイトと同一テナンシーの異なるリージョンに作成する **仮想クラウド・ネットワーク** と関連するリソースでこれを模しており、適宜オンプレミスのネットワークとこれを構成するネットワーク機器での手順に置き換えて作成してください。 +ここで本テクニカルTipsの左側サイトのネットワーク関連リソースは、右側サイトと同一テナンシーの異なるリージョンに作成する **仮想クラウド・ネットワーク** と関連するリソースでこれを模しており、適宜オンプレミスのネットワークでの手順に置き換えて作成してください。 1. **仮想クラウド・ネットワーク** (192.168.0.0/16) -2. パブリックサブネット(192.168.1.0/24) -3. プライベートサブネット(192.168.2.0/24) -4. **インターネット・ゲートウェイ** -5. パブリックサブネット用 **ルート表** +2. パブリックサブネット(192.168.1.0/24)(接続形態2) +3. プライベートサブネット1-3(192.168.2-4.0/24) +4. **インターネット・ゲートウェイ** (接続形態2) / **NATゲートウェイ** (接続形態3) +5. パブリックサブネット用 **ルート表** (接続形態1・2) 6. プライベートサブネット用 **ルート表** -7. パブリックサブネット用 **セキュリティ・リスト** +7. パブリックサブネット用 **セキュリティ・リスト** (接続形態1・2) 8. プライベートサブネット用 **セキュリティ・リスト** -**ルート表** に含める **ルート・ルール** は、下表のとおりです。 +**ルート表** に含める **ルート・ルール** と **セキュリティ・リスト** は、下表のとおりです。 -| 対象サブネット | Destination | Gateway | Purpose | -| :-----: | :---------: | :----------------: | ------------------------ | -| パブリック | 0.0.0.0/0 | **インターネット・ゲートウェイ** | 右側サイトとのトラフィック | -| プライベート | 10.0.0.0/16 | 192.168.1.42 (※4) | 右側サイトプライベートサブネットとのトラフィック | +[接続形態1・2] -※4)Libreswan用インスタンスのパブリックサブネット接続プライベートIPアドレスです。**[3. Libreswan用インスタンスとその他インスタンス作成](#3-libreswan用インスタンスとその他インスタンス作成)** を実施してIPアドレスを確定、 **[4. Libreswan用インスタンスセットアップ](#4-libreswan用インスタンスセットアップ)** のステップ **1.** を実施後、この **ルート・ルール** を作成します。 +| 対象サブネット | Destination | Gateway | Purpose | +| :-------: | :---------: | :----------------: | ------------------------ | +| パブリック | 0.0.0.0/0 | **インターネット・ゲートウェイ** | 右側サイトとのトラフィック | +| プライベート2・3 | 10.0.0.0/16 | 192.168.1.42 (※4) | 右側サイトとのトラフィック | -また **セキュリティ・リスト** は、下表のとおりです。 +| 対象サブネット | Direction | Source/
Destination | Protocol | Stateless | Purpose | +| :-------: | :-------: | :--------------------: | :------: | :--------: | ----------------------------------------------- | +| パブリック | Ingress | 192.168.0.0/16 | All | No | 左側サイトからのアクセス | +| | Egress | 0.0.0.0/0 | All | No
(※5) | 左側サイトへのアクセス
右側サイトへのアクセス | +| プライベート2・3 | Ingress | 192.168.0.0/16 | All | No | 左側サイトからのアクセス | +| | Ingress | 10.0.0.0/16 | All | No | 右側サイトからのアクセス | +| | Egress | 0.0.0.0/0 | All | No | 左側サイトへのアクセス
右側サイトへのサクセス | -| 対象サブネット | Direction | Source/
Destination | Protocol | Stateless | Purpose | -| :-----: | :-------: | :--------------------: | :------: | :--------: | ----------------------------------------------- | -| パブリック | Ingress | 192.168.0.0/16 | All | No | 左側サイトプライベートサブネットからのアクセス | -| | Egress | 0.0.0.0/0 | All | No
(※5) | 左側サイトプライベートサブネットへのアクセス
右側サイトへのアクセス | -| プライベート | Ingress | 192.168.0.0/16 | ALL | No | 左側サイトパブリックサブネットからのアクセス | -| | Ingress | 10.0.0.0/16 | All | No | 右側サイトプライベートサブネットからのアクセス | -| | Egress | 0.0.0.0/0 | All | No | 左側サイトパブリックサブネットへのアクセス
右側サイトプライベートサブネットへのサクセス | +※4)VPN接続機器のプライベートIPアドレスです。接続形態2の場合は、 **[2-4. Libreswan用インスタンス作成・セットアップ](#2-4-libreswan用インスタンス作成セットアップ)** でインスタンスを作成してIPアドレスを確定した後ステップ **1.** を実施し、この **ルート・ルール** を作成します。 +※5)**IPSec接続** 作成時VPN接続機器が **ステートフル・エグレス** ルールで右側サイトからのアクセスを受け入れるために必要です。 -※5)**IPSec接続** 作成時 **Libreswan** が **ステートフル・エグレス** ルールで右側サイトからのアクセスを受け入れるために必要です。 +[接続形態3] -*** -# 2. 右側サイト用仮想クラウド・ネットワークと関連リソース作成 +| 対象サブネット | Destination | Gateway | Purpose | +| :-----: | :---------: | :----------------: | ------------------------ | +| プライベート1 | 0.0.0.0/0 | **NATゲートウェイ** | 右側サイトとのトラフィック | +| プライベート2・3 | 10.0.0.0/16 | 192.168.2.42 (※6) | 右側サイトとのトラフィック | + +| 対象サブネット | Direction | Source/
Destination | Protocol | Stateless | Purpose | +| :-------: | :-------: | :--------------------: | :------: | :--------: | ----------------------------------------------- | +| プライベート1 | Ingress | 192.168.0.0/16 | All | No | 左側サイトからのアクセス | +| | Egress | 0.0.0.0/0 | All | No
(※7) | 左側サイトへのアクセス
右側サイトへのアクセス | +| プライベート2・3 | Ingress | 192.168.0.0/16 | All | No | 左側サイトからのアクセス | +| | Ingress | 10.0.0.0/16 | All | No | 右側サイトからのアクセス | +| | Egress | 0.0.0.0/0 | All | No | 左側サイトへのアクセス
右側サイトへのサクセス | + +※6)Libreswan用インスタンスのプライベートIPアドレスです。 **[2-4. Libreswan用インスタンス作成・セットアップ](#2-4-libreswan用インスタンス作成セットアップ)** でインスタンスを作成してIPアドレスを確定した後ステップ **1.** を実施し、この **ルート・ルール** を作成します。 +※7)**IPSec接続** 作成時 **Libreswan** が **ステートフル・エグレス** ルールで右側サイトからのアクセスを受け入れるために必要です。 -本章は、以下の右側サイト用 **仮想クラウド・ネットワーク** と関連リソースを作成します。 +## 2-2. 右側サイト用仮想クラウド・ネットワークと関連リソース作成 -1. **仮想クラウド・ネットワーク** (10.0.0.0/16) +本章は、以下の右側サイト用 **仮想クラウド・ネットワーク** と関連リソースを作成します。 +本テクニカルTipsで使用しているCIDRレンジやIPアドレスは、自身の環境にあわせて読みかえてください。 + +1. **仮想クラウド・ネットワーク** (10.0.0.0/16(※8)) 2. パブリックサブネット(10.0.1.0/24) 3. プライベートサブネット(10.0.2.0/24) 4. **インターネット・ゲートウェイ** @@ -134,58 +226,58 @@ VPNアプライアンス製品を構成するために必要な、手順 **5.** 8. パブリックサブネット用 **セキュリティ・リスト** 9. プライベートサブネット用 **セキュリティ・リスト** -**ルート表** に含める **ルート・ルール** は、下表のとおりです。 +※8)左側サイトのサブネットと重複が無いCIDRレンジを選定します。 + +**ルート表** に含める **ルート・ルール** と **セキュリティ・リスト** は、下表のとおりです。 | 対象サブネット | Destination | Gateway | Purpose | | :-----: | :------------: | :----------------: | ------------------------ | | パブリック | 0.0.0.0/0 | **インターネット・ゲートウェイ** | インターネットとのトラフィック | | プライベート | 0.0.0.0/0 | **NATゲートウェイ** | インターネットとのトラフィック | -| | 192.168.0.0/16 | **動的ルーティング・ゲートウェイ**
(※6) | 左側サイトプライベートサブネットとのトラフィック | - -※6)**[5-1. 動的ルーティング・ゲートウェイ作成](#5-1-動的ルーティングゲートウェイ作成)** で **動的ルーティング・ゲートウェイ** を作成後、この **ルート・ルール** を追加します。 - -また **セキュリティ・リスト** は、下表のとおりです。 +| | 192.168.0.0/16 | **動的ルーティング・ゲートウェイ**
(※9) | 左側サイトとのトラフィック | | 対象サブネット | Direction | Source/
Destination | Protocol | Stateless | Purpose | | :-----------: | :---------: | :------------------: | :--------: | :---------: | ----------------------------------------------- | -| パブリック | Ingress | 10.0.0.0/16 | All | No | 右側サイトプライベートサブネットからのアクセス | +| パブリック | Ingress | 10.0.0.0/16 | All | No | 右側サイトからのアクセス | | | Ingress | 0.0.0.0/0 | TCP:22 | No | インターネットからのSSHアクセス | -| | Egress | 0.0.0.0/0 | All | No | 右側サイトプライベートサブネットへのアクセス
インターネットへのアクセス | -| プライベート | Ingress | 10.0.0.0/16 | All | No | 右側サイトパブリックサブネットからのアクセス | -| | Ingress | 192.168.0.0/16 | All | No | 左側サイトプライベートサブネットからのアクセス | -| | Egress | 0.0.0.0/0 | All | No | 右側サイトパブリックサブネットへのアクセス
左側サイトプライベートサブネットへのサクセス | +| | Egress | 0.0.0.0/0 | All | No | 右側サイトへのアクセス
インターネットへのアクセス | +| プライベート | Ingress | 10.0.0.0/16 | All | No | 右側サイトからのアクセス | +| | Ingress | 192.168.0.0/16 | All | No | 左側サイトからのアクセス | +| | Egress | 0.0.0.0/0 | All | No | 右側サイトへのアクセス
左側サイトへのサクセス | -これらのリソース作成方法は、 **[OCIチュートリアル](https://oracle-japan.github.io/ocitutorials/)** の **[その2 - クラウドに仮想ネットワーク(VCN)を作る](https://oracle-japan.github.io/ocitutorials/beginners/creating-vcn)** を参照してください。 +※9)**[2-5-1. 動的ルーティング・ゲートウェイ作成](#2-5-1-動的ルーティングゲートウェイ作成)** で **動的ルーティング・ゲートウェイ** を作成後、この **ルート・ルール** を追加します。 -*** -# 3. Libreswan用インスタンスとその他インスタンス作成 +これらのリソース作成方法は、 **[OCIチュートリアル](https://oracle-japan.github.io/ocitutorials/)** の **[その2 - クラウドに仮想ネットワーク(VCN)を作る](https://oracle-japan.github.io/ocitutorials/beginners/creating-vcn)** を参照してください。 -本章は、拠点間接続を実現・検証するために必要な下表の4インスタンスを作成します。 +## 2-3. 疎通確認用インスタンス作成 +本章は、拠点間接続の疎通確認に使用する下表のインスタンスを作成します。 | インスタンス | 用途 | 作成するサイト | 接続するサブネット | firewalld停止 | | :-------: | :----------------: | :-------: | :-------: | :---------: | -| Libreswan | Libreswan稼働用 | 左側 | パブリック | 未適用 | -| lic-srv | オンプレミスライセンスサーバ相当 | 左側 | プライベート | 適用 | -| Bastion | Computeインスタンスへの踏み台 | 右側 | パブリック | 未適用 | -| Compute | 計算ノード相当 | 右側 | プライベート | 適用 | +| lic-srv | ライセンスサーバ相当 | 左側 | プライベート | 適用 | +| bastion | computeインスタンスへの踏み台 | 右側 | パブリック | 未適用 | +| compute | 計算ノード相当 | 右側 | プライベート | 適用 | これらインスタンスの作成方法は、 **[OCIチュートリアル](https://oracle-japan.github.io/ocitutorials/)** の **[その3 - インスタンスを作成する](https://oracle-japan.github.io/ocitutorials/beginners/creating-compute-instance)** を参照してください。 -本テクニカルTipsでは、これらのインスタンスにOSを **Oracle Linux** 8.9とする任意の **仮想マシン・インスタンス** を使用します。 +本テクニカルTipsでは、これらのインスタンスにOSを **Oracle Linux** とする任意の **仮想マシン・インスタンス** を使用します。 この際、後の疎通確認を行うため、表中に記載の該当するインスタンスでfirewalldサービスを停止します。 -*** -# 4. Libreswan用インスタンスセットアップ +## 2-4. Libreswan用インスタンス作成・セットアップ + +本章は、Libreswan用インスタンスを作成し、作成したインスタンスにVPN接続装置として機能させるために必要なセットアップ作業を行います。 +なお接続形態1を採用する場合は、本章の手順をスキップします。 -本章は、Libreswan用インスタンスをVPN接続装置として機能させるために必要なセットアップ作業を行います。 -具体的には、以下の手順を実施します。 +本テクニカルTipsでは、作成するインスタンスにOSを **Oracle Linux** 8.9とする任意の **仮想マシン・インスタンス** を使用します。 +インスタンス作成後、以下の手順を実施します。 -- ソース/宛先チェックのスキップ(※7) +- ソース/宛先チェックのスキップ(※10) - パケット転送を許可するためのカーネルパラメータ設定追加 -- 拠点間接続で接続する右側サイトのサブネットアドレスからのアクセスをfirewalldに許可 +- 接続する右側サイトのサブネットアドレスからのアクセスをfirewalldに許可(※11) -※7)デフォルトで許可されていない **VNIC** のパケット転送設定を変更し、これを許可します。 +※10)デフォルトで許可されていない **VNIC** のパケット転送設定を変更し、これを許可します。なおこの手順は、OCIのインスタンスでの手順のため、オンプレミスで使用するサーバでの手順に置き換えて実施します。 +※11)接続形態3でプライベートサブネット接続であることを理由に、firewalldを停止することでも代用可能です。 1. ソース/宛先チェックのスキップ OCIコンソールにログインし、Libreswan用インスタンスの **インスタンスの詳細** 画面左側の **アタッチされたVNIC** メニューをクリックし、表示される以下 **アタッチされたVNIC** 画面の **プライマリVNIC** の **VNICの編集** メニューをクリックします。 @@ -197,7 +289,8 @@ OCIコンソールにログインし、Libreswan用インスタンスの **イ ![画面ショット](console_page02.png) 2. パケット転送を許可するためのカーネルパラメータ設定追加 -Libreswan用インスタンスで **/etc/sysctl.conf** に以下の行を追加します。 +Libreswan用インスタンスで **/etc/sysctl.conf** に以下の行を追加します。 +なお、設定ファイル中のネットワークインターフェース名(ens3)は、実際のインターフェース名に置き換えます。 ```sh $ diff /etc/sysctl.conf_org /etc/sysctl.conf @@ -222,7 +315,7 @@ Libreswan用インスタンスで **/etc/sysctl.conf** に以下の行を追加 $ sudo sysctl -p ``` -3. 拠点間接続で接続する右側サイトのサブネットアドレスからのアクセスをfirewalldに許可 +3. 接続する右側サイトのサブネットアドレスからのアクセスをfirewalldに許可 Libreswan用インスタンスのopcユーザで以下コマンドを実行し、拠点間接続で接続する右側サイトのサブネットアドレス(ここではプライベートサブネットの **10.0.2.0/24**)からのアクセスをfirewalldに許可し、その設定を確認します。 ```sh @@ -250,20 +343,17 @@ Libreswan用インスタンスのopcユーザで以下コマンドを実行し $ ``` -*** -# 5. 拠点間接続関連リソース作成 +## 2-5. 拠点間接続関連OCIリソース作成 -## 5-0. 概要 +### 2-5-0. 概要 -本章は、以下の拠点間接続関連リソースを右側サイトに作成します。 -なお **IPSec接続** は、静的ルーティングとBGP動的ルーティングの2種類の作成手順を記載していますので、自身の環境に応じて選択して実施します。 +本章は、以下の拠点間接続に関連するOCIリソースを右側サイトに作成します。 - **動的ルーティング・ゲートウェイ** - **仮想クラウド・ネットワーク・アタッチメント** - **顧客構内機器** (CPE) -- **IPSec接続** -## 5-1. 動的ルーティング・ゲートウェイ作成 +### 2-5-1. 動的ルーティング・ゲートウェイ作成 本章は、 **動的ルーティング・ゲートウェイ** を作成します。 @@ -283,9 +373,9 @@ Libreswan用インスタンスのopcユーザで以下コマンドを実行し ![画面ショット](console_page06.png) -5. 作成した **動的ルーティング・ゲートウェイ** は、 **[2. 右側サイト用仮想クラウド・ネットワークと関連リソース作成](#2-右側サイト用仮想クラウドネットワークと関連リソース作成)** で作成したプライベートサブネット用 **ルート表** のGatewayとし、この **ルート・ルール** を作成します。 +5. 作成した **動的ルーティング・ゲートウェイ** は、 **[2-2. 右側サイト用仮想クラウド・ネットワークと関連リソース作成](#2-2-右側サイト用仮想クラウドネットワークと関連リソース作成)** で作成したプライベートサブネット用 **ルート表** のGatewayとし、この **ルート・ルール** を作成します。 -## 5-2. 仮想クラウド・ネットワーク・アタッチメント作成 +### 2-5-2. 仮想クラウド・ネットワーク・アタッチメント作成 本章は、先に作成した **動的ルーティング・ゲートウェイ** を **仮想クラウド・ネットワーク** に接続する、 **仮想クラウド・ネットワーク・アタッチメント** 作成します。 @@ -297,7 +387,7 @@ Libreswan用インスタンスのopcユーザで以下コマンドを実行し ![画面ショット](console_page08.png) -## 5-3. 顧客構内機器作成 +### 2-5-3. 顧客構内機器作成 本章は、 **顧客構内機器** を作成します。 @@ -317,25 +407,33 @@ Libreswan用インスタンスのopcユーザで以下コマンドを実行し なお、ここに記載のないフィールドは、デフォルトのままとします。 - **名前** :**顧客構内機器** に付与する名前 - - **IPアドレス** :Libreswan用インスタンスに付与されたグローバルIPアドレス(※8) - - **ベンダー** :**Libreswan**(※9) - - **プラットフォームバージョン** :**3.18 or later**(※9) + - **IPアドレス** :左側サイトがIPSec接続に使用するパブリックIPアドレス(※12) + - **ベンダー** :**Libreswan**(※13) + - **プラットフォームバージョン** :**3.18 or later**(※13) - ※8)VPNアプライアンス製品を利用する場合は、VPN接続機器のグローバルIPアドレスを指定します。 - ※9)VPNアプライアンス製品を利用する場合は、利用する機器に合わせて選択します。 + ※12)接続形態1と接続形態2の場合はVPN接続機器に割り当てられるパブリックIPアドレス、接続形態3の場合はNATに割り当てられるパブリックIPアドレスを指定します。 + ※13)接続形態1の場合は、利用するVPNアプライアンス製品に合わせて選択します。 ![画面ショット](console_page11.png) -## 5-4. IPSec接続作成 +## 2-6. IPSec接続作成 -## 5-4-0. 概要 +### 2-6-0. 概要 本章は、 **IPSec接続** を作成します。 -自身の環境に合わせて、静的ルーティングの手順とBGP動的ルーティングの手順から選択して実施します。 -## 5-4-1. 静的ルーティングの場合 +**IPSec接続** の作成手順は、接続形態3かそれ以外で異なり、また静的ルーティングかBGP動的ルーティングかで異なるため、自身の選択した接続形態に合わせて下表から実施する手順を決定します。 + +| パターン | 接続形態 | ルーティング | +| :--: | :---: | :----: | +| 1 | 1または2 | 静的 | +| 2 | | BGP動的 | +| 3 | 3 | 静的 | +| 4 | | BGP動的 | -本章は、静的ルーティング用の **IPSec接続** を作成します。 +### 2-6-1. パターン1の場合 + +本章は、接続形態1または接続形態2の静的ルーティング用 **IPSec接続** を作成します。 1. OCIコンソールにログインし、右側サイトをデプロイする **リージョン** を選択後、 **ネットワーキング** → **仮想クラウド・ネットワーク** とメニューを辿り、表示される以下画面で **顧客接続性** メニューをクリックします。 @@ -355,19 +453,19 @@ Libreswan用インスタンスのopcユーザで以下コマンドを実行し - **名前** :**IPSec接続** に付与する名前 - **顧客構内機器** :先に作成した **顧客構内機器** - **動的ルーティング・ゲートウェイ** :先に作成した **動的ルーティング・ゲートウェイ** - - **オンプレミス・ネットワークへのルート** :**192.168.2.0/24**(※10) + - **オンプレミス・ネットワークへのルート** :**192.168.3.0/24**(※14) - **トンネル1** の **ルーティング・タイプ** :**静的ルーティング** - **トンネル2** の **ルーティング・タイプ** :**静的ルーティング** - ※10)作成する **IPSec接続** を介して通信する左側サイトのサブネット(ここではプライベートサブネットの **192.168.2.0/24**)を指定します。 + ※14)作成する **IPSec接続** を介して通信する左側サイトのサブネット(ここではプライベートサブネットの **192.168.3.0/24**)を指定します。複数のサブネットを指定することが可能です。 ![画面ショット](console_page14.png) ![画面ショット](console_page15.png) ![画面ショット](console_page16.png) 5. 表示される以下画面の **トンネル** フィールドで、 **名前** 列の末尾が1と2になっているトンネル1とトンネル2が作成され、 **ライフサイクル状態** 列が何れも **使用可能** で **IPSecステータス** 列が何れも **停止** となることを確認します。 -この **IPSecステータス** 列は、 **[6-1. Libreswanインストール・セットアップ](#6-1-libreswanインストールセットアップ)** の手順が完了すると、 **稼働中** になります。 -また、 **Oracle VPN IPアドレス** 列の各トンネルのグローバルIPアドレスを後の手順のために記録します。 +この **IPSecステータス** 列は、 **[2-7. VPN接続機器セットアップ](#2-7-vpn接続機器セットアップ)** の手順が完了すると、 **稼働中** になります。 +また、 **Oracle VPN IPアドレス** 列の各トンネルのパブリックIPアドレスを後の手順のために記録します。 ![画面ショット](console_page17.png) @@ -377,9 +475,9 @@ Libreswan用インスタンスのopcユーザで以下コマンドを実行し 7. 同様に、トンネル2の共有シークレットを記録します。 -## 5-4-2. BGP動的ルーティングの場合 +### 2-6-2. パターン2の場合 -本章は、BGP動的ルーティング用の **IPSec接続** を作成します。 +本章は、接続形態1または接続形態2のBGP動的ルーティング用 **IPSec接続** を作成します。 1. OCIコンソールにログインし、右側サイトをデプロイする **リージョン** を選択後、 **ネットワーキング** → **仮想クラウド・ネットワーク** とメニューを辿り、表示される以下画面で **顧客接続性** メニューをクリックします。 @@ -399,16 +497,16 @@ Libreswan用インスタンスのopcユーザで以下コマンドを実行し - **名前** :**IPSec接続** に付与する名前 - **顧客構内機器** :先に作成した **顧客構内機器** - **動的ルーティング・ゲートウェイ** :先に作成した **動的ルーティング・ゲートウェイ** - - **トンネル1** の **BGP ASN** :左側サイトのAS番号(※11) - - **トンネル1** の **IPv4トンネル内インタフェース - CPE** : **IPSec接続** のトンネル1内のBGPピア接続に使用する **CPE** 側のIPアドレス(※12) - - **トンネル1** の **IPv4トンネル内インタフェース - Oracle** : **IPSec接続** のトンネル1内のBGPピア接続に使用する **動的ルーティング・ゲートウェイ** 側のIPアドレス(※12) - - **トンネル2** の **BGP ASN** :左側サイトのAS番号(※11) - - **トンネル2** の **IPv4トンネル内インタフェース - CPE** : **IPSec接続** のトンネル2内のBGPピア接続に使用する **CPE** 側のIPアドレス(※13) - - **トンネル2** の **IPv4トンネル内インタフェース - Oracle** : **IPSec接続** のトンネル2内のBGPピア接続に使用する **動的ルーティング・ゲートウェイ** 側のIPアドレス(※13) + - **トンネル1** の **BGP ASN** :左側サイトのAS番号(※15) + - **トンネル1** の **IPv4トンネル内インタフェース - CPE** : **IPSec接続** のトンネル1内のBGPピア接続に使用する **CPE** 側のIPアドレス(※16) + - **トンネル1** の **IPv4トンネル内インタフェース - Oracle** : **IPSec接続** のトンネル1内のBGPピア接続に使用する **動的ルーティング・ゲートウェイ** 側のIPアドレス(※16) + - **トンネル2** の **BGP ASN** :左側サイトのAS番号(※15) + - **トンネル2** の **IPv4トンネル内インタフェース - CPE** : **IPSec接続** のトンネル2内のBGPピア接続に使用する **CPE** 側のIPアドレス(※17) + - **トンネル2** の **IPv4トンネル内インタフェース - Oracle** : **IPSec接続** のトンネル2内のBGPピア接続に使用する **動的ルーティング・ゲートウェイ** 側のIPアドレス(※17) - ※11)本テクニカルTipsでは、プライベートAS番号である **65000** を使用しますが、自身の環境に合わせて変更します。 - ※12)30ビットか31ビットのサブネットマスクを持つ同一セグメント内の任意のIPアドレスが使用できますが、特に理由が無ければ以下を指定します。 - ※13)30ビットか31ビットのサブネットマスクを持つ同一セグメント内の任意のIPアドレスが使用できますが、特に理由が無ければ以下を指定します。 + ※15)本テクニカルTipsでは、プライベートAS番号である **65000** を使用しますが、自身の環境に合わせて変更します。 + ※16)30ビットか31ビットのサブネットマスクを持つ同一セグメント内の任意のIPアドレスが使用できますが、特に理由が無ければ以下を指定します。 + ※17)30ビットか31ビットのサブネットマスクを持つ同一セグメント内の任意のIPアドレスが使用できますが、特に理由が無ければ以下を指定します。 | トンネル | CPE側IPアドレス | 動的ルーティング・ゲートウェイ側
IPアドレス | | :--: | :--------------: | :--------------------------: | @@ -422,8 +520,8 @@ Libreswan用インスタンスのopcユーザで以下コマンドを実行し ![画面ショット](console_page16-3.png) 5. 表示される以下画面の **トンネル** フィールドで、 **名前** 列の末尾が1と2になっているトンネル1とトンネル2が作成され、 **ライフサイクル状態** 列が何れも **使用可能** 、 **IPSecステータス** 列が何れも **停止** 、及び **IPv4 BGPステータス** 列が何れも **稼働中** となることを確認します。 -この **IPSecステータス** 列は、 **[6-1. Libreswanインストール・セットアップ](#6-1-libreswanインストールセットアップ)** の手順が完了すると、 **稼働中** になります。 -また、 **Oracle VPN IPアドレス** 列の各トンネルのグローバルIPアドレスを後の手順のために記録します。 +この **IPSecステータス** 列は、 **[2-7. VPN接続機器セットアップ](#2-7-vpn接続機器セットアップ)** の手順が完了すると、 **稼働中** になります。 +また、 **Oracle VPN IPアドレス** 列の各トンネルのパブリックIPアドレスを後の手順のために記録します。 ![画面ショット](console_page17-2.png) @@ -433,20 +531,142 @@ Libreswan用インスタンスのopcユーザで以下コマンドを実行し 7. 同様に、トンネル2の共有シークレットを記録します。 -*** -# 6. Libreswan・FRRインストール・セットアップ -## 6-0. 概要 +### 2-6-3. パターン3の場合 + +本章は、接続形態3の静的ルーティング用 **IPSec接続** を作成します。 + +1. OCIコンソールにログインし、右側サイトをデプロイする **リージョン** を選択後、 **ネットワーキング** → **仮想クラウド・ネットワーク** とメニューを辿り、表示される以下画面で **顧客接続性** メニューをクリックします。 + + ![画面ショット](console_page03.png) + +2. 表示される以下 **顧客接続性** 画面で、 **サイト間VPN** メニューをクリックします。 + + ![画面ショット](console_page12.png) + +3. 表示される以下 **サイト間VPN** 画面で、 **IPSec接続の作成** ボタンをクリックします。 + + ![画面ショット](console_page13.png) + +4. 表示される以下 **IPSec接続の作成** サイドバーで、以下の情報を入力し **IPSec接続の作成** ボタンをクリックします。 +なお、ここに記載のないフィールドは、デフォルトのままとします。 + + - **名前** :**IPSec接続** に付与する名前 + - **顧客構内機器** :先に作成した **顧客構内機器** + - **このCPEはNATデバイスの背後にあります** :チェック + - **CPE IKE識別子** :LibreswanインスタンスのプライベートIPアドレス + - **動的ルーティング・ゲートウェイ** :先に作成した **動的ルーティング・ゲートウェイ** + - **オンプレミス・ネットワークへのルート** :**192.168.3.0/24**(※18) + - **トンネル1** の **ルーティング・タイプ** :**静的ルーティング** + - **トンネル2** の **ルーティング・タイプ** :**静的ルーティング** + + ※18)作成する **IPSec接続** を介して通信する左側サイトのサブネット(ここではプライベートサブネットの **192.168.3.0/24**)を指定します。複数のサブネットを指定することが可能です。 + + ![画面ショット](console_page14-3.png) + ![画面ショット](console_page14-4.png) + ![画面ショット](console_page15.png) + ![画面ショット](console_page16.png) + +5. 表示される以下画面の **トンネル** フィールドで、 **名前** 列の末尾が1と2になっているトンネル1とトンネル2が作成され、 **ライフサイクル状態** 列が何れも **使用可能** で **IPSecステータス** 列が何れも **停止** となることを確認します。 +この **IPSecステータス** 列は、 **[2-7. VPN接続機器セットアップ](#2-7-vpn接続機器セットアップ)** の手順が完了すると、 **稼働中** になります。 +また、 **Oracle VPN IPアドレス** 列の各トンネルのパブリックIPアドレスを後の手順のために記録します。 + + ![画面ショット](console_page17.png) + +6. 前の画面の **名前** 列のトンネル1をクリックし、表示される以下画面の **トンネル情報** タブの **共有シークレット** フィールドの **表示** ボタンをクリックし、表示されるトンネル1の共有シークレットを記録します。 + + ![画面ショット](console_page18.png) + +7. 同様に、トンネル2の共有シークレットを記録します。 + +### 2-6-4. パターン4の場合 + +本章は、接続形態3のBGP動的ルーティング用 **IPSec接続** を作成します。 + +1. OCIコンソールにログインし、右側サイトをデプロイする **リージョン** を選択後、 **ネットワーキング** → **仮想クラウド・ネットワーク** とメニューを辿り、表示される以下画面で **顧客接続性** メニューをクリックします。 + + ![画面ショット](console_page03.png) + +2. 表示される以下 **顧客接続性** 画面で、 **サイト間VPN** メニューをクリックします。 + + ![画面ショット](console_page12.png) + +3. 表示される以下 **サイト間VPN** 画面で、 **IPSec接続の作成** ボタンをクリックします。 + + ![画面ショット](console_page13.png) + +4. 表示される以下 **IPSec接続の作成** サイドバーで、以下の情報を入力し **IPSec接続の作成** ボタンをクリックします。 +なお、ここに記載のないフィールドは、デフォルトのままとします。 + + - **名前** :**IPSec接続** に付与する名前 + - **顧客構内機器** :先に作成した **顧客構内機器** + - **このCPEはNATデバイスの背後にあります** :チェック + - **CPE IKE識別子** :LibreswanインスタンスのプライベートIPアドレス + - **動的ルーティング・ゲートウェイ** :先に作成した **動的ルーティング・ゲートウェイ** + - **トンネル1** の **BGP ASN** :左側サイトのAS番号(※19) + - **トンネル1** の **IPv4トンネル内インタフェース - CPE** : **IPSec接続** のトンネル1内のBGPピア接続に使用する **CPE** 側のIPアドレス(※20) + - **トンネル1** の **IPv4トンネル内インタフェース - Oracle** : **IPSec接続** のトンネル1内のBGPピア接続に使用する **動的ルーティング・ゲートウェイ** 側のIPアドレス(※20) + - **トンネル2** の **BGP ASN** :左側サイトのAS番号(※19) + - **トンネル2** の **IPv4トンネル内インタフェース - CPE** : **IPSec接続** のトンネル2内のBGPピア接続に使用する **CPE** 側のIPアドレス(※21) + - **トンネル2** の **IPv4トンネル内インタフェース - Oracle** : **IPSec接続** のトンネル2内のBGPピア接続に使用する **動的ルーティング・ゲートウェイ** 側のIPアドレス(※21) + + ※19)本テクニカルTipsでは、プライベートAS番号である **65000** を使用しますが、自身の環境に合わせて変更します。 + ※20)30ビットか31ビットのサブネットマスクを持つ同一セグメント内の任意のIPアドレスが使用できますが、特に理由が無ければ以下を指定します。 + ※21)30ビットか31ビットのサブネットマスクを持つ同一セグメント内の任意のIPアドレスが使用できますが、特に理由が無ければ以下を指定します。 + + | トンネル | CPE側IPアドレス | 動的ルーティング・ゲートウェイ側
IPアドレス | + | :--: | :--------------: | :--------------------------: | + | 1 | 192.168.254.1/30 | 192.168.254.2/30 | + | 2 | 192.168.254.5/30 | 192.168.254.6/30 | -本章は、Libreswan用インスタンスに **Libreswan** をインストール・セットアップし、IPSecの接続を確立します。 -この手順は、静的ルーティング・BGP動的ルーティングの何れを使用するかにかかわらず実施しますが、静的ルーティングにのみ実施する手順や静的ルーティングとBGP動的ルーティングで手順の異なる箇所があるため留意します。 + ![画面ショット](console_page14-3.png) + ![画面ショット](console_page14-5.png) + ![画面ショット](console_page15-2.png) + ![画面ショット](console_page15-3.png) + ![画面ショット](console_page16-2.png) + ![画面ショット](console_page16-3.png) -またBGP動的ルーティングを使用する場合は、 **FRR** をインストール・セットアップし、BGPによるルーティング情報の配布を開始します。 +5. 表示される以下画面の **トンネル** フィールドで、 **名前** 列の末尾が1と2になっているトンネル1とトンネル2が作成され、 **ライフサイクル状態** 列が何れも **使用可能** 、 **IPSecステータス** 列が何れも **停止** 、及び **IPv4 BGPステータス** 列が何れも **稼働中** となることを確認します。 +この **IPSecステータス** 列は、 **[2-7. VPN接続機器セットアップ](#2-7-vpn接続機器セットアップ)** の手順が完了すると、 **稼働中** になります。 +また、 **Oracle VPN IPアドレス** 列の各トンネルのパブリックIPアドレスを後の手順のために記録します。 -## 6-1. Libreswanインストール・セットアップ + ![画面ショット](console_page17-2.png) -本章は、 **Libreswan** をインストール・セットアップします。 -この際、 **ステップ 2.** は静的ルーティングとBGP動的ルーティングで手順が異なり、 **ステップ 3.** は静的ルーティングの場合のみ実施します。 +6. 前の画面の **名前** 列のトンネル1をクリックし、表示される以下画面の **トンネル情報** タブの **共有シークレット** フィールドの **表示** ボタンをクリックし、表示されるトンネル1の共有シークレットを記録します。 + + ![画面ショット](console_page18-2.png) + +7. 同様に、トンネル2の共有シークレットを記録します。 + +## 2-7. VPN接続機器セットアップ + +### 2-7-0. 概要 + +本章は、VPN接続機器をセットアップします。 + +VPN接続機器のセットアップ手順は、接続形態1かそれ以外で異なり、また静的ルーティングかBGP動的ルーティングかで異なるため、自身の選択した接続形態に合わせて下表から実施する手順を決定します。 + +| パターン | 接続形態 | ルーティング | +| :--: | :---: | :----: | +| 1 | 1 | - | +| 2 | 2または3 | 静的 | +| 3 | | BGP動的 | + +### 2-7-1. パターン1の場合 + +本章は、接続形態1のVPN接続機器(VPNアプライアンス製品)をセットアップします。 + +VPNアプライアンス製品の接続手順は、以下の情報を参考に実施します。 + +- **[CPE構成ヘルパー](https://docs.oracle.com/ja-jp/iaas/Content/Network/Tasks/CPEconfigurationhelper.htm)** +VPNアプライアンス製品を構成するために必要な、 **[2-6. IPSec接続作成](#2-6-ipsec接続作成)** で作成したIPSec接続情報をOCIコンソールから収集するヘルパーツールです。 +利用方法は、 **[CPE構成ヘルパー利用方法](#cpe構成ヘルパー利用方法)** を参照してください。 +- 各VPNアプライアンス製品毎に用意されているOCIドキュメント +**[ここ](https://docs.oracle.com/ja-jp/iaas/Content/Network/Reference/CPElist.htm)** の該当するVPNアプライアンス製品の構成列とビデオ列の情報を参照してください。 + +### 2-7-2. パターン2の場合 + +本章は、接続形態2または接続形態3の静的ルーティング用のVPN接続機器として、Libreswan用インスタンスに **Libreswan** をインストール・セットアップし、IPSecの接続を確立します。 - **Libreswan** インストール Libreswan用インスタンスのopcユーザで以下コマンドを実行し、 **Libreswan** をインストールします。 @@ -456,18 +676,17 @@ Libreswan用インスタンスのopcユーザで以下コマンドを実行し ``` - **Libreswan** 設定ファイル作成 -Libreswan用インスタンスで、以下2個の **Libreswan** 設定ファイルを作成します。 -なお **oci-ipsec.conf** は、静的ルーティングとBGP動的ルーティングで異なるファイルを使用します。 +Libreswan用インスタンスで、以下2個の **Libreswan** 設定ファイルを作成します。 -[/etc/ipsec.d/oci-ipsec.conf(静的ルーティング用)] +[/etc/ipsec.d/oci-ipsec.conf] ```sh conn oracle-tunnel-1 - left=192.168.1.42 - leftid=CPE_global_IP - right=Tunnel1_global_IP + left=%defaultroute + leftid=CPE_IP + right=Tunnel1_public_IP authby=secret - leftsubnet=192.168.2.0/24 + leftsubnet=192.168.3.0/24 rightsubnet=10.0.2.0/24 auto=start mark=5/0xffffffff # Needs to be unique across all tunnels @@ -480,11 +699,11 @@ conn oracle-tunnel-1 ikelifetime=28800s salifetime=3600s conn oracle-tunnel-2 - left=192.168.1.42 - leftid=CPE_global_IP - right=Tunnel2_global_IP + left=%defaultroute + leftid=CPE_IP + right=Tunnel2_public_IP authby=secret - leftsubnet=192.168.2.0/24 + leftsubnet=192.168.3.0/24 rightsubnet=10.0.2.0/24 auto=start mark=6/0xffffffff # Needs to be unique across all tunnels @@ -498,24 +717,97 @@ conn oracle-tunnel-2 salifetime=3600s ``` -※14)下表を参考に、設定ファイル中の設定値を自身の環境に合わせて修正します。 +※22)下表を参考に、設定ファイル中の設定値を自身の環境に合わせて修正します。 -| 変数名 | 設定値 | -| :---------: | ------------------------------------------ | -| left | Libreswan用インスタンスのパブリックサブネット接続用プライベートIPアドレス | -| leftid | Libreswan用インスタンスのパブリックIPアドレス | -| right | **IPSec接続** の各トンネルに割り当てられたグローバルIPアドレス | -| leftsubnet | 拠点間接続で接続する左側サイトのサブネットアドレス | -| rightsubnet | 拠点間接続で接続する右側サイトのサブネットアドレス | +| 変数名 | 設定値 | +| :---------: | ------------------------------------- | +| leftid | Libreswan用インスタンスの
・パブリックIPアドレス(接続形態2)
・プライベートIPアドレス(接続形態3) | +| right | **IPSec接続** の各トンネルに割り当てられたパブリックIPアドレス | +| leftsubnet | 拠点間接続で接続する左側サイトのサブネットアドレス | +| rightsubnet | 拠点間接続で接続する右側サイトのサブネットアドレス | -[/etc/ipsec.d/oci-ipsec.conf(BGP動的ルーティング用)] +[/etc/ipsec.d/oci-ipsec.secrets] + +```sh +CPE_IP Tunnel1_public_IP: PSK "Shared_secret_tunnel1" +CPE_IP Tunnel2_public_IP: PSK "Shared_secret_tunnel2" +``` + +※23)下表を参考に、設定ファイル中の設定値を自身の環境に合わせて修正します。 + +| | 1列目 | 2列目 | 4列目 | +| :-: | -------------------------- | :-----------------------------------: | :-------------------------: | +| 1行目 | Libreswan用インスタンスの
・パブリックIPアドレス(接続形態2)
・プライベートIPアドレス(接続形態3) | **IPSec接続** のトンネル1に
割り当てられたパブリックIPアドレス | **IPSec接続** のトンネル1用共有シークレット | +| 2行目 | Libreswan用インスタンスの
・パブリックIPアドレス(接続形態2)
・プライベートIPアドレス(接続形態3 | **IPSec接続** のトンネル2に
割り当てられたパブリックIPアドレス | **IPSec接続** のトンネル2用共有シークレット | + +- Systemdサービス設定ファイル修正 +**Libreswan** をSystemdサービスに登録している設定ファイルを以下のように修正し、この修正を反映します。 +なお、ここで追加している行に含まれるサブネットは、拠点間接続で左側サイトから通信したい右側サイトのサブネット(ここではプライベートサブネットの **10.0.2.0/24**)を指定します。 + + ```sh + $ diff /usr/lib/systemd/system/ipsec.service_org /usr/lib/systemd/system/ipsec.service + 33a34 + > ExecStartPost=/bin/bash -c 'sleep 30; ip route add 10.0.2.0/24 nexthop dev vti01 nexthop dev vti02' + 37a39 + > ExecStopPost=/bin/bash -c 'ip route del 10.0.2.0/24' + $ sudo systemctl daemon-reload + $ + ``` + +- **Libreswan** 起動・接続確認 +Libreswan用インスタンスのopcユーザで以下コマンドを実行し、 **Libreswan** を起動、拠点間接続が確立されていることを確認します。 + + ```sh + $ sudo systemctl enable --now ipsec.service + Created symlink /etc/systemd/system/multi-user.target.wants/ipsec.service → /usr/lib/systemd/system/ipsec.service. + $ sudo ipsec verify + Verifying installed system and configuration files + + Version check and ipsec on-path [OK] + Libreswan 4.12 + Checking for IPsec support in kernel [OK] + NETKEY: Testing XFRM related proc values + ICMP default/send_redirects [OK] + ICMP default/accept_redirects [OK] + XFRM larval drop [OK] + Pluto ipsec.conf syntax [OK] + Checking rp_filter [OK] + Checking that pluto is running [OK] + Pluto listening for IKE on udp 500 [OK] + Pluto listening for IKE/NAT-T on udp 4500 [OK] + Pluto ipsec.secret syntax [OK] + Checking 'ip' command [OK] + Checking 'iptables' command [OK] + Checking 'prelink' command does not interfere with FIPS [OK] + Checking for obsolete ipsec.conf options [OK] + $ sudo ipsec status | grep active + 000 Total IPsec connections: loaded 2, active 2 + $ + ``` + + また、 **[2-6. IPSec接続作成](#2-6-ipsec接続作成)** のステップ **5.** で確認した **IPSecステータス** 列が **稼働中** となっていることを確認します。 + +### 2-7-3. パターン3の場合 + +本章は、接続形態2または接続形態3のBGP動的ルーティング用のVPN接続機器として、Libreswan用インスタンスに **Libreswan** と **FRR** をインストール・セットアップし、IPSec接続の確立とBGPによるルーティング情報の配布を開始します。 + +- **Libreswan** インストール +Libreswan用インスタンスのopcユーザで以下コマンドを実行し、 **Libreswan** をインストールします。 + + ```sh + $ sudo dnf install -y libreswan + ``` + +- **Libreswan** 設定ファイル作成 +Libreswan用インスタンスで、以下2個の **Libreswan** 設定ファイルを作成します。 + +[/etc/ipsec.d/oci-ipsec.conf] ```sh conn oracle-tunnel-1 left=%defaultroute - leftid=CPE_global_IP - right=Tunnel1_global_IP - rightid=Tunnel1_global_IP + leftid=CPE_IP + right=Tunnel1_public_IP authby=secret leftsubnet=0.0.0.0/0 rightsubnet=0.0.0.0/0 @@ -532,9 +824,8 @@ conn oracle-tunnel-1 salifetime=3600s conn oracle-tunnel-2 left=%defaultroute - leftid=CPE_global_IP - right=Tunnel2_global_IP - rightid=Tunnel2_global_IP + leftid=CPE_IP + right=Tunnel2_public_IP authby=secret leftsubnet=0.0.0.0/0 rightsubnet=0.0.0.0/0 @@ -551,19 +842,15 @@ conn oracle-tunnel-2 salifetime=3600s ``` -※15)下表を参考に、設定ファイル中の設定値を自身の環境に合わせて修正します。 +※24)下表を参考に、設定ファイル中の設定値を自身の環境に合わせて修正します。 -| 変数名 | 設定値 | -| :---------: | :-----------------------------------------------------: | -| left | %defaultroute | -| leftid | Libreswan用インスタンスのパブリックIPアドレス | -| right | **IPSec接続** の各トンネルに割り当てられたグローバルIPアドレス | -| rightid | **IPSec接続** の各トンネルに割り当てられたグローバルIPアドレス | -| leftsubnet | 0.0.0.0/0 | -| rightsubnet | 0.0.0.0/0 | -| leftvti | **IPSec接続** の各トンネルのBGPピア接続に使用する **CPE** 側のIPアドレス(※16) | +| 変数名 | 設定値 | +| :---------: | ---------------------------------------------------------------- | +| leftid | Libreswan用インスタンスの
・パブリックIPアドレス(接続形態2)
・プライベートIPアドレス(接続形態3) | +| right | **IPSec接続** の各トンネルに割り当てられたパブリックIPアドレス | +| leftvti | **IPSec接続** の各トンネルのBGPピア接続に使用する **CPE** 側のIPアドレス(※25) | -※16)本テクニカルTipsでは、以下を設定します。 +※25)本テクニカルTipsでは、以下を設定します。 | トンネル | IPアドレス | | :--: | :----------------: | @@ -573,30 +860,16 @@ conn oracle-tunnel-2 [/etc/ipsec.d/oci-ipsec.secrets] ```sh -CPE_global_IP Tunnel1_global_IP: PSK "Shared_secret_tunnel1" -CPE_global_IP Tunnel2_global_IP: PSK "Shared_secret_tunnel2" +CPE_IP Tunnel1_public_IP: PSK "Shared_secret_tunnel1" +CPE_IP Tunnel2_public_IP: PSK "Shared_secret_tunnel2" ``` -※17)下表を参考に、設定ファイル中の設定値を自身の環境に合わせて修正します。 - -| | 1列目 | 2列目 | 4列目 | -| :-: | :--------------------------: | :-----------------------------------: | :-------------------------: | -| 1行目 | Libreswan用インスタンスの
パブリックIPアドレス | **IPSec接続** のトンネル1に
割り当てられたグローバルIPアドレス | **IPSec接続** のトンネル1用共有シークレット | -| 2行目 | Libreswan用インスタンスの
パブリックIPアドレス | **IPSec接続** のトンネル2に
割り当てられたグローバルIPアドレス | **IPSec接続** のトンネル2用共有シークレット | +※26)下表を参考に、設定ファイル中の設定値を自身の環境に合わせて修正します。 -- Systemdサービス設定ファイル修正(静的ルーティングのみ実施) -**Libreswan** をSystemdサービスに登録している設定ファイルを以下のように修正し、この修正を反映します。 -なお、ここで追加している行に含まれるサブネットは、拠点間接続で左側サイトから通信したい右側サイトのサブネット(ここではプライベートサブネットの **10.0.2.0/24**)を指定します。 - - ```sh - $ diff /usr/lib/systemd/system/ipsec.service_org /usr/lib/systemd/system/ipsec.service - 33a34 - > ExecStartPost=/bin/bash -c 'sleep 30; ip route add 10.0.2.0/24 nexthop dev vti01 nexthop dev vti02' - 37a39 - > ExecStopPost=/bin/bash -c 'ip route del 10.0.2.0/24' - $ sudo systemctl daemon-reload - $ - ``` +| | 1列目 | 2列目 | 4列目 | +| :-: | ---------------------------------------------------------------- | :---------------------------------------: | :-------------------------: | +| 1行目 | Libreswan用インスタンスの
・パブリックIPアドレス(接続形態2)
・プライベートIPアドレス(接続形態3) | **IPSec接続** のトンネル1に
割り当てられたパブリックIPアドレス | **IPSec接続** のトンネル1用共有シークレット | +| 2行目 | Libreswan用インスタンスの
・パブリックIPアドレス(接続形態2)
・プライベートIPアドレス(接続形態3) | **IPSec接続** のトンネル2に
割り当てられたパブリックIPアドレス | **IPSec接続** のトンネル2用共有シークレット | - **Libreswan** 起動・接続確認 Libreswan用インスタンスのopcユーザで以下コマンドを実行し、 **Libreswan** を起動、拠点間接続が確立されていることを確認します。 @@ -629,12 +902,7 @@ Libreswan用インスタンスのopcユーザで以下コマンドを実行し $ ``` - また、 **[5-4. IPSec接続作成](#5-4-ipsec接続作成)** のステップ **5.** で確認した **IPSecステータス** 列が **稼働中** となっていることを確認します。 - - -## 6-2. FRRインストール・セットアップ - -本章は、 **FRR** をインストール・セットアップします。 + また、 **[2-6. IPSec接続作成](#2-6-ipsec接続作成)** のステップ **5.** で確認した **IPSecステータス** 列が **稼働中** となっていることを確認します。 - **FRR** インストール Libreswan用インスタンスのopcユーザで以下コマンドを実行し、 **FRR** をインストールします。 @@ -665,8 +933,8 @@ router bgp 65000 neighbor 192.168.254.2 remote-as 31898 neighbor 192.168.254.6 remote-as 31898 address-family ipv4 unicast - network 192.168.2.0/24 network 192.168.3.0/24 + network 192.168.4.0/24 neighbor 192.168.254.2 next-hop-self neighbor 192.168.254.2 soft-reconfiguration inbound neighbor 192.168.254.2 route-map ALLOW-ALL in @@ -677,8 +945,8 @@ router bgp 65000 neighbor 192.168.254.6 route-map BGP-ADVERTISE-OUT out exit-address-family ! -ip prefix-list BGP-OUT permit 192.168.2.0/24 ip prefix-list BGP-OUT permit 192.168.3.0/24 +ip prefix-list BGP-OUT permit 192.168.4.0/24 ! route-map BGP-ADVERTISE-OUT permit 10 match ip address prefix-list BGP-OUT @@ -686,35 +954,42 @@ route-map BGP-ADVERTISE-OUT permit 10 route-map ALLOW-ALL permit 100 ``` -※18)下表を参考に、設定ファイル中の設定値を自身の環境に合わせて修正します。 +※27)下表を参考に、設定ファイル中の設定値を自身の環境に合わせて修正します。 | 行 | フィールド | 設定値 | -| :-----: | :---: | :----------------------------------------------------------------: | -| 1 | 3 | 左側サイトのAS番号(※19) | -| 2 | 2 | **IPSec接続** のトンネル1内のBGPピア接続に使用する **動的ルーティング・ゲートウェイ** 側のIPアドレス(※20) | +| :-----: | :---: | ------------------------------------------------------------------ | +| 1 | 3 | 左側サイトのAS番号(※28) | +| 2 | 2 | **IPSec接続** のトンネル1内のBGPピア接続に使用する **動的ルーティング・ゲートウェイ** 側のIPアドレス(※29) | | 2 | 4 | OCIのAS番号である **31898** | -| 3 | 2 | **IPSec接続** のトンネル2内のBGPピア接続に使用する **動的ルーティング・ゲートウェイ** 側のIPアドレス(※21) | +| 3 | 2 | **IPSec接続** のトンネル2内のBGPピア接続に使用する **動的ルーティング・ゲートウェイ** 側のIPアドレス(※30) | | 3 | 4 | OCIのAS番号である **31898** | -| 5 - 6 | 2 | BGPで右側サイトに配布するサブネット(※22) | -| 7 - 10 | 2 | **IPSec接続** のトンネル1内のBGPピア接続に使用する **動的ルーティング・ゲートウェイ** 側のIPアドレス(※20) | -| 11 - 14 | 2 | **IPSec接続** のトンネル2内のBGPピア接続に使用する **動的ルーティング・ゲートウェイ** 側のIPアドレス(※21) | -| 17 - 18 | 5 | BGPで右側サイトに配布するサブネット(※22) | +| 5 - 6 | 2 | BGPで右側サイトに配布するサブネット(※31) | +| 7 - 10 | 2 | **IPSec接続** のトンネル1内のBGPピア接続に使用する **動的ルーティング・ゲートウェイ** 側のIPアドレス(※29) | +| 11 - 14 | 2 | **IPSec接続** のトンネル2内のBGPピア接続に使用する **動的ルーティング・ゲートウェイ** 側のIPアドレス(※30) | +| 17 - 18 | 5 | BGPで右側サイトに配布するサブネット(※31) | -※19)本テクニカルTipsでは、プライベートAS番号である **65000** を指定しますが、自身の環境に合わせて変更します。 -※20)本テクニカルTipsでは、 **192.168.254.2** を指定します。 -※21)本テクニカルTipsでは、 **192.168.254.6** を指定します。 -※22)本テクニカルTipsでは、左側サイトのプライベートサブネット **192.168.2.0/24** と **192.168.3.0/24** を指定します。配布するサブネットは、この行を増やすことで追加することが出来ます。 +※28)本テクニカルTipsでは、プライベートAS番号である **65000** を指定しますが、自身の環境に合わせて変更します。 +※29)本テクニカルTipsでは、 **192.168.254.2** を指定します。 +※30)本テクニカルTipsでは、 **192.168.254.6** を指定します。 +※31)本テクニカルTipsでは、左側サイトのプライベートサブネット **192.168.2.0/24** と **192.168.3.0/24** を指定します。配布するサブネットは、この行を増やすことで追加することが出来ます。 - 配布ルート設定ファイル作成 Libreswan用インスタンスで、BGPで右側サイトに配布するルート情報を記載した以下の設定ファイルを新規作成します。 -この設定ファイルは、左側サイトのプライベートサブネットへのルートがLibreswan用インスタンスから見てパブリックサブネットのデフォルトルートのゲートウェイである **192.168.1.1** を経由するものであることを示しています。 +この設定ファイルは、左側サイトのプライベートサブネットへのルートがLibreswan用インスタンスから見て接続するサブネットのデフォルトルートのゲートウェイである **192.168.1.1** (接続形態2) / **192.168.2.1** (接続形態3)を経由するものであることを示しています。 配布するサブネットは、この行を増やすことで追加することが出来ます。 -[/etc/frr/staticd.conf] +[/etc/frr/staticd.conf(接続形態2用)] ```sh -ip route 192.168.2.0/24 192.168.1.1 ip route 192.168.3.0/24 192.168.1.1 +ip route 192.168.4.0/24 192.168.1.1 +``` + +[/etc/frr/staticd.conf(接続形態3用)] + +```sh +ip route 192.168.3.0/24 192.168.2.1 +ip route 192.168.4.0/24 192.168.2.1 ``` - **FRR** 起動・ルート情報配布確認 @@ -760,18 +1035,18 @@ Libreswan用インスタンスのopcユーザで以下コマンドを実行し ![画面ショット](console_page25.png) - 表示される以下画面の **受信したBGPルート** フィールドで、左側サイトのプライベートサブネットへのルート(ここでは **192.168.2.0/24** と **192.168.3.0/24** )が配布されていることを確認します。 + 表示される以下画面の **受信したBGPルート** フィールドで、左側サイトのプライベートサブネットへのルート(ここでは **192.168.3.0/24** と **192.168.4.0/24** )が配布されていることを確認します。 ![画面ショット](console_page26.png) *** -# 7. ライセンスサーバ・計算ノード間疎通確認 +# 3. ライセンスサーバ・計算ノード間疎通確認 -本章は、左側サイトのライセンスサーバに相当するインスタンスの **lic-srv** と右側サイトの計算ノードに相当するインスタンスの **Compute** を使用し、これらインスタンス間のpingとSSHによる疎通を確認、拠点間で通信可能であることを確認します。 +本章は、左側サイトのライセンスサーバに相当するインスタンスの **lic-srv** と右側サイトの計算ノードに相当するインスタンスの **compute** を使用し、これらインスタンス間のpingとSSHによる疎通を確認、拠点間が想定通り接続されていることを検証します。 1. ライセンスサーバ -> 計算ノード方向疎通確認 インスタンス **lic-srv** のopcユーザで以下コマンドを実行し、疎通を確認します。 -ここでIPアドレスは、自身のインスタンス **Compute** のIPアドレスに置き換えて実行します。 +ここでIPアドレスは、自身のインスタンス **compute** のIPアドレスに置き換えて実行します。 ```sh $ ping -c 1 10.0.2.74 @@ -787,18 +1062,18 @@ Libreswan用インスタンスのopcユーザで以下コマンドを実行し ``` 2. 計算ノード -> ライセンスサーバ方向疎通確認 -インスタンス **Compute** のopcユーザで以下コマンドを実行し、疎通を確認します。 +インスタンス **compute** のopcユーザで以下コマンドを実行し、疎通を確認します。 ここでIPアドレスは、自身のインスタンス **lic-srv** のIPアドレスに置き換えて実行します。 ```sh - $ ping -c 1 192.168.2.124 - PING 192.168.2.124 (192.168.2.124) 56(84) bytes of data. - 64 bytes from 192.168.2.124: icmp_seq=1 ttl=61 time=168 ms + $ ping -c 1 192.168.3.124 + PING 192.168.3.124 (192.168.3.124) 56(84) bytes of data. + 64 bytes from 192.168.3.124: icmp_seq=1 ttl=61 time=168 ms - --- 192.168.2.124 ping statistics --- + --- 192.168.3.124 ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 168.001/168.001/168.001/0.000 ms - $ ssh 192.168.2.124 hostname + $ ssh 192.168.3.124 hostname lic-srv $ ``` @@ -808,9 +1083,9 @@ Libreswan用インスタンスのopcユーザで以下コマンドを実行し ## CPE構成ヘルパー利用方法 -本章は、VPNアプライアンス製品を構成するために必要なOCIリソース情報をOCIコンソールから収集する、 **CPE構成ヘルパー** の利用方法を解説します。 +本章は、VPNアプライアンス製品を構成するために必要な **IPSec接続** 情報をOCIコンソールから収集する、 **CPE構成ヘルパー** の利用方法を解説します。 -ここでは、 **[5-3. 顧客構内機器作成](#5-3-顧客構内機器作成)** で作成する **顧客構内機器** が以下の場合を例に記載します。 +ここでは、 **[2-5-3. 顧客構内機器作成](#2-5-3-顧客構内機器作成)** で作成する **顧客構内機器** が以下の場合を例に記載します。 - ベンダー: Juniper - プラットフォーム/バージョン: MX Series - JunOS 15.1 or later @@ -823,7 +1098,7 @@ Libreswan用インスタンスのopcユーザで以下コマンドを実行し ![画面ショット](console_page12.png) -3. 表示される以下 **サイト間VPN** 画面で、 **[5-4. IPSec接続作成](#5-4-ipsec接続作成)** で作成した **IPSec接続** をクリックします。 +3. 表示される以下 **サイト間VPN** 画面で、 **[2-6. IPSec接続作成](#2-6-ipsec接続作成)** で作成した **IPSec接続** をクリックします。 ![画面ショット](console_page19.png) @@ -837,4 +1112,4 @@ Libreswan用インスタンスのopcユーザで以下コマンドを実行し 6. 表示される以下 **CPE構成ヘルパー** サイドバーで、 **構成のダウンロード** ボタンをクリックし、構成情報が記載されたテキストファイルをダウンロードします。 - ![画面ショット](console_page22.png) \ No newline at end of file + ![画面ショット](console_page22.png) diff --git a/tutorials/_hpc/tech-knowhow/site-to-site-vpn/archi_diagram_type2_dynamic.png b/tutorials/_hpc/tech-knowhow/site-to-site-vpn/archi_diagram_type2_dynamic.png new file mode 100644 index 0000000000..802df4c068 Binary files /dev/null and b/tutorials/_hpc/tech-knowhow/site-to-site-vpn/archi_diagram_type2_dynamic.png differ diff --git a/tutorials/_hpc/tech-knowhow/site-to-site-vpn/archi_diagram_type2_static.png b/tutorials/_hpc/tech-knowhow/site-to-site-vpn/archi_diagram_type2_static.png new file mode 100644 index 0000000000..6af50c1786 Binary files /dev/null and b/tutorials/_hpc/tech-knowhow/site-to-site-vpn/archi_diagram_type2_static.png differ diff --git a/tutorials/_hpc/tech-knowhow/site-to-site-vpn/archi_diagram_type3_dynamic.png b/tutorials/_hpc/tech-knowhow/site-to-site-vpn/archi_diagram_type3_dynamic.png new file mode 100644 index 0000000000..95688dad1e Binary files /dev/null and b/tutorials/_hpc/tech-knowhow/site-to-site-vpn/archi_diagram_type3_dynamic.png differ diff --git a/tutorials/_hpc/tech-knowhow/site-to-site-vpn/archi_diagram_type3_static.png b/tutorials/_hpc/tech-knowhow/site-to-site-vpn/archi_diagram_type3_static.png new file mode 100644 index 0000000000..3ef2329b72 Binary files /dev/null and b/tutorials/_hpc/tech-knowhow/site-to-site-vpn/archi_diagram_type3_static.png differ diff --git a/tutorials/_hpc/tech-knowhow/site-to-site-vpn/architecture_diagram_dy.png b/tutorials/_hpc/tech-knowhow/site-to-site-vpn/architecture_diagram_dy.png deleted file mode 100644 index 1d7e24b3dc..0000000000 Binary files a/tutorials/_hpc/tech-knowhow/site-to-site-vpn/architecture_diagram_dy.png and /dev/null differ diff --git a/tutorials/_hpc/tech-knowhow/site-to-site-vpn/architecture_diagram_st.png b/tutorials/_hpc/tech-knowhow/site-to-site-vpn/architecture_diagram_st.png deleted file mode 100644 index 86755227fe..0000000000 Binary files a/tutorials/_hpc/tech-knowhow/site-to-site-vpn/architecture_diagram_st.png and /dev/null differ diff --git a/tutorials/_hpc/tech-knowhow/site-to-site-vpn/connection_type.png b/tutorials/_hpc/tech-knowhow/site-to-site-vpn/connection_type.png new file mode 100644 index 0000000000..6e1f5118de Binary files /dev/null and b/tutorials/_hpc/tech-knowhow/site-to-site-vpn/connection_type.png differ diff --git a/tutorials/_hpc/tech-knowhow/site-to-site-vpn/console_page14-3.png b/tutorials/_hpc/tech-knowhow/site-to-site-vpn/console_page14-3.png new file mode 100644 index 0000000000..edced7cf2c Binary files /dev/null and b/tutorials/_hpc/tech-knowhow/site-to-site-vpn/console_page14-3.png differ diff --git a/tutorials/_hpc/tech-knowhow/site-to-site-vpn/console_page14-4.png b/tutorials/_hpc/tech-knowhow/site-to-site-vpn/console_page14-4.png new file mode 100644 index 0000000000..d992fa69d6 Binary files /dev/null and b/tutorials/_hpc/tech-knowhow/site-to-site-vpn/console_page14-4.png differ diff --git a/tutorials/_hpc/tech-knowhow/site-to-site-vpn/console_page14-5.png b/tutorials/_hpc/tech-knowhow/site-to-site-vpn/console_page14-5.png new file mode 100644 index 0000000000..690237f353 Binary files /dev/null and b/tutorials/_hpc/tech-knowhow/site-to-site-vpn/console_page14-5.png differ diff --git a/tutorials/_hpc/tech-knowhow/site-to-site-vpn/console_page14.png b/tutorials/_hpc/tech-knowhow/site-to-site-vpn/console_page14.png index 0825ed94b5..7f7d0dfe97 100644 Binary files a/tutorials/_hpc/tech-knowhow/site-to-site-vpn/console_page14.png and b/tutorials/_hpc/tech-knowhow/site-to-site-vpn/console_page14.png differ diff --git a/tutorials/_hpc/tech-knowhow/site-to-site-vpn/console_page26.png b/tutorials/_hpc/tech-knowhow/site-to-site-vpn/console_page26.png index 1420ab3707..78723f045c 100644 Binary files a/tutorials/_hpc/tech-knowhow/site-to-site-vpn/console_page26.png and b/tutorials/_hpc/tech-knowhow/site-to-site-vpn/console_page26.png differ