Juniper MX
このトピックでは、ソフトウェア・バージョンJunOS 15.0以降を実行しているJuniper MXの構成について説明します。
Oracleには、一連のテスト済ベンダーおよびデバイスの構成手順が用意されています。ベンダーおよびソフトウェアのバージョンに適した構成を使用してください。
構成の検証にOracleで使用されたデバイスまたはソフトウェアのバージョンが、使用しているデバイスまたはソフトウェアと完全に一致しない場合でも、使用しているデバイスで必要な構成を作成できる可能性があります。ベンダーのドキュメントを参照し、必要な調整を行ってください。
デバイスが、検証済のベンダーおよびデバイスのリストに含まれないベンダーのものである場合、またはIPSecのデバイスの構成をよく理解している場合は、サポートされているIPSecパラメータのリストを確認し、ベンダーのドキュメントを参照してください。
Oracle Cloud Infrastructure offersSite-to-Site VPN: オンプレミス・ネットワークと仮想クラウド・ネットワーク(VCN)間のセキュアなIPSec接続。
次の図は、冗長トンネルを使用した、Oracle Cloud Infrastructureへの基本的なIPSec接続を示しています。この図で使用されているIPアドレスは、単なる例です。
ベスト・プラクティス
この項では、サイト間VPNの使用に関する一般的なベスト・プラクティスと考慮事項について説明します。
すべてのIPSec接続に対してすべてのトンネルを構成します
Oracleは、接続ごとに2つのIPSecヘッドエンドをデプロイし、ミッションクリティカルなワークロードに高可用性を提供します。Oracle側では、これらの2つのヘッドエンドが別々のルーターに配置されて冗長性が確保されます。最大の冗長性のために使用可能なすべてのトンネルを構成することをお薦めします。これは「障害を前提とした設計」原理の重要な要素です。
オンプレミス・ネットワークの場所に冗長CPEを配置します
IPSecでOracle Cloud Infrastructureに接続する各サイトでは、冗長エッジ・デバイス(顧客構内機器(CPE)とも呼ばれる)を使用する必要があります。Oracle Consoleに各CPEを追加し、動的ルーティング・ゲートウェイ(DRG)と各CPE間に個別のIPSec接続を作成します。各IPSec接続に対して、Oracleは、地理的に冗長なIPSecヘッドエンド上に2つのトンネルをプロビジョニングします。詳細は、接続性冗長性ガイド(PDF)を参照してください。
ルーティング・プロトコルの考慮事項
サイト間VPN IPSec接続を作成する場合、2つの冗長IPSecトンネルがあります。両方のトンネルを使用するようにCPEを構成することをお薦めします(CPEでサポートされている場合)。以前は、Oracleによって、最大4つのIPSecトンネルを持つIPSec接続が作成されていました。
次の3つのルーティング・タイプを使用でき、サイト間VPNの各トンネルに対して個別にルーティング・タイプを選択します:
- BGP動的ルーティング: 使用可能なルートは、BGPによって動的に学習されます。DRGは、オンプレミス・ネットワークからルートを動的に学習します。Oracle側では、DRGはVCNのサブネットを通知します。
- 静的ルーティング: DRGへのIPSec接続を設定する場合は、VCNに通知する必要のあるオンプレミス・ネットワークへの特定のルートを指定します。VCNのサブネットへの静的ルートを使用して、CPEデバイスを構成する必要もあります。これらのルートは、動的には学習されません。
- ポリシーベースのルーティング: DRGへのIPSec接続を設定する場合は、VCNに通知する必要のあるオンプレミス・ネットワークへの特定のルートを指定します。VCNのサブネットへの静的ルートを使用して、CPEデバイスを構成する必要もあります。これらのルートは、動的には学習されません。
BGP最適パス選択アルゴリズムの操作方法に関するOracle推奨など、サイト間VPNによるルーティングの詳細は、サイト間VPNのルーティングを参照してください。
その他の重要なCPE構成
CPEのアクセス・リストが、Oracle Cloud Infrastructureとの間で必要なトラフィックをブロックしないように正しく構成されていることを確認します。
複数のトンネルを同時に稼働させると、非対称ルーティングが発生する可能性があります。非対称ルーティングを許可するには、VCNからのトラフィックをどのトンネルでも処理できるようにCPEが構成されていることを確認します。たとえば、ICMP検査を無効にしたり、TCP状態バイパスを構成したりする必要があります。適切な構成の詳細は、CPEベンダーのサポートに問い合せてください。ルーティングを対称的に構成するには、サイト間VPNのルーティングを参照してください。
注意事項および制限事項
この項では、注意する必要のあるサイト間VPNの重要な一般的特性と制限について説明します。適用可能な制限の一覧と制限の引上げをリクエストする手順は、「サービス制限」を参照してください。
非対称ルーティング
Oracleでは、IPSec接続を構成する複数のトンネル間で非対称ルーティングが使用されます。適切にファイアウォールを構成してください。そうしないと、接続を介したpingテストやアプリケーション・トラフィックが確実に機能しません。
複数のトンネルをOracle Cloud Infrastructureに使用する場合は、優先トンネルを通じてトラフィックを決定論的にルーティングするようにルーティングを構成することをお薦めします。1つのIPSecトンネルをプライマリとして使用し、別のトンネルをバックアップとして使用する場合は、プライマリ・トンネル(BGP)用として特定性の高いルートを構成し、バックアップ・トンネル(BGP/静的)用として特定性の低いルート(サマリーまたはデフォルト・ルート)を構成します。そうしないと、すべてのトンネルを通じて同じルート(デフォルト・ルートなど)を通知した場合、VCNからオンプレミス・ネットワークへの戻りトラフィックは、使用可能なトンネルのいずれかにルーティングされます。これは、Oracleが非対称ルーティングを使用するためです。
Oracleルーティングの対称ルーティングの強制方法に関する具体的な推奨事項は、サイト間VPNのルーティングを参照してください。
ルートベースまたはポリシーベースのサイト間VPN
IPSecプロトコルは、セキュリティ・アソシエーション(SA)を使用してパケットの暗号化方法を判断します。各SA内で、パケットのソースIPアドレスと宛先IPアドレスおよびプロトコル・タイプをSAデータベースのエントリにマップする暗号化ドメインを定義して、パケットを暗号化または復号化する方法を定義します。
他のベンダーまたは業界のドキュメントでは、SAまたは暗号化ドメインを参照するときに、プロキシID、セキュリティ・パラメータ・インデックス(SPI)またはトラフィック・セレクタという用語が使用される場合があります。
IPSecトンネルを実装するには、一般的に2つの方法があります:
- ルートベース・トンネル: ネクスト・ホップベース・トンネルとも呼ばれます。ルート表検索は、パケットの宛先IPアドレス上で実行されます。そのルートのエグレス・インタフェースがIPSecトンネルである場合、パケットは暗号化され、トンネルの他方の側に送信されます。
- ポリシーベース・トンネル: パケットのソースと宛先のIPアドレスおよびプロトコルがポリシー・ステートメントのリストと照合されます。一致が検出されると、そのポリシー・ステートメント内のルールに基づいてパケットが暗号化されます。
Oracleサイト間VPNヘッドエンドではルートベース・トンネルが使用されますが、次の各項に示す注意事項を考慮しながら、ポリシーベース・トンネルとともに使用できます。
CPEでルートベース・トンネルがサポートされている場合は、この方法を使用してトンネルを構成します。これは最も単純な構成で、Oracle VPNヘッドエンドとの相互運用性が最も高くなっています。
ルートベースのIPSecでは、次の値を持つ暗号化ドメインが使用されます:
- ソースIPアドレス: 任意(0.0.0.0/0)
- 宛先IPアドレス: 任意(0.0.0.0/0)
- プロトコル: IPv4
より特定的にする必要がある場合は、デフォルト・ルートではなく、暗号化ドメイン値に単一のサマリー・ルートを使用できます。
ポリシーベースのトンネルを使用する場合、定義するすべてのポリシー・エントリ(IPSec接続の片側にあるCIDRブロック)によって、トンネルのもう一方の端にあるすべての適格なエントリでIPSecセキュリティ・アソシエーション(SA)が生成されます。このペアは暗号化ドメインと呼ばれます。
この図では、IPSecトンネルのOracle DRG側に、3つのIPv4 CIDRブロックと1つのIPv6 CIDRブロックのポリシー・エントリがあります。トンネルのオンプレミスCPE側には、2つのIPv4 CIDRブロックと2つのIPv6 CIDRブロックのポリシー・エントリがあります。各エントリによって、トンネルのもう一方の端にあるすべての使用可能なエントリで暗号化ドメインが生成されます。SAペアの両側では、同じバージョンのIPを使用する必要があります。その結果、合計8つの暗号化ドメインが生成されます。
CPEでポリシーベース・トンネルのみがサポートされている場合、次の制限に注意してください。
- サイト間VPNは、複数の暗号化ドメインをサポートしていますが、暗号化ドメインの上限は50です。
- 前の例に似た状況で、CPE側で使用可能な6つのIPv4暗号化ドメインのうち3つのみを構成した場合、使用可能なすべての暗号化ドメインは常にDRG側に作成されるため、リンクは「一部稼働中」状態でリストされます。
- トンネルが作成された時期によっては、ポリシーベースのルーティングを使用するために既存のトンネルを編集できず、トンネルを新しいIPSecトンネルに置き換える必要がある場合があります。
- トンネルのOracle DRG側で使用されるCIDRブロックは、トンネルのオンプレミスCPE側で使用されるCIDRブロックと重複できません。
- 暗号化ドメインは常に、同じIPバージョンの2つのCIDRブロック間に存在する必要があります。
CPEがNATデバイスの背後にある場合
一般的に、接続の終端で構成されたCPE IKE識別子は、Oracleが使用しているCPE IKE識別子と一致する必要があります。デフォルトでは、OracleではCPEのパブリックIPアドレスが使用されます。これは、Oracle ConsoleでCPEオブジェクトを作成したときに指定したものです。ただし、CPEがNATデバイスの背後にある場合、次の図に示すように、終端で構成されたCPE IKE識別子がCPEのプライベートIPアドレスになる可能性があります。
一部のCPEプラットフォームでは、ローカルIKE識別子を変更できません。実行できない場合は、Oracle ConsoleでリモートIKE IDを変更し、CPEのローカルIKE IDと一致させる必要があります。IPSec接続を設定するときに、または設定後に、IPSec接続を編集して値を指定できます。Oracleでは、値がIPアドレスまたはcpe.example.comなどの完全修飾ドメイン名(FQDN)であることが必要です。手順については、Oracleで使用されるCPE IKE識別子の変更を参照してください。
サポートされているIPSecパラメータ
すべてのリージョンでサポートされているIPSecパラメータのベンダー非依存のリストについては、サポートされているIPSecパラメータを参照してください。
商用クラウド・レルムのOracle BGP ASNは31898です。US Government Cloud用のサイト間VPNを構成する場合は、Government Cloudに必要なサイト間VPNパラメータおよびOracleのBGP ASNを参照してください。United Kingdom Government Cloudについては、リージョンを参照してください。
CPE構成
この項の構成手順は、使用しているCPE用のOracle Cloud Infrastructureで提供されています。サポートが必要な場合は、CPEベンダーのサポートに直接問い合せてください。
次の図は、IPSec接続の基本的なレイアウトを示しています。
指定された構成テンプレートは、JunOS 15.0以降を実行するJuniper MXルーター用です。テンプレートは、構成する必要がある各トンネルに情報を提供します。最大の冗長性のために、構成されたすべてのトンネルを設定することをお薦めします。
構成テンプレートでは、次の項目を指定する必要があります:
- CPEパブリックIPアドレス: CPE上の外部インタフェースに割り当てられたインターネット・ルーティング可能なIPアドレス。ユーザーまたはOracle管理者は、Oracle ConsoleでCPEオブジェクトを作成するときに、この値をOracleに提供します。
- 内部トンネル・インタフェース(BGPを使用する場合に必要): 内部トンネル・インタフェースのCPE終端とOracle終端のIPアドレス。これらの値は、Oracle ConsoleでIPSec接続を作成するときに指定します。
- BGP ASN (BGPを使用する場合は必須): BGP ASN。
さらに、次が必要です:
- Juniper MXパブリック・インタフェースを構成します(CPEパブリックIPアドレスはこのインタフェースにバインドされます)。
-
CPEとローカル・ネットワーク間のトラフィックをルーティングする内部ルーティングを構成します。
- トンネル・インタフェースを構成します。詳細は、次の項を参照してください。
トンネル・インタフェースについて
次の構成テンプレートでは、トンネル・インタフェースは次の変数で示されます:
-
msInterface#
- 各トンネルにつき1つ- これらのインタフェースは、MS-MPCカードの4つの暗号化ASICのいずれかに対応しています。
- ASIC間でトンネルを分散させることで、負荷を分散できます。
- 値の例: ms-2/3/0、ms-2/3/1
-
insideMsUnit#
とoutsideMsUnit#
- 各トンネルにつき1ペア- トンネルごとに、ms-mpcインタフェースのユニット・ペアが必要です。
- 一方はIPSecトンネルの外部を表します。他方はトンネルの内部を表します。
- ルーターは、オンプレミス・ネットワークからVCN上の内部ユニットにパケットを転送します。
- 暗号化ASICは、ルールおよびポリシーに基づいてパケットを暗号化します。
- 次に、暗号化されたパケットは、外部ユニットをESPパケットとして出力し、Oracle VPNヘッドエンド・ルーターに転送できるようにします。
- ユニット番号には、16,000を超える値を使用可能です。
- ユニットを割り当てる方法の1つは、8,000でオフセットすることです。
insideMsUnit#
の場合は0から7999の間で、outsideMsUnit#
の場合は8000から15999の間で値を選択できます。
Oracle Cloud Infrastructure の次の構成テンプレートは、CPEに適用する必要がある操作の開始点となります。テンプレートで参照されているパラメータの一部は、CPE上で一意である必要があります。また、一意性はCPEにアクセスすることでのみ判別可能です。CPE上のパラメータが有効であり、以前に構成した値が上書きされないことを確認してください。特に、次の値が一意であることを確認してください:
- ポリシー名または番号
- インタフェース名
- アクセス・リスト番号(該当する場合)
構成を適用する前に定義する必要のあるパラメータを検索するには、テンプレート内でキーワードUSER_DEFINED
を検索してください。
IKEv2の使用について
Oracleは、Internet Key Exchangeバージョン1 (IKEv1)およびバージョン2 (IKEv2)をサポートしています。コンソールでIKEv2を使用するようにIPSec接続を構成する場合、CPEでサポートされているIKEv2および関連するIKEv2暗号化パラメータのみを使用するようにCPEを構成する必要があります。OracleでIKEv1またはIKEv2用にサポートされているパラメータのリストについては、サポートされているIPSecパラメータを参照してください。
IKEポリシーを定義するときに、IKEバージョンを指定します。次の構成には、IKEv1とIKEv2のIKEポリシーの構成方法を示すコメントがあります。
構成テンプレート
--------------------------------------------------------------------------------------------------------------------------------------------------------------
# Configuration Template
# The configuration consists of two IPSec tunnels. Oracle highly recommends that you configure both tunnels for maximum redundancy.
--------------------------------------------------------------------------------------------------------------------------------------------------------------
# The configuration template involves setting up the following:
# PHASE 1
# PHASE 2
# SETTING THE TUNNEL INTERFACES FOR ORACLE
# SETTING THE SERVICES FOR ORACLE.
# SETTING BGP/STATIC ROUTING
# SETTING ROUTING-INSTANCES FOR ORACLE (OPTIONAL).
--------------------------------------------------------------------------------------------------------------------------------------------------------------
# The configuration template has various parameters that you must define before applying the configuration.
# Search in the template for the keyword "USER_DEFINED" to find those parameters.
--------------------------------------------------------------------------------------------------------------------------------------------------------------
# PARAMETERS REFERENCED:
# oracle_headend_1 = Oracle public IP endpoint obtained from the Oracle Console.
# oracle_headend_2 = Oracle public IP endpoint obtained from the Oracle Console.
# connection_presharedkey_1 = You provide when you set up the IPSec connection in the Oracle Console, or you can use the default Oracle-provided value.
# connection_presharedkey_2 = You provide when you set up the IPSec connection in the Oracle Console, or you can use the default Oracle-provided value.
# cpe_public_ip_address = The internet-routable IP address that is assigned to the public interface on the CPE. You provide this when creating the CPE object in the Oracle Console.
# cpe_public_interface = The name of the Juniper interface where the CPE IP address is configured. Eg: ge-0/0/1.0
# msInterface1 = The interface correspond to one of the four encryption ASICs on the MS-MPC card. Eg: ms-2/3/0, ms-2/3/1
# msInterface2 = Second tunnel interface that needs to be configured. Eg: ms-2/3/0, ms-2/3/1
# insideMsUnit1 = The inside interface of the MS-MPC interface pair for tunnel_1
# insideMsUnit2 = The inside interface of the MS-MPC interface pair for tunnel_2
# outsideMsUnit1 = The outside interface of the MS-MPC interface pair for tunnel_1
# outsideMsUnit2 = The outside interface of the MS-MPC interface pair for tunnel_2
# inside_tunnel_interface_ip_address = The IP addresses for the CPE and Oracle ends of the inside tunnel interface. You provide these when creating the IPSec connection in the Oracle Console.
# inside_tunnel_interface_ip_address_neighbor = The neighbor IP address between the MX and Oracle end points of the inside tunnel interface.
# bgp_asn = Your ASN
# vcn_range = VCN IP Range
# OPTIONAL PARAMETERS:
# customer_on-prem_to_oracle = Name of the routing instance to be defined on the CPE for the tunnel interfaces connecting to the Oracle headends.
# internet_routing_instance = Name of the routing instance to be defined on the CPE for the tunnel interfaces that are connected to the Internet.
--------------------------------------------------------------------------------------------------------------------------------------------------------------
# IPSec Tunnel 1
# #1: Internet Key Exchange (IKE) Configuration (Phase 1)
# Defining the IKE Proposal for Oracle
# This IKE (Phase 1) configuration template uses AES256, SHA384, Diffie-Hellman Group 5, and 28800 second (8 hours) IKE session key lifetime.
# If different parameters are required, modify this template before applying the configuration.
set services ipsec-vpn ike proposal oracle-ike-proposal authentication-method pre-shared-keys
set services ipsec-vpn ike proposal oracle-ike-proposal authentication-algorithm sha-384
set services ipsec-vpn ike proposal oracle-ike-proposal encryption-algorithm aes-256-cbc
set services ipsec-vpn ike proposal oracle-ike-proposal lifetime-seconds 28800
set services ipsec-vpn ike proposal oracle-ike-proposal dh-group group5
# Defining the IKE Policy for Oracle
# USER_DEFINED: Replace the parameters in the section below as needed
# If using IKEv1, uncomment the following two lines, and comment out the line after (the line with "version 2" at the end)
# set services ipsec-vpn ike policy oracle-ike-policy-tunnel_1 mode main
# set services ipsec-vpn ike policy oracle-ike-policy-tunnel_1 version 1
set services ipsec-vpn ike policy oracle-ike-policy-tunnel_1 version 2
set services ipsec-vpn ike policy oracle-ike-policy-tunnel_1 proposals oracle-ike-proposal
set services ipsec-vpn ike policy oracle-ike-policy-tunnel_1 local-id ipv4_addr <cpe_public_ip_address>
set services ipsec-vpn ike policy oracle-ike-policy-tunnel_1 remote-id ipv4_addr <oracle_headend_1>
set services ipsec-vpn ike policy oracle-ike-policy-tunnel_1 pre-shared-key ascii-text <connection_presharedkey_1>
# Setting up Public Interface with the CPE Public IP.
# USER_DEFINED: Replace the parameters in the section below as needed
set interfaces <cpe_public_interface> unit 0 family inet address <cpe_public_ip_address>
# #2: IPSec Configuration
# Defining the IPSec (Phase 2) Proposal for Oracle
# The IPSec proposal defines the protocol, authentication, encryption, and lifetime parameters for the IPsec security association.
# The configuration template sets AES256 for encryption, SHA256 for authentication, enables PFS group 14, and sets the IPSec session key lifetime to 3600 seconds (1 hour).
# The IPsec policy incorporates the Diffie-Hellman group and the IPsec proposal.
# If different parameters are required, modify this template before applying the configuration.
set services ipsec-vpn ipsec proposal oracle-ipsec-proposal
set services ipsec-vpn ipsec proposal oracle-ipsec-proposal protocol esp
set services ipsec-vpn ipsec proposal oracle-ipsec-proposal authentication-algorithm hmac-sha-256-128
set services ipsec-vpn ipsec proposal oracle-ipsec-proposal encryption-algorithm aes-256-cbc
set services ipsec-vpn ipsec proposal oracle-ipsec-proposal lifetime-seconds 3600
# Defining the IPSec (PHASE 2) policy for Oracle
set services ipsec-vpn ipsec policy oracle-ipsec-policy perfect-forward-secrecy keys group14
set services ipsec-vpn ipsec policy oracle-ipsec-policy proposals oracle-ipsec-proposal
# Defining Security Association for Oracle
# USER_DEFINED: Replace the parameters in the section below as needed.
# The IKE and IPSEC policies are associated with the tunnel interface. Eg: ms-2/3/0.101
# The IPsec Dead Peer Detection option causes periodic messages to be sent to ensure a Security Association remains operational.
set services ipsec-vpn rule oracle-vpn-tunnel_1 term 1 from ipsec-inside-interface <msInterface1>.<insideMsUnit1>
set services ipsec-vpn rule oracle-vpn-tunnel_1 term 1 then remote-gateway <oracle_headend_1>
set services ipsec-vpn rule oracle-vpn-tunnel_1 term 1 then dynamic ike-policy oracle-ike-policy-tunnel_1
set services ipsec-vpn rule oracle-vpn-tunnel_1 term 1 then dynamic ipsec-policy oracle-ipsec-policy
set services ipsec-vpn rule oracle-vpn-tunnel_1 term 1 then tunnel-mtu 1430
set services ipsec-vpn rule oracle-vpn-tunnel_1 term 1 then initiate-dead-peer-detection
set services ipsec-vpn rule oracle-vpn-tunnel_1 term 1 then dead-peer-detection
set services ipsec-vpn rule oracle-vpn-tunnel_1 term 1 then dead-peer-detection interval 5
set services ipsec-vpn rule oracle-vpn-tunnel_1 term 1 then dead-peer-detection threshold 4
set services ipsec-vpn rule oracle-vpn-tunnel_1 match-direction input
# #3: Tunnel Interface Configuration
# Defining the Tunnel Interfaces
# USER_DEFINED: Replace the parameters in the section below as needed.
set interfaces <msInterface1> unit <insideMsUnit1> description oracle-vpn-tunnel-1-INSIDE
set interfaces <msInterface1> unit <insideMsUnit1> family inet address <inside_tunnel_interface_ip_address>
set interfaces <msInterface1> unit <insideMsUnit1> service-domain inside
set interfaces <msInterface1> unit <outsideMsUnit1> description oracle-vpn-tunnel-1-OUTSIDE
set interfaces <msInterface1> unit <outsideMsUnit1> family inet
set interfaces <msInterface1> unit <outsideMsUnit1> service-domain outside
# #4: Service Set Configuration
# USER_DEFINED: Replace the parameters in the section below as needed
# Service set configuration to direct traffic to the tunnel interfaces and associating the appropriate IPSec-VPN-Rule.
set services service-set oracle-vpn-tunnel_1 next-hop-service inside-service-interface <msInterface1>.<insideMsUnit1>
set services service-set oracle-vpn-tunnel_1 next-hop-service outside-service-interface <msInterface1>.<outsideMsUnit1>
set services service-set oracle-vpn-tunnel_1 ipsec-vpn-options local-gateway <cpe_public_ip_address>
set services service-set oracle-vpn-tunnel_1 ipsec-vpn-rules oracle-vpn-tunnel-tunnel_1
# This option causes the router to reduce the Maximum Segment Size of TCP packets to prevent packet fragmentation.
set services service-set oracle-vpn-tunnel_1 tcp-mss 1387
# #5a: Border Gateway Protocol (BGP) Configuration
# USER_DEFINED: Replace the parameters in the section below as needed
# BGP is used within the tunnel to exchange prefixes between the Dynamic Routing Gateway and your CPE. The DRG dynamically learns the routes from your on-premises network. On the Oracle side, the DRG advertises the VCN's subnets.
# The configuration template uses a basic route policy to advertise a default route to the DRG.
# To advertise additional prefixes to the Oracle VCN, add additional prefixes to the term ORACLE-DEFAULT policy. Make sure the prefix is present in the route table of the device with a valid next-hop.
# You configure the local BGP Autonomous System Number (BGP ASN) when you set up the IPSec connection in the Oracle Console. If you later need to change the ASN, you must recreate the CPE object and IPSec connection in the Oracle Console.
set policy-options policy-statement ORACLE-DEFAULT term default from route-filter 0.0.0.0/0 exact
set policy-options policy-statement ORACLE-DEFAULT term default then accept
set policy-options policy-statement ORACLE-DEFAULT term reject then reject
set protocols bgp group ebgp type external
set protocols bgp group ebgp neighbor <inside_tunnel_interface_ip_address_neighbor> export ORACLE-DEFAULT
set protocols bgp group ebgp neighbor <inside_tunnel_interface_ip_address_neighbor> peer-as 31898
set protocols bgp group ebgp neighbor <inside_tunnel_interface_ip_address_neighbor> local-as <bgp_asn>
# #5b: Static Route Configuration
# USER_DEFINED: Replace the parameters in the section below as needed
# In case you plan to use static routing to get traffic through the IPSec tunnels, you can point the routes down to the tunnel interfaces. You should redistribute these routes into your on-premises network. Configuration for CPE to VCN static routes:
set routing-options static route <vcn_range> next-hop <msInterface1>.<insideMsUnit1>
##6: Routing Instances Configuration (Optional)
# USER_DEFINED: Replace the parameters in the section below as needed.
# If you are using routing-instances on your CPE, you need to make sure you account for them in your configuration. Merge the following configuration into the template provided above.
set routing-instances <customer_on-prem_to_oracle> interface <msInterface1>.<insideMsUnit1>
set routing-instances <internet_routing_instance> interface <msInterface1>.<outsideMsUnit1>
set services service-set oracle-vpn-tunnel-tunnel_1 ipsec-vpn-options local-gateway <cpe_public_ip_address> routing-instance <internet_routing_instance>
--------------------------------------------------------------------------------------------------------------------------------------------------------------
# IPSec Tunnel 2
# #1: Internet Key Exchange (IKE) Configuration (Phase 1)
# Defining the IKE Proposal for Oracle
# This IKE (Phase 1) configuration template uses AES256, SHA384, Diffie-Hellman Group 5, and 28800 second (8 hours) IKE session key lifetime.
# If different parameters are required, modify this template before applying the configuration.
set services ipsec-vpn ike proposal oracle-ike-proposal authentication-method pre-shared-keys
set services ipsec-vpn ike proposal oracle-ike-proposal authentication-algorithm sha-384
set services ipsec-vpn ike proposal oracle-ike-proposal encryption-algorithm aes-256-cbc
set services ipsec-vpn ike proposal oracle-ike-proposal lifetime-seconds 28800
set services ipsec-vpn ike proposal oracle-ike-proposal dh-group group5
# Defining the IKE Policy for Oracle
# USER_DEFINED: Replace the parameters in the section below as needed
# If using IKEv1, uncomment the following two lines, and comment out the line after (the line with "version 2" at the end)
# set services ipsec-vpn ike policy oracle-ike-policy-tunnel_2 mode main
# set services ipsec-vpn ike policy oracle-ike-policy-tunnel_2 version 1
set services ipsec-vpn ike policy oracle-ike-policy-tunnel_2 version 2
set services ipsec-vpn ike policy oracle-ike-policy-tunnel_2 proposals oracle-ike-proposal
set services ipsec-vpn ike policy oracle-ike-policy-tunnel_2 local-id ipv4_addr <cpe_public_ip_address>
set services ipsec-vpn ike policy oracle-ike-policy-tunnel_2 remote-id ipv4_addr <oracle_headend_2>
set services ipsec-vpn ike policy oracle-ike-policy-tunnel_2 pre-shared-key ascii-text <connection_presharedkey_2>
# Setting up Public Interface with the CPE Public IP.
# USER_DEFINED: Replace the parameters in the section below as needed
set interfaces <cpe_public_interface> unit 0 family inet address <cpe_public_ip_address>
# #2: IPSec Configuration
# Defining the IPSec (Phase 2) Proposal for Oracle
# The IPSec proposal defines the protocol, authentication, encryption, and lifetime parameters for the IPsec security association.
# The configuration template sets AES256 for encryption, SHA256 for authentication, enables PFS group 14, and sets the IPSec session key lifetime to 3600 seconds (1 hour).
# The IPsec policy incorporates the Diffie-Hellman group and the IPsec proposal.
# If different parameters are required, modify this template before applying the configuration.
set services ipsec-vpn ipsec proposal oracle-ipsec-proposal
set services ipsec-vpn ipsec proposal oracle-ipsec-proposal protocol esp
set services ipsec-vpn ipsec proposal oracle-ipsec-proposal authentication-algorithm hmac-sha-256-128
set services ipsec-vpn ipsec proposal oracle-ipsec-proposal encryption-algorithm aes-256-cbc
set services ipsec-vpn ipsec proposal oracle-ipsec-proposal lifetime-seconds 3600
# Defining the IPSec (PHASE 2) policy for Oracle
set services ipsec-vpn ipsec policy oracle-ipsec-policy perfect-forward-secrecy keys group14
set services ipsec-vpn ipsec policy oracle-ipsec-policy proposals oracle-ipsec-proposal
# Defining Security Association for Oracle
# USER_DEFINED: Replace the parameters in the section below as needed
# The IKE and IPSEC policies are associated with the tunnel interface. Eg: ms-2/3/0.101
# The IPsec Dead Peer Detection option causes periodic messages to be sent to ensure a Security Association remains operational.
set services ipsec-vpn rule oracle-vpn-tunnel_2 term 1 from ipsec-inside-interface <msInterface2>.<insideMsUnit2>
set services ipsec-vpn rule oracle-vpn-tunnel_2 term 1 then remote-gateway <oracle_headend_2>
set services ipsec-vpn rule oracle-vpn-tunnel_2 term 1 then dynamic ike-policy oracle-ike-policy-tunnel_2
set services ipsec-vpn rule oracle-vpn-tunnel_2 term 1 then dynamic ipsec-policy oracle-ipsec-policy
set services ipsec-vpn rule oracle-vpn-tunnel_2 term 1 then tunnel-mtu 1420
set services ipsec-vpn rule oracle-vpn-tunnel_2 term 1 then initiate-dead-peer-detection
set services ipsec-vpn rule oracle-vpn-tunnel_2 term 1 then dead-peer-detection
set services ipsec-vpn rule oracle-vpn-tunnel_2 term 1 then dead-peer-detection interval 5
set services ipsec-vpn rule oracle-vpn-tunnel_2 term 1 then dead-peer-detection threshold 4
set services ipsec-vpn rule oracle-vpn-tunnel_2 match-direction input
# #3: Tunnel Interface Configuration
# Defining the Tunnel Interfaces
# USER_DEFINED: Replace the parameters in the section below as needed.
set interfaces <msInterface2> unit <insideMsUnit2> description oracle-vpn-tunnel-2-INSIDE
set interfaces <msInterface2> unit <insideMsUnit2> family inet address <inside_tunnel_interface_ip_address>
set interfaces <msInterface2> unit <insideMsUnit2> service-domain inside
set interfaces <msInterface2> unit <outsideMsUnit2> description oracle-vpn-tunnel-2-OUTSIDE
set interfaces <msInterface2> unit <outsideMsUnit2> family inet
set interfaces <msInterface2> unit <outsideMsUnit2> service-domain outside
# #4: Service Set Configuration
# USER_DEFINED: Replace the parameters in the section below as needed
# Service set configuration to direct traffic to the tunnel interfaces and associating the appropriate IPSec-VPN-Rule.
set services service-set oracle-vpn-tunnel_2 next-hop-service inside-service-interface <msInterface2>.<insideMsUnit2>
set services service-set oracle-vpn-tunnel_2 next-hop-service outside-service-interface <msInterface2>.<outsideMsUnit2>
set services service-set oracle-vpn-tunnel_2 ipsec-vpn-options local-gateway <cpe_public_ip_address>
set services service-set oracle-vpn-tunnel_2 ipsec-vpn-rules oracle-vpn-tunnel-tunnel_2
# This option causes the router to reduce the Maximum Segment Size of TCP packets to prevent packet fragmentation.
set services service-set oracle-vpn_1 tcp-mss 1387
# #5a: Border Gateway Protocol (BGP) Configuration
# USER_DEFINED: Replace the parameters in the section below as needed
# BGP is used within the tunnel to exchange prefixes between the dynamic routing gateway and your CPE. The DRG dynamically learns the routes from your on-premises network. On the Oracle side, the DRG advertises the VCN's subnets.
# THe configuration templates uses a basic route policy to advertise a default route to the DRG.
# To advertise additional prefixes to the Oracle VCN, add additional prefixes to the term ORACLE-DEFAULT policy. Make sure the prefix is present in the route table of the device with a valid next-hop.
# You configure the local BGP Autonomous System Number (BGP ASN) when you set up the IPSec connection in the Oracle Console. If you later need to change the ASN, you must recreate the CPE object and IPSec connection in the Oracle Console.
set policy-options policy-statement ORACLE-DEFAULT term default from route-filter 0.0.0.0/0 exact
set policy-options policy-statement ORACLE-DEFAULT term default then accept
set policy-options policy-statement ORACLE-DEFAULT term reject then reject
set protocols bgp group ebgp type external
set protocols bgp group ebgp neighbor <inside_tunnel_interface_ip_address_neighbor> export ORACLE-DEFAULT
set protocols bgp group ebgp neighbor <inside_tunnel_interface_ip_address_neighbor> peer-as 31898
set protocols bgp group ebgp neighbor <inside_tunnel_interface_ip_address_neighbor> local-as <bgp_asn>
# #5b: Static Route Configuration
# USER_DEFINED: Replace the parameters in the section below as needed
# In case you plan to use static routing to get traffic through the IPSec tunnels, you can point the routes down to the tunnel interfaces. You should redistribute these routes into your on-premises network. Configuration for CPE to VCN static routes:
set routing-options static route <vcn_range> next-hop <msInterface2>.<insideMsUnit2>
##6: Routing Instances Configuration (Optional)
# USER_DEFINED: Replace the parameters in the section below as needed.
# If you are using routing-instances on your CPE, you need to make sure you account for them in your configuration. Merge the following configuration into the template provided above.
set routing-instances <customer_on-prem_to_oracle> interface <msInterface2>.<insideMsUnit2>
set routing-instances <internet_routing_instance> interface <msInterface2>.<outsideMsUnit2>
set services service-set oracle-vpn-tunnel-tunnel_2 ipsec-vpn-options local-gateway <cpe_public_ip_address> routing-instance <internet_routing_instance>
検証
次のコマンドを使用して、セキュリティ・アソシエーション(SA)を検証します。
show services ipsec-vpn ipsec security-associations detail
次のコマンドを使用して、BGPステータスを確認します。
show bgp summary
次のコマンドを使用して、Oracle Cloud Infrastructureに通知し、そこから受信するためのルートを確認します。ルーティング・インスタンスを使用するようにCPEを構成した場合、末尾にtable
<table-name>を含むコマンドを使用します。
show route advertising-protocol bgp <neighbor-address>
show route receive-protocol bgp <neighbor-address>
show route advertising-protocol bgp <neighbor-address> table <table-name>
show route receive-protocol bgp <neighbor-address> table <table-name>
モニタリング・サービスは、クラウド・リソースをアクティブおよびパッシブにモニターするためにOracle Cloud Infrastructureから使用できます。サイト間VPNのモニタリングの詳細は、サイト間VPNのメトリックを参照してください。
問題がある場合は、サイト間VPNのトラブルシューティングを参照してください。