Oracle Cloud Infrastructureドキュメント

Cisco IOS

このトピックでは、Cisco IOSデバイスのルーティング・ベース構成を示します。 構成は、Cisco 2921 running IOSバージョン15.4(3) M3を使用して検証されました。

重要

Oracleでは、「ベンダーおよびデバイス」のセットの構成手順を示します。 正しいベンダーに対してこの構成を使用してください。

構成の検証にOracleで使用されたデバイスまたはソフトウェアのバージョンが、デバイスまたはソフトウェアと完全に一致しない場合、構成が機能する可能性があります。 ベンダーのドキュメントを参照し、必要な調整を行います。

デバイスが、検証済のベンダーおよびデバイスのリストに含まれないベンダー用である場合、またはIPSecのデバイスの構成をよく理解している場合は、「サポートされているIPSecパラメータ」のリストを参照し、ベンダーのサポートについて問い合わせてください。

「VPN接続」は、Oracle Cloud Infrastructureによって仮想クラウド・ネットワーク(VCN)にオンプレミス・ネットワークを接続するために提供されるIPSec VPNです。

次の図は、冗長なトンネルを使用した、Oracle Cloud Infrastructureへの基本的なIPSec接続を示しています。 この図で使用するIPアドレスは、単なる例です。

このイメージは、オンプレミス・ネットワーク、VPN接続トンネルおよびVCNの一般的なレイアウトの概要を示しています。

ベスト・プラクティス

この項では、「VPN接続」の使用に関する一般的なベスト・プラクティスと考慮事項について説明します。

すべてのIPSec接続のためのすべてのトンネルの構成

Oracleは、接続ごとに2つのIPSecヘッドエンドをデプロイし、ミッション・クリティカルなワークロードの高可用性を提供します。 Oracle側では、これらの2つのヘッドエンドが別々のルーターに配置されて冗長性が確保されています。 Oracleでは、最大の冗長性のために使用可能なすべてのトンネルを構成することをお薦めします。 これは"不良の設計"哲学の重要な要素です。

オンプレミス・ネットワークのロケーションに冗長のCPEがある

IPSecをOracle Cloud Infrastructureに接続する各サイトには、冗長なエッジ・デバイス(カスタマ設置機器(CPE))を使用する必要があります。 Oracle コンソールに各CPEを追加し、動的ルーティング・ゲートウェイ(DRG)と各CPE間に別のIPSec接続を作成します。 各IPSec接続について、Oracleは、地理的に冗長なIPSecヘッドエンドに2つのトンネルをプロビジョニングします。 詳細は、「接続性冗長性ガイド(PDF)」を参照してください。

ルーティング・プロトコルに関する考慮事項

IPSec VPNを作成すると、2つの冗長なIPSecトンネルが作成されます。 Oracleでは、両方のトンネルを使用するようにCPEを構成することをお薦めします(CPEでサポートされている場合)。 Oracleは、過去、最大4つのIPSecトンネルを持つIPSec VPNを作成していました。

次の2つのルーティング・タイプを使用でき、IPSec VPNの各トンネルに対して別個にルーティング・タイプを選択します:

  • BGP動的ルーティング: 使用可能なルートはBGPによって動的に学習されます。 DRGは、オンプレミス・ネットワークからルートを動的に学習します。 Oracle側では、DRGによってVCNサブネットが通知されます。
  • 静的ルーティング: DRGへのIPSec接続を設定する際に、VCNが認識する対象のオンプレミス・ネットワークに特定のルートを指定します。 また、VCNサブネットに静的ルートを持つCPEデバイスを構成する必要もあります。 これらのルートは、動的には学習されません。

BGP最適パス選択アルゴリズムの操作方法に関するOracleの推奨など、「VPN接続」を使用したルーティングの詳細は、「Oracle IPSec VPNのルーティング」を参照してください。

その他の重要なCPE構成

NATトラバーサル (NAT-T)が「VPN接続」トラフィックに対して無効であることを確認します。 NAT-Tは、Oracle Cloud Infrastructureでサポートされていません。

CPEに対するアクセス・リストが、Oracle Cloud Infrastructureとの間で必要なトラフィックをブロックしないように正しく構成されていることを確認します。

複数のトンネルが同時に存在する場合、VCNからのトラフィックをいずれかのトンネルで処理するようにCPEが構成されていることを確認します。 たとえば、ICMP検査を無効にしたり、TCPステート・バイパスを構成したりする必要があります。 適切な構成の詳細は、CPEベンダーのサポートにお問い合せください。

注意事項および制限事項

この項では、「VPN接続」が認識できる一般的な重要な特性と制限について説明します。

非対称ルーティング

Oracleでは、IPSec接続を構成する複数のトンネル間で非対称ルーティングが使用されます。 それに応じてファイアウォールを構成します。 そうしないと、接続を介したpingテストやアプリケーション・トラフィックが確実に機能しなくなります。

複数のトンネルをOracle Cloud Infrastructureに使用する場合は、Oracleによって、優先トンネルを通してトラフィックを永続的にルーティングするようにルーティングを構成することをお薦めします。 1つのIPSecトンネルをプライマリとして使用し、別のトンネルをバックアップとして使用する場合は、バックアップ・トンネル(BGP)用にセカンダリ固有のルート(サマリーまたはデフォルト・ルート)を、バックアップ・トンネル(BGP/静的)用に構成します。 それ以外の場合は、すべてのトンネルを通して同じルート(たとえば、デフォルト・ルート)を通知する場合、Oracleが非対称ルーティングを使用するため、VCNからオンプレミス・ネットワークにトラフィックを返します。

対称ルーティングを強制する方法の詳細は、「IPSec VPNの特定トンネルの優先順位」を参照してください。

ルート・ベースまたはポリシーベースのIPSec VPN

IPSecプロトコルは、セキュリティ関連付け(SAs)を使用してパケットを暗号化する方法を決定します。 各SA内では、パケットのソースおよび宛先のIPアドレスとプロトコル・タイプをSAデータベース内のエントリにマップする暗号化ドメインを定義して、パケットの暗号化または復号化の方法を定義します。

ノート

他のベンダーまたは業界のドキュメントでは、「プロキシID、セキュリティ・パラメータ索引(SPI)」または「トラフィック・セレクタ」という用語が、saまたは暗号化ドメインを参照している場合に使用されることがあります。

IPSecトンネルを実装するには、一般的に次の2つのメソッドがあります:

  • ルート・ベースのトンネル: 次のルーチン・ベースのトンネルとも呼ばれます。 パケット宛先IPアドレスでルート表参照が実行されます。 そのルートのエグレス・インタフェースがIPSecトンネルの場合、そのパケットは暗号化されてから、そのトンネルの反対側に送信されます。
  • ポリシーベースのトンネル: パケットのソースIPアドレスおよび宛先IPアドレスとプロトコルは、ポリシー文のリストと照合されます。 一致が見つかった場合、そのポリシー文のルールに基づいてパケットが暗号化されます。

Oracle VPNヘッドエンドは、ルート・ベースのトンネルを使用しますが、次の項にリストされているいくつかの警告を含むポリシーベースのトンネルを使用できます。

重要

Oracle VPNヘッドエンドは、単一の暗号化ドメインのみをサポートします。
ポリシーに複数のエントリが含まれる場合、トンネルはフラグを設定するか、または接続性に問題が発生し、その中で一度に1つのポリシーのみが機能します。

ルート・ベースのトンネル用の暗号化ドメイン
ポリシーベースのトンネルの暗号化ドメイン

CPEがNATデバイスの妨げになる場合

通常、接続の最後に構成されたCPE IKE識別子は、Oracleが使用しているCPE IKE識別子と一致している必要があります。 デフォルトでは、OracleではCPE 「パブリック」 IPアドレスが使用されます。このアドレスは、Oracle コンソールでCPEオブジェクトを作成したときに指定します。 ただし、CPEがNATデバイスより遅れている場合、次の図に示すように、最後に構成されたCPE IKE識別子がCPE「プライベート」IPアドレスになる場合があります。

このイメージは、NATデバイスの背後のCPE、パブリックIPアドレスとプライベートIPアドレス、およびCPE IKE識別子を示しています。

ノート

一部のCPEプラットフォームでは、ローカルIKE識別子を変更できません。
実行できない場合は、Oracle コンソールでリモートIKE IDを、CPEローカルIKE IDと一致するように変更する必要があります。 この値は、IPSec接続の設定時に指定することも、後でIPSec接続を編集して指定することもできます。 Oracleでは、値はcpe.example.comなどのIPアドレスまたは完全修飾ドメイン名(FQDN)のいずれかであると想定されています。 手順については、「Oracleで使用されるCPE IKE識別子の変更」を参照してください。

サポートされているIPSecパラメータ

すべてのリージョンでサポートされるIPSecパラメータのベンダー固有のリストについては、「サポートされるIPSecパラメータ」を参照してください。

商用クラウドのOracle BGP ASNは、31898です。 Government Cloud用に「VPN接続」を構成する場合は、「Government CloudのVPN接続パラメータが必要」および「OracleのBGP ASN」も参照してください。

CPE構成

重要

この項で説明する構成手順は、Oracle Cloud InfrastructureによってCPEに提供されています。 サポートが必要な場合は、CPEベンダーのサポートに直接お問い合せください。

次の図は、IPSec接続の基本レイアウトを示しています。

このイメージは、IPSec接続とトンネルの一般的なレイアウトをまとめたものです。

構成テンプレートは、Cisco 2921 running IOSバージョン15.4(3) M3を使用して検証されました。 このテンプレートは、各トンネルについて、構成する必要がある情報を提供します。 Oracleでは、冗長性を最大限に高めるために、構成されたすべてのトンネルを設定することをお薦めします。

構成テンプレートは、次のアイテムを指定する必要があります:

  • CPEパブリックIPアドレス: CPE上の外部インタフェースに割り当てられるinternet-routable IPアドレス。 Oracle コンソールでCPEオブジェクトを作成するときに、Oracle管理者がこの値をOracleに提供します。
  • 内部トンネル・インタフェース(BGPを使用している場合に必要): 内部トンネル・インタフェースのCPEおよびOracle側のIPアドレス。 これらの値は、Oracle コンソールでIPSec接続を作成するときに指定します。
  • BGP ASN (BGPを使用する場合は必須): BGP ASN。

さらに、次のことが必要です:

  • CPEとローカル・ネットワーク間のトラフィックをルーティングする内部ルーティングを構成します。
  • CPEとOracle VCNの間のトラフィックを許可します。
  • 使用されているIPSecプロファイルを特定します(次の構成テンプレートは、このグループ・ポリシーをoracle-vpnとして参照します)。
  • 暗号化マップに使用される変換セットを指定します(次の構成テンプレートはこの変換セットをoracle-vpn-transformとして参照します)。
重要

Oracle Cloud Infrastructure 「CPEに適用する必要がある作業の開始ポイントです」の次の構成テンプレート。 テンプレートで参照されているパラメータの一部は、CPEに対して一意である必要があります。また、CPEにアクセスして一意性を判別することしかできません。 パラメータがCPEに対して有効であり、以前に構成した値が上書きされないことを確認してください。 特に、次の値が一意であることを確認してください:

  • ポリシー名または番号
  • インタフェース名
  • キー・リング

  • リスト番号にアクセス(該当する場合)

構成テンプレート

構成テンプレートを全画面で表示して読みやすくします。

!-------------------------------------------------------------------------------------------------------------------------------------------------------------
! 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:
! Keyring (Pre-Shared Key)
! Basic ISAKMP Options
! ISAKMP and IPSec Policy Configuration
! IPSec Peers
! Virtual Tunnel Interfaces
! IP Routing (BGP or Static)
! Update Any Internet Facing Access List to Allow IPSec and ISAKMP Packets
!-------------------------------------------------------------------------------------------------------------------------------------------------------------
! The configuration template has various parameters that you must define before applying the configuration.
!-------------------------------------------------------------------------------------------------------------------------------------------------------------
! PARAMETERS REFERENCED:
! ${OracleInsideTunnelIpAddress1} = Inside tunnel IP address of Oracle-side for the first tunnel. You provide these values when creating the IPSec connection in the Oracle Console.
! ${OracleInsideTunnelIpAddress2} = Inside tunnel IP address of Oracle-side for the second tunnel. You provide these values when creating the IPSec connection in the Oracle Console.
! ${bgpASN} = Your BGP ASN
! ${cpePublicIpAddress} = The public IP address for the CPE. This is the IP address of your outside interface
! ${oracleHeadend1} = Oracle public IP endpoint obtained from the Oracle Console.
! ${oracleHeadend2} = Oracle public IP endpoint obtained from the Oracle Console.
! ${sharedSecret1} = You provide when you set up the IPSec connection in the Oracle Console, or you can use the default Oracle-provided value.
! ${sharedSecret2} = You provide when you set up the IPSec connection in the Oracle Console, or you can use the default Oracle-provided value.
! ${outsideInterface} = The public interface or outside of tunnel interface which is configured with the CPE public IP address.
! ${vcnCidrNetwork} = VCN IP range
! ${vcnCidrNetmask} = Subnet mask for VCN
! ${onPremCidrNetwork} = On-premises IP range
! ${onPremCidrNetmask} = ON-premises subnet mask
!-------------------------------------------------------------------------------------------------------------------------------------------------------------
 
! Keyring (Pre-Shared Key)
 
! For authentication during IKE a separate keyring is defined for each Oracle VPN Headend peer.
! Add the pre-shared key for each Oracle VPN headend under the corresponding keyring.
 
crypto keyring oracle-vpn-${oracleHeadend1} 
  local-address ${cpePublicIpAddress}
  pre-shared-key address ${oracleHeadend1} key ${sharedSecret1}
crypto keyring oracle-vpn-${oracleHeadend2} 
  local-address ${cpePublicIpAddress}
  pre-shared-key address ${oracleHeadend2} key ${sharedSecret2}
 
! Basic ISAKMP Options
 
! Optional IPSec settings are included here.
! All optional settings included are recommended by Oracle. Remove or comment out any unneeded commands prior to applying this configuration.
! WARNING: These settings are global and may impact other IPSec connections
 
! Enables fragmentation of IKE packets prior to encryption.
crypto isakmp fragmentation
 
! Enables Dead Peer Detection (DPD)
crypto isakmp keepalive 10 10
 
! The Router will clear the DF-bit in the IP header. Allows the packet to be fragmented and sen to the end host in Oracle Cloud Infrastructure for reassembly.
crypto ipsec df-bit clear
 
! Increases security association anti-replay window. An increased window size is helpful for scenarios where packets are regularly being dropped due to delays.
crypto ipsec security-association replay window-size 128
 
! ISAKMP and IPSec Policy Configuration
 
! An ISAKMP policy is created for Phase 1 which specifies to use a Pre-Shared Key, AES256, SHA384, Diffie-Hellman Group 5, and a Phase 1 lifetime of 28800 seconds (8 hours).
! If different parameters are required, modify this template before applying the configuration.
! WARNING: The ISAKMP group policy is created with a priority of 10. Make sure this doesn't conflict with any pre-existing configuration before applying.
 
crypto isakmp policy 10
 encr aes 256
 hash sha384
 authentication pre-share
 group 5
 lifetime 28800
 
! Create an IPSec transform set named 'oracle-vpn-transform' which defines a combination of IPSec (Phase 2) policy options. Specifically, AES256 for encryption and SHA1 for authentication. This is also where tunnel mode is set for IPSec.
! If different parameters are required, modify this template before applying the configuration.
 
crypto ipsec transform-set oracle-vpn-transform esp-aes 256 esp-sha-hmac
 mode tunnel
 
! A IPSec profile named 'oracle-vpn' is created.
! The previously created transform set is added to this policy along with settings for enabling PFS Group 5 and the security association lifetime to 3600 seconds (1 hour).
! If different parameters are required, modify this template before applying the configuration.
 
crypto ipsec profile oracle-vpn
 set pfs group5
 set security-association lifetime seconds 3600
 set transform-set oracle-vpn-transform
 
! IPSec Peers
 
! Two ISAKMP profiles are created for each Oracle VPN Headend.
! An ISAKMP profile is used as a repository for various Phase 1 commands tied to a specific IPSec peer. In this case, we match the previously created keyrings to an Oracle VPN headend.
 
crypto isakmp profile oracle-vpn-${oracleHeadend1}
   keyring oracle-vpn-${oracleHeadend1}
   self-identity address
   match identity address ${oracleHeadend1} 255.255.255.255
crypto isakmp profile oracle-vpn-${oracleHeadend2}
   keyring oracle-vpn-${oracleHeadend2}
   self-identity address
   match identity address ${oracleHeadend2} 255.255.255.255
 
! Virtual Tunnel Interfaces
 
! Each tunnel interface is a logical interface representing the local end of a VPN tunnel to a remote VPN peer. Each tunnel interface represents a single tunnel to a different Oracle VPN Headend. The IP address of each VPN headend is provided when you create your IPSec connection in Oracle Console.
! All traffic routed to a tunnel interface will be encrypted and sent across the tunnel towards Oracle Cloud Infrastructure.
! Each tunnel interface configuration also references the previously created IPSec profile 'oracle-vpn' for its IPSec parameters.
! WARNING: When doing static routing you do NOT have to set IPs on the tunnel interfaces unless you have pre-configured inside tunnel interfaces in Oracle Console when creating your IPSec connection. Inside tunnel interfaces are required if using BGP.
 
interface Tunnel${tunnelNumber1}
 ip address ${cpeInsideTunnelIpAddress1} ${cpeInsideTunnelNetmask1}
 tunnel source ${cpePublicIpAddress}
 tunnel mode ipsec ipv4
 tunnel destination ${oracleHeadend1}
 tunnel protection ipsec profile oracle-vpn
 
interface Tunnel${tunnelNumber2}
 ip address ${cpeInsideTunnelIpAddress2} ${cpeInsideTunnelNetmask2}
 tunnel source ${cpePublicIpAddress}
 tunnel mode ipsec ipv4
 tunnel destination ${oracleHeadend2}
 tunnel protection ipsec profile oracle-vpn
 
! IP Routing
! Pick either dynamic (BGP) or static routing. Uncomment the corresponding commands prior to applying configuration.
  
! Border Gateway Protocol (BGP) Configuration
! Uncomment below lines if you want to use BGP.
 
! router bgp ${bgpASN}
!  neighbor ${OracleInsideTunnelIpAddress1} remote-as 31898
!  neighbor ${OracleInsideTunnelIpAddress2} remote-as 31898
!  network ${onPremCidrNetwork} mask ${onPremCidrNetmask}
 
! Static Route Configuration
! Uncomment below lines if you want to use static routing.
! ip route ${vcnCidrNetwork} ${vcnCidrNetmask} Tunnel${tunnelNumber1}
! ip route ${vcnCidrNetwork} ${vcnCidrNetmask} Tunnel${tunnelNumber2}
 
! Update Any Internet Facing Access List to Allow IPSec and ISAKMP Packets
 
! You may need to allow IPSec and ISAKMP packets out your internet facing interface.
! Uncomment below lines to create a new ACL allowing IPSec and ISAKMP traffic and apply it to the outside interface.
 
! ip access-list extended INTERNET-INGRESS
!  permit udp host ${oracleHeadend1} host ${cpePublicIpAddress} eq isakmp
!  permit esp host ${oracleHeadend1} host ${cpePublicIpAddress}
!  permit udp host ${oracleHeadend2} host ${cpePublicIpAddress} eq isakmp
!  permit esp host ${oracleHeadend2} host ${cpePublicIpAddress}
!  permit icmp any any echo
!  permit icmp any any echo-reply
!  permit icmp any any unreachable
 
! interface ${outsideInterface}
!  ip address ${cpePublicIpAddress} $(netmask}
!  ip access-group INTERNET-INGRESS in

検証

基本的なトラブルシューティングのために、次のIOSコマンドが含まれています。

次のコマンドを使用して、ISAKMPセキュリティとの関連付けが2つのピア間で構築されていることを確認します。

show crypto isakmp sa

次のコマンドを使用して、すべてのBGP接続または近隣のステータスを確認します。

show ip bgp summary
show ip bgp neighbors

次のコマンドを使用して、ルート表を検証します。

show ip route

モニタリングサービス」Oracle Cloud Infrastructureからも入手可能で、クラウド・リソースを積極的にモニターします。 「VPN接続」のモニターの詳細は、「VPN接続メトリック」で入手してください。

問題がある場合は、「VPN接続のトラブルシューティング」を参照してください。