Oracle Cloud Infrastructureドキュメント

Libreswan

Libreswanは、FreeS/WANおよびOpenswanに基づいたオープン・ソースのIPSec実装です。 ほとんどのLinuxディストリビューションには、Libreswanなどが含まれます。また、インストールを容易にすることもできます。 オンプレミス・ネットワークまたはクラウド・プロバイダ・ネットワークのいずれかで、ホストにインストールできます。 Oracle Cloud Infrastructure VCNに接続するために別のクラウド・プロバイダのLibreswanホストを設定する例は、「Libreswanによる他のクラウドへのアクセス」を参照してください。

このトピックでは、Libreswanを実行しているCPEの構成を示します。 このルールベース構成の仮想トンネル・インタフェース(VTI)のサポートには、最小のLibreswanバージョン3.18と、最近のLinux 3.xまたは4.xカーネルが必要です。 この構成は、Libreswanバージョンの3.29.を使用して検証されました。

重要

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接続とトンネルの一般的なレイアウトをまとめたものです。

デフォルトLibreswan構成ファイル

デフォルトのLibreswanインストールでは、次のファイルが作成されます:

  • etc/ipsec.conf: Libreswan構成のルート。
  • /etc/ipsec.secrets: Libreswanがシークレットを検索するロケーションのルート(事前共有キーのトンネル)。
  • /etc/ipsec.d/: Oracle Cloud Infrastructureトンネル用に.confファイルと.secretsファイルを格納するためのディレクトリ(たとえば: oci-ipsec.confおよびoci-ipsec.secrets Libreswanは、これらのファイルをこのフォルダに作成することをお薦めします。

デフォルトのetc/ipsec.confファイルには次の行が含まれます:

include /etc/ipsec.d/*.conf

デフォルトのetc/ipsec.secretsファイルには次の行が含まれます:

include /etc/ipsec.d/*.secrets

前述の行では、/etc/ipsec.dディレクトリのすべての.confファイルと.secretsファイルが、Libreswanで使用するメイン構成ファイルとシークレット・ファイルに自動的にマージされます。

構成プロセス

Libreswanは、ルーティング・ベースおよびポリシーベースのトンネルの両方をサポートします。 トンネル・タイプは、互いに干渉せずに共存できます。 Oracle VPNヘッドエンドでは、ルーティング・ベースのトンネルが使用されます。 Oracleでは、「仮想トンネル・インタフェース(VTI)の構成構文」を使用してLibreswanを構成することをお勧めします。

このドキュメントで使用されている特定のパラメータの詳細は、「サポートされるIPSecパラメータ」を参照してください。

タスク1: Libreswanインスタンスの準備
タスク2: 必要な構成値を決定
タスク3: 構成ファイルの設定: /etc/ipsec.d/oci-ipsec.conf
タスク4: シークレットのファイルを設定: /etc/ipsec.d/oci-ipsec.secrets
タスク5: Libreswan構成を再起動
タスク6: IPルーティングの構成

検証

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

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

Libreswanステータスの確認

次のコマンドを使用して、Libreswanトンネルの現在の状態を確認します。

ipsec status

トンネルは、次の行を含む行が表示された場合に確立されます:

STATE_MAIN_I4: ISAKMP SA established

将来、LibreswanトンネルについてOracleを指定してサポート・チケットを開く必要がある場合は、前述のipsec statusコマンドの出力を含めます。

トンネル・インタフェースのステータスの確認

仮想トンネル・インタフェースの位置を確認するには、ifconfigコマンドまたはip link showコマンドを使用します。 また、インタフェースを使用してtcpdumpなどのアプリケーションを使用することもできます。

使用可能なVtiを示す、作業用のLibreswan実装を備えたifconfig出力の例を次に示します。

ifconfig
<output trimmed>
				
vti01: flags=209<UP,POINTOPOINT,RUNNING,NOARP> mtu 8980
     inet6 fe80::5efe:a00:2 prefixlen 64 scopeid 0x20<link>
     tunnel txqueuelen 1000 (IPIP Tunnel)
     RX packets 0 bytes 0 (0.0 B)
     RX errors 0 dropped 0 overruns 0 frame 0
     TX packets 0 bytes 0 (0.0 B)
     TX errors 10 dropped 0 overruns 0 carrier 10 collisions 0

vti02: flags=209<UP,POINTOPOINT,RUNNING,NOARP> mtu 8980
     inet6 fe80::5efe:a00:2 prefixlen 64 scopeid 0x20<link>
     tunnel txqueuelen 1000 (IPIP Tunnel)
     RX packets 0 bytes 0 (0.0 B)
     RX errors 0 dropped 0 overruns 0 frame 0
     TX packets 0 bytes 0 (0.0 B)
     TX errors 40 dropped 0 overruns 0 carrier 40 collisions 0

次に、ip link show出力の例を示します:

ip link show
<output trimmed>

9: vti01@NONE: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 8980 qdisc noqueue
state UNKNOWN mode DEFAULT group default qlen 1000
   link/ipip 10.0.0.2 peer 129.213.240.52

10: vti02@NONE: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 8980 qdisc noqueue
state UNKNOWN mode DEFAULT group default qlen 1000
   link/ipip 10.0.0.2 peer 129.213.240.51

また、Oracle コンソールでは、各IPSecトンネルはUP状態になっています。