古河電気工業

オンプレミス・ネットワークとクラウド・ネットワーク間のサイト間VPN用に古河電気工業のルーターを構成する方法を学習します。

この構成は、古河電気工業シリーズFITELnet-F220/F221の実行ファームウェア01.00(00)[0]00.00.0 [2019/07/05 15:00]を使用して検証されました。

重要

Oracleには、一連のテスト済ベンダーおよびデバイスの構成手順が用意されています。ベンダーおよびソフトウェアのバージョンに適した構成を使用してください。

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

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

重要

Oracleでは、IPSec接続を構成する複数のトンネル間で非対称ルーティングが使用されます。あるトンネルをプライマリとして、別のトンネルをバックアップとして構成した場合でも、VCNからオンプレミス・ネットワークへのトラフィックは、デバイス上で稼働している任意のトンネルを使用できます。適切にファイアウォールを構成してください。そうしないと、接続間でのpingテストまたはアプリケーション・トラフィックが確実に動作しません。

開始する前に

CPEを構成する前に、次のことを確認します:

  • インターネット・プロバイダ設定を構成します。
  • UDPポート500、UDPポート4500およびESPをオープンするようにファイアウォール・ルールを構成します。

サポートされている暗号化ドメインまたはプロキシID

暗号化ドメインの値(プロキシID、セキュリティ・パラメータ・インデックス(SPI)またはトラフィック・セレクタとも呼ばれます)は、CPEがルートベース・トンネルとポリシーベース・トンネルのどちらをサポートしているかによって異なります。使用する適切な暗号化ドメイン値の詳細は、サポートされている暗号化ドメインまたはプロキシIDを参照してください。

APIまたはコンソールからのパラメータ

Oracle Cloud Infrastructure ConsoleまたはAPIから次のパラメータを取得します。

${vpn-ip#}

  • Oracle VPNヘッドエンドのIPSecトンネル・エンドポイント。トンネルごとに1つの値があります。
  • 値の例: 129.146.12.52、129.146.13.52

${sharedSecret#}

  • IPSec ISAKMP事前共有キー。トンネルごとに1つの値があります。
  • 値の例: EXAMPLEDPfAMkD7nTH3SWr6OFabdT6exXn6enSlsKbE

${cpePublicIpAddress}

  • CPEのパブリックIPアドレス(前にコンソールを介してOracleで使用できるようになりました)。

${VcnCidrBlock}

  • VCNを作成する際、すべてのVCNホストのIP集約ネットワークを表すように会社でこのCIDRを選択しました。
  • 値の例: 10.0.0.0/20

現在のCPE構成と状態に基づくパラメータ

次のパラメータは、現在のCPE構成に基づきます。

${tunnelNumber#}

  • 特定のトンネルを識別するためのインタフェース番号。トンネルごとに、未使用のユニット番号が1つ必要です。
  • 値の例: 1、2

${isakmpPolicy}

  • ISAKMPポリシー名。
  • 値の例: isakmp-policy

${ipsecPolicy#}

  • IPSecポリシー名。
  • 値の例: ipsec-policy

${isakmpProfile#}

  • ISAKMPプロファイル名。トンネルごとに、未使用のISAKMPプロファイル名が1つ必要です。
  • 値の例: OCI-VPN-profile1、OCI-VPN-profile2

${selector}

  • セレクタ名。
  • 値の例: OCI-VPN-selector

${map#}

  • マップ名。トンネルごとに、未使用のマップ名が1つ必要です。
  • 値の例: OCI-VPN-MAP1、OCI-VPN-MAP2

${customer-bgp-asn}

  • BGP ASN。
  • 値の例: 65000

${oracle-bgp-asn#}

  • OracleのBGP ASN。
  • 値の例: 31898

${customer-interface-ip#}

  • CPEのトンネル内インタフェース。
  • 値の例: 10.0.0.16/31

${oracle-interface-ip#}

  • ORACLEのトンネル内インタフェース。
  • 値の例: 10.0.0.17/31

${router-id}

  • BGPルーターID。
  • 値の例: 10.0.0.16

構成テンプレート・パラメータのサマリー

各リージョンには複数のOracle IPSecヘッドエンドがあります。次のテンプレートにより、それぞれ対応するヘッドエンドに対して、CPEに複数のトンネルを設定できます。次の表で、「ユーザー」は、ユーザー自身またはユーザーの会社です。

パラメータ ソース 値の例
${vpn-ip1} コンソール/API 129.146.12.52
${sharedSecret1} コンソール/API (長い文字列)
${vpn-ip2} コンソール/API 129.146.13.52
${sharedSecret2} コンソール/API (長い文字列)
${cpePublicIpAddress} ユーザー 203.0.113.1
${VcnCidrBlock} ユーザー 10.0.0.0/20
${tunnelNumber1} ユーザー 1
${tunnelNumber1} ユーザー 2
${isakmpPolicy} ユーザー isakmp-policy
${ipsecPolicy} ユーザー ipsec-policy
${isakmpProfile1} ユーザー OCI-VPN-profile1
${isakmpProfile2} ユーザー OCI-VPN-profile2
${selector} ユーザー OCI-VPN-selector
${map1} ユーザー OCI-VPN-MAP1
${map2} ユーザー OCI-VPN-MAP2
${customer-bgp-asn} コンソール/API/ユーザー 65000
${oracle-bgp-asn1} コンソール/API 31898 *
${oracle-bgp-asn2} コンソール/API 31898 *
${customer-interface-ip1} コンソール/API/ユーザー 10.0.0.16/31
${customer-interface-ip2} コンソール/API/ユーザー 10.0.0.18/31
${oracle-interface-ip1} コンソール/API/ユーザー 10.0.0.17
${oracle-interface-ip2} コンソール/API/ユーザー 10.0.0.19
${router-id} ユーザー 10.0.0.16
*Oracleの商用クラウド用のBGP ASNは31898です。ただし、セルビア中央部(ジョバノヴァック)リージョンは14544です。

重要

次のISAKMPおよびIPSecポリシー・パラメータの値は商用クラウドのサイト間VPNに適用できます。Government Cloudの場合は、Government Cloudに必要なサイト間VPNパラメータにリストされている値を使用する必要があります。

ISAKMPポリシー・オプション

パラメータ 推奨値
ISAKMPプロトコル・バージョン バージョン1
交換タイプ メイン・モード
認証方式 事前共有キー
暗号化 AES-256-cbc
認証アルゴリズム HMAC-SHA1-96
Diffie-Hellmanグループ グループ5
IKEセッション・キー存続期間 28,800秒(8時間)

IPSecポリシー・オプション

パラメータ 推奨値
IPSecプロトコル ESP、トンネル・モード
暗号化 AES-CBC/256
認証アルゴリズム HMAC-SHA1-96/160
Diffie-Hellmanグループ グループ5
前方秘匿性 有効化
IPSecセッション・キー存続期間 3600秒(1時間)

CPE構成

ISAKMPとIPSecの構成

crypto ipsec policy ${ipsecPolicy}
 set pfs group5
 set security-association transform-keysize aes 256 256 256
 set security-association transform esp-aes esp-sha-hmac
exit
!
crypto ipsec selector ${selector}
 src 1 ipv4 any
 dst 1 ipv4 any
exit
!
crypto isakmp policy ${isakmpPolicy}
 authentication pre-share
 encryption aes
 encryption-keysize aes 256 256 256
 group 5
 hash sha
exit
!
crypto isakmp profile ${isakmpProfile1}
 local-address ${cpePublicIpAddress}
 set isakmp-policy ${isakmpPolicy}
 set ipsec-policy ${ipsecPolicy}
 set peer ${vpn-ip1}
 ike-version 1
 local-key ascii ${sharedSecret1}
exit
!
crypto isakmp profile ${isakmpProfile2}
 local-address ${cpePublicIpAddress}
 set isakmp-policy ${isakmpPolicy}
set ipsec-policy ${ipsecPolicy}
set peer ${vpn-ip2}
ike-version 1
 local-key ascii ${sharedSecret2}
exit
!
crypto map ${map1} ipsec-isakmp
 match address ${selector}
set isakmp-profile ${isakmpProfile1}
exit
!
crypto map ${map2} ipsec-isakmp
 match address ${selector}
 set isakmp-profile ${isakmpProfile2}
exit
!
interface Tunnel ${tunnelNumber1}
 tunnel mode ipsec map ${map1}
ip address ${customer-interface-ip1}
exit
!
interface Tunnel ${tunnelNumber2}
 tunnel mode ipsec map ${map2}
 ip address ${customer-interface-ip2}
exit

BGPの構成

ip route ${vcnCidrBlock} Tunnel ${tunnelNumber1}
ip route ${vcnCidrBlock} Tunnel ${tunnelNumber2}

静的ルートの構成

router bgp ${customer-bgp-asn}
 bgp router-id ${router-id}
 bgp log-neighbor-changes
 neighbor ${oracle-interface-ip1} ebgp-multihop 10
 neighbor ${oracle-interface-ip1} enforce-multihop
 neighbor ${oracle-interface-ip1} remote-as ${oracle-bgp-asn1}
 neighbor ${oracle-interface-ip1} update-source tunnel ${tunnelNumber1}
 neighbor ${oracle-interface-ip2} ebgp-multihop 10
 neighbor ${oracle-interface-ip2} enforce-multihop
 neighbor ${oracle-interface-ip2} remote-as ${oracle-bgp-asn2}
 neighbor ${oracle-interface-ip2} update-source tunnel ${tunnelNumber2}
 !
 address-family ipv4 unicast
  redistribute connected
exit