IBM Cloud Docs
VPN ゲートウェイへの接続の追加

VPN ゲートウェイへの接続の追加

接続は、 VPN ゲートウェイの作成 時に追加することも、プロビジョン後に追加することもできます。 VPN 接続を構成するときに、オートネゴシエーションを使用して接続するか、事前に定義したカスタムの IKE ポリシーまたは IPsec ポリシーを使用するかを選択できます。 詳しくは、ポリシーのネゴシエーションについてを参照してください。

接続に指定する IKE のフェーズ 1 とフェーズ 2 (IPsec) のセキュリティー・オプションは、VPC 外部のネットワークのピア・ゲートウェイに設定されているオプションと同じでなければなりません。

コンソールで接続を追加する

既存の VPN ゲートウェイに VPN 接続を追加するには、以下の手順を実行します。

  1. VPNゲートウェイの表で作業したいゲートウェイの行を強調表示し、「Actions」メニューの「 New connection」(新規接続 )をクリックします。 「Actions」メニューの「 Actions」(アクション)。

    または、ゲートウェイの詳細ページで、VPN接続セクションの「 作成 」をクリックすることもできます。

  2. 以下の情報を指定して、このゲートウェイと VPC 外部のネットワーク間の接続を定義します。

    • VPN 接続名 - 接続の名前 (my-connection など) を入力します。

    • ピア・ゲートウェイ・アドレス - VPC 外部のネットワークの VPN ゲートウェイの IP アドレスを指定します。

      VPN接続のプロビジョニング後、ピアゲートウェイアドレスの種類をIPアドレスからFQDNに、またはFQDNからIPアドレスに変更することはできません。

    • 確立モード- 「双方向」 または 「ピアのみ」 のいずれかを選択します。

      • 双方向モードは、VPNゲートウェイのどちら側からでもIKEプロトコルのネゴシエーション(またはリキー処理)を開始します。
      • 「ピアのみ」 モードでは、ピアはこの VPN ゲートウェイ接続の IKE プロトコル・ネゴシエーションを開始できます。 ピアは、接続が確立された後に鍵再設定プロセスを開始することも担当します。

      ピア・デバイスが NAT デバイスの背後にあり、パブリック IP アドレスを持っていない場合は、必ず 「ピアのみ」 を指定してください。

    • 事前共有鍵 - VPC 外部のネットワークの VPN ゲートウェイの認証鍵を指定します。 事前共有鍵は、16 進数字のストリング、または印刷可能な ASCII 文字のパスフレーズです。 ほとんどのピア・ゲートウェイのタイプに対応できるように、このストリングは以下の規則に従う必要があります。

      • 数字、小文字、大文字、以下の特殊文字の組み合わせが可能: - + & ! @ # $ % ^ * ( ) . , :
      • ストリングの長さは 6 文字から 128 文字まででなければならない。
      • 先頭文字を 0x0s にすることはできない。
    • トラフィックを分散する(ルートベースVPNのみ)- VPCルートのネクストホップがVPN接続である場合に、VPNゲートウェイ接続の Up トンネル間でトラフィックを分散できるようにします。 このチェックボックスが選択されていない場合、VPNゲートウェイはプライマリ・イグレス・パスとして小さなパブリックIPを持つトンネルを使用し、プライマリ・イグレス・パスが無効になっている場合にのみ、トラフィックはセカンダリ・パスを経由します。 詳しくは、ユースケース4:ルートベースVPNのトラフィック分散 をご覧ください。

    • Local IBM CIDRs (Policy-based VPN のみ)- VPNトンネルを通して接続したいVPC内の1つ以上のCIDRを指定します。

    • ピアCIDR (ポリシーベースVPNのみ)- VPNトンネルを通して接続したい相手側ネットワークのCIDRを1つ以上指定します。 ローカル・サブネットとピア・サブネットのサブネット範囲がオーバーラップすることは許可されません。

  3. ピア・ゲートウェイがアクティブであることを確認するために VPN ゲートウェイがメッセージを送信する方法を構成するには、**「非活動ピア検出」**セクションで以下の情報を指定します。

    • アクション - ピア・ゲートウェイが応答を停止した場合に実行するアクション。 例えば、ゲートウェイで即時に接続の再ネゴシエーションを実行する場合は、**「再始動」**を選択します。
    • 間隔 (秒) (Interval (sec)) - ピア・ゲートウェイがアクティブであることを確認する頻度。 デフォルトでは、メッセージは 2 秒間隔で送信されます。
    • タイムアウト(秒) - ピア・ゲートウェイからの応答を待機する時間。 デフォルトでは、10 秒以内に応答を受け取らなければ、ピア・ゲートウェイは非アクティブと見なされます。
  4. **「ポリシー」**セクションで、接続のフェーズ 1 およびフェーズ 2 のネゴシエーションに使用する Internet Key Exchange (IKE) および Internet Protocol Security (IPsec) オプションを指定します。

    • ゲートウェイが接続の確立を自動的に試行するように設定する場合は、**「自動」**を選択します。
    • 特定のセキュリティ要件を強制する必要がある場合、または他のネットワークのVPNゲートウェイがオートネゴシエーションで試行されるセキュリティ提案をサポートしていない場合は、カスタムポリシーを選択または作成します。
  5. 「拡張オプション」 セクションでは、デフォルトの IKE ID を使用する代わりに、ローカルおよびピアの IKE ID をカスタマイズできます。 ピア IKE ID は多くても 1 つしか指定できません。

    ポリシー・ベースの VPN ゲートウェイの場合、最大で 1 つのローカル IKE ID を構成できます。 経路ベースの VPN ゲートウェイの場合、ローカル IKE ID を構成するには、2 つを指定する必要があります。 メンバーに値を指定することも、入力フィールドを空のままにすることもできます。

    • ローカル IKE ID-ローカル IKE ID のタイプを選択し、その値を入力します。 例えば、4オクテットの IPv4 アドレス(9.168.3.4 )、FQDN(my-vpn.example.com )、ホスト名(my-host )、または base64-encoded キーID(MTIzNA== )を入力できます。

      • 静的経路モードは、アクティブ/アクティブ・モードの 2 つのメンバーで構成されます。最初の ID は最初のメンバーに適用され、2 番目の ID は 2 番目のメンバーに適用されます。 ローカル IKE ID を指定しない場合、タイプは IPv4 アドレスになり、値はメンバーの VPN 接続トンネルのパブリック IP アドレスになります。

      • ポリシー・モードは、アクティブ/スタンバイ・モードの 2 つのメンバーで構成されます。 ローカル IKE アイデンティティはアクティブメンバーに適用されます。 値を指定しない場合、ローカルIKE IDはVPNゲートウェイのパブリックIPアドレスになります。

    • ピア IKE ID-ピア IKE ID のタイプを選択し、その値を入力します。 たとえば、 IPv4 アドレス(9.168.3.4 )、FQDN(my-vpn.example.com )、ホスト名(my-host )、 base64-encoded キーID(MTIzNA== )を入力できます。

      ピア IKE アイデンティティはアクティブメンバーに適用されます。 値を指定しない場合、ピア・ゲートウェイのIPv4アドレスまたはFQDNを使用します。

  6. 「要約」パネルを確認し、 「VPN 接続の作成」 をクリックします。

CLIから接続を追加する

開始する前に、 CLI 環境をセットアップします

CLIからVPN接続を作成するには、以下のコマンドを入力する:

ibmcloud is vpn-gateway-connection-create CONNECTION_NAME VPN_GATEWAY PEER PRESHARED_KEY
[--vpc VPC] [--admin-state-up true | false] [--dead-peer-detection-action restart | clear | hold | none]
[--distribute-traffic true | false]
[--dead-peer-detection-interval INTERVAL] [--dead-peer-detection-timeout TIMEOUT] [--ike-policy IKE_POLICY_ID]
[--ipsec-policy IPSEC_POLICY_ID] [--peer-cidr CIDR1 --peer-cidr CIDR2 ... --local-cidr CIDR1 --local-cidr CIDR2 ...]
[[--local-ike-identity-type fqdn | hostname | ipv4_address | key_id --local-ike-identity-value VALUE] |
[--local-ike-identities LISTENER_POLICIES_JSON | @LISTENER_POLICIES_JSON_FILE]]
[--peer-ike-identity-type fqdn | hostname | ipv4_address | key_id --peer-ike-identity-value VALUE]
[--establish-mode bidirectional | peer_only] [--output JSON] [-q, --quiet]
ibmcloud is vpn-gateway-connection-create CONNECTION_NAME VPN_GATEWAY PEER PRESHARED_KEY

ここで、

CONNECTION_NAME
接続の名前。
VPN_GATEWAY
VPNゲートウェイのID。
PEER
ピアVPNゲートウェイのIPアドレスまたはFQDN。
PRESHARED_KEY
共有鍵。
--vpc
VPC の ID または名前。 これは、このVPC内で一意のリソースをその名前で指定するためにのみ必要です。
--admin-state-up
false に設定すると、VPNゲートウェイ接続がシャットダウンされる。 これは、 true または false のいずれかです。
--dead-peer-detection-action
デッドピアの検出アクション。 これは、 restartclearhold、または none のいずれかです。 (デフォルト: restart)。
--dead-peer-detection-interval
デッドピアの検出間隔を秒単位で指定する(デフォルト: 2 )。
--dead-peer-detection-timeout
デッドピアの検出タイムアウト(秒)(デフォルト: 10 )。
--distribute-traffic
true に設定すると、VPC 経路のネクストホップが VPN の場合、VPN ゲートウェイ接続の トンネル間でトラフィックを分散する または のいずれかを指定できる。 Up connection.This true false 詳しくは、ルートベースVPNのトラフィック分散 をご覧ください。
--ike-policy
IKEポリシーのID。
--ipsec-policy
IPsec ポリシーの ID。
--local-ike-identity-type
ローカル IKE ID のタイプ。 これは、 fqdnhostnameipv4_address または key_id のいずれかです。
--local-ike-identity-value
ローカル IKE ID の値です。
--local-ike-identities
ローカルの IKE ID の ID。 JSON または JSON ファイル内の LOCAL_IKE_IDENTITIES_JSON | @LOCAL_IKE_IDENTITIES_JSON_FILE
-peer-cidr
リソースのピアCIDR。
-local-cidr
リソースのローカルCIDR。
-peer-ike-identity-type
ピア IKE ID のタイプ。 これは、 ipv4_addressfqdnhostname、または key_id のいずれかです。
--peer-ike-identity-value
ピアの IKE ID の値。

ポリシー・ベースの VPN ゲートウェイは、1 つのローカル IKE ID しか持つことができません。

経路ベースの VPN ゲートウェイにローカル IKE ID が指定されている場合は、少なくとも 2 つの ID が必要です。最初の ID は VPN ゲートウェイの最初のメンバーに適用され、2 番目の ID は 2 番目のメンバーに適用されます。

--establish-mode
これは、 bidirectional または peer_only のいずれかです。 双方向モードは、VPNゲートウェイのどちら側からでもIKEプロトコルのネゴシエーション(またはリキー処理)を開始します。 ピア専用モードでは、ピアはこの VPN ゲートウェイ接続の IKE プロトコル・ネゴシエーションを開始できます。 ピアは、接続が確立された後に鍵再設定プロセスを開始することも担当します。 鍵再設定が行われない場合、VPN ゲートウェイ接続は、有効期限が切れた後に削除されます。
-output
出力を JSON 形式にすることを指定します。
-q, --quiet
詳細出力を抑制します。

コマンドの例

  • 特定のゲートウェイIDに対して、必要な設定値でVPN接続を作成する: ibmcloud is vpn-gateway-connection-create my-connection fee82deba12e4c0fb69c3b09d1f12345 169.21.50.5 lkj14b1oi0alcniejkso --local-cidr 10.240.0.0/24 --peer-cidr 192.168.1.0/24

  • トラフィックの分散機能 を有効にして、ルートベースVPNゲートウェイのVPN接続を作成する: ibmcloud is vpn-gateway-connection-create CONNECTION_NAME VPN_GATEWAY PEER PRESHARED_KEY --distribute-traffic true

  • 同じコア・パラメーターを使用し、DPD 構成を指定して VPN 接続を作成します。 ibmcloud is vpn-gateway-connection-create my-connection fee82deba12e4c0fb69c3b09d1f12345 169.21.50.5 lkj14b1oi0alcniejkso --local-cidr 10.240.0.0/24 --peer-cidr 192.168.1.0/24 --dead-peer-detection-action clear --dead-peer-detection-interval 33 --dead-peer-detection-timeout 100

  • 同じコア・パラメーターを使用し、カスタム・ポリシーの ID を指定して VPN 接続を作成します。 ibmcloud is vpn-gateway-connection-create my-connection fee82deba12e4c0fb69c3b09d1f12345 169.21.50.5 lkj14b1oi0alcniejkso --local-cidr 10.240.0.0/24 --peer-cidr 192.168.1.0/24 --ipsec-policy 72251a2e-d6c5-42b4-97b0-b5f8e8d1f479 --ike-policy 72251a2e-d6c5-42b4-97b0-b5f8e8d1f480

  • ピア FQDN を使用して VPN 接続を作成し、ローカルとピアの IKE ID を指定します。 ibmcloud is vpn-gateway-connection-create my-connection fee82deba12e4c0fb69c3b09d1f12345 on-prem.my-company.com lkj14b1oi0alcniejkso --local-cidr 10.240.0.0/24 --peer-cidr 192.168.1.0/24 --local-ike-identities '[{"type":"key_id","value":"MTIzNA=="}]' --peer-ike-identity-type fqdn --peer-ike-identity-value on-prem.my-company.com --establish-mode peer_only

  • ピアがこの VPN ゲートウェイ接続の IKE プロトコル・ネゴシエーションを開始できるようにする VPN 接続を作成します。 ibmcloud is vpn-gateway-connection-create my-connection fee82deba12e4c0fb69c3b09d1f12345 169.21.50.5 lkj14b1oi0alcniejkso --establish-mode peer_only --local-ike-identities '[{type:ipv4_address,value:2.2.2.2},{type:fqdn,value:sadsadasd.com}]' --peer-ike-identity-type key_id --peer-ike-identity-value MTIzNA==

  • 拡張構成オプションを使用して VPN 接続を作成します。 ibmcloud is vpn-gateway-connection-create to-prem ${gateway_id} on-prem.test.com test123 --local-cidr 10.10.20.0/28 --peer-cidr 192.168.0.0/24 --peer-ike-identity-type ipv4_address --peer-ike-identity-value 192.168.0.1 --establish-mode peer_only

CLI から VPN ゲートウェイ接続へのローカル CIDR の追加

開始する前に、 CLI 環境をセットアップします

CLI から VPN ゲートウェイ接続にローカル CIDR を追加するには、次のコマンドを入力します。

このコマンドは、ポリシー・モード VPN ゲートウェイでのみサポートされます。

ibmcloud is vpn-gateway-connection-local-cidr-add VPN_GATEWAY CONNECTION PREFIX_ADDRESS PREFIX_LENGTH [--vpc VPC] [--output JSON] [-q, --quiet]

ここで、

VPN_GATEWAY
VPNゲートウェイのID。
CONNECTION
VPN接続のIDまたは名前。
PREFIX_ADDRESS
CIDR の接頭部アドレス部分。
PREFIX_LENGTH
CIDR の接頭部長さ部分。
--output value
JSON形式の出力。
-q, --quiet
詳細出力を抑制します。

コマンド例

必要な構成値を持つ特定の接続名のローカル CIDR を追加します。 ibmcloud is vpn-gateway-connection-local-cidr-add my-vpn-gateway my-connection 3.3.3.0/24

CLI から VPN ゲートウェイ接続へのピア CIDR の追加

開始する前に、 CLI 環境をセットアップします

CLI から VPN ゲートウェイ接続にピア CIDR を追加するには、次のコマンドを入力します。

このコマンドは、ポリシー・モード VPN ゲートウェイでのみサポートされます。

ibmcloud is vpn-gateway-connection-peer-cidr-add VPN_GATEWAY CONNECTION PREFIX_ADDRESS PREFIX_LENGTH [--vpc VPC] [--output JSON] [-q, --quiet]

ここで、

VPN_GATEWAY
VPN ゲートウェイの ID。
CONNECTION
VPN 接続の ID または名前。
PREFIX_ADDRESS
CIDRのプレフィックスアドレス部分。
PREFIX_LENGTH
CIDRのプレフィックス長部分。
--output value
JSON形式で出力する。
-q, --quiet
詳細出力を抑制します。

コマンド例

特定の接続名のピア CIDR を、必要な構成値とともに追加します。 ibmcloud is vpn-gateway-connection-peer-cidr-add my-vpn-gateway my-connection 4.4.4.0/24

APIとの接続を追加する

APIを使用してVPN接続を作成するには、以下の手順に従ってください:

  1. 適切な変数を設定して API 環境をセットアップします。

  2. API コマンドで使用する追加の変数を格納します。次に例を示します。

    • vpnGatewayId- VPNゲートウェイの識別子。

      export vpnGatewayId=<your_vpn_gateway_id>
      
    • ikePolicyId- このIKEポリシーの一意の識別子。

      export ikePolicyId=<your_ike_policy_id>
      
    • ipsecPolicyId- この IPsec ポリシーの一意な識別子。

      export ipsecPolicyId=<your_ipsec_policy_id>
      
  3. すべての変数を設定したら、VPN ゲートウェイ接続を作成します。 以下に例を示します。

       curl -X POST "$vpc_api_endpoint/v1/vpn_gateways/$vpnGatewayId/connections?version=$api_version&generation=2" \
         -H "Authorization: $iam_token" \
         -d '{
             "name": "my-vpn-connection",
             "psk": "'$psk'",
             "dead_peer_detection": {
                 "action": "restart",
                 "interval": 2,
                 "timeout": 10
             },
             "local": {
                 "cidrs": "'$localCidrs'"
             },
             "peer": {
                 "cidrs": "'$remoteCidrs'",
                 "address": "7.8.9.10"
             }
             "ike_policy": {
                 "id": "'$ikePolicyId'"
             },
             "ipsec_policy": {
                 "id": "'$ipsecPolicyId'"
             }
         }'
    
  4. (オプション) 拡張構成オプションを使用して接続を作成するには、以下のようにします。

    curl -X POST "$vpc_api_endpoint/v1/vpn_gateways/$vpnGatewayId/connections?version=$api_version&generation=2"  \
          -H "Authorization: $iam_token"      -d '{  \
          "name": "my-advanced-vpn-connection",
          "establish_mode": "peer_only",
          "psk": "'$psk'",
          "dead_peer_detection": {
              "action": "restart",
              "interval": 2,
              "timeout": 10
          },
          "local": {
              "cidrs": "'$localCidrs'",
              "ike_identities": [
                  {
                      "type": "key_id",
                      "value": "dGVzdGtleQ=="
                  }
              ]
          },
          "peer": {
              "cidrs": "'$remoteCidrs'",
              "ike_identity": {
                  "type": "hostname",
                  "value": "cisco-asa"
              },
              "fqdn": "on-prem.test.com"
          }
          "ike_policy": {
              "id": "'$ikePolicyId'"
          },
          "ipsec_policy": {
              "id": "'$ipsecPolicyId'"
          },
          "distribute_traffic":true
      }'
    

API を使用した VPN ゲートウェイ接続へのローカル CIDR の追加

API を使用してローカル CIDR を VPN ゲートウェイ接続に追加するには、以下の手順を実行します。

この API は、ポリシー・モード VPN ゲートウェイでのみサポートされます。

  1. 適切な変数を設定して API 環境をセットアップします。

  2. API コマンドで使用する追加の変数を格納します。次に例を示します。

    • vpnGatewayId- VPNゲートウェイの識別子。

      export vpnGatewayId=<your_vpn_gateway_id>
      
    • connectionId-この VPN 接続の固有 ID。

      export connectionId=<your_connection_id>
      
    • cidr_prefix- CIDRのプレフィックスアドレス部分。

      export cidr_prefix=<your_cidr_prefix>
      
    • prefix_length- CIDRのプレフィックス長部分。

      export prefix_length=<your_prefix_length>
      
  3. すべての変数が開始されたら、VPN ゲートウェイ接続にローカル CIDR を追加します。 以下に例を示します。

       curl -X PUT "$vpc_api_endpoint/v1/vpn_gateways/$vpnGatewayId/connections/$connectionId/local_cidrs/${cidr_prefix}/${prefix_length}?version=$api_version&generation=2" \
         -H "Authorization: $iam_token"
    

API を使用した VPN ゲートウェイ接続へのピア CIDR の追加

API を使用して VPN ゲートウェイ接続にピア CIDR を追加するには、以下の手順を実行します。

この API は、ポリシー・モード VPN ゲートウェイでのみサポートされます。

  1. 適切な変数を設定して API 環境をセットアップします。

  2. API コマンドで使用する追加の変数を格納します。次に例を示します。

    • vpnGatewayId - VPN ゲートウェイの ID

      export vpnGatewayId=<your_vpn_gateway_id>
      
    • connectionId-この VPN 接続の固有 ID

      export connectionId=<your_connection_id>
      
    • cidr_prefix- CIDRのプレフィックスアドレス部分

      export cidr_prefix=<your_cidr_prefix>
      
    • prefix_length- CIDRのプレフィックス長部分。

      export prefix_length=<your_prefix_length>
      
  3. すべての変数が開始されたら、ピア CIDR を VPN ゲートウェイ接続に追加します。 以下に例を示します。

       curl -X PUT "$vpc_api_endpoint/v1/vpn_gateways/$vpnGatewayId/connections/$connectionId/peer_cidrs/${cidr_prefix}/${prefix_length}?version=$api_version&generation=2" \
         -H "Authorization: $iam_token"
    

Terraform を使用した接続の追加

Terraform を使用して接続を追加するには、以下のコマンドを実行します。

   resource "ibm_is_vpn_gateway_connection" "is_vpn_gateway_connection" {
     name                 = "my-vpn-gateway-connection"
     vpn_gateway    = ibm_is_vpn_gateway.is_vpn_gateway.id
     peer_address   =  "7.8.9.10"
     preshared_key = var.presharedkey
     local_cidrs        = [var.localCIDR]
     peer_cidrs        = [var.peerCIDR]
   }

以下のTerraformの例は、VPNゲートウェイ接続を作成する:

resource "ibm_is_vpn_gateway_connection" "is_vpn_gateway_connection" {
  name           = "my-vpn-gateway-connection"
  vpn_gateway    = ibm_is_vpn_gateway.is_vpn_gateway.id
  preshared_key  = "VPNDemoPassword"
  establish_mode = "bidirectional"
  peer {
    cidrs   = [var.peerCIDR]
    address = "7.8.9.10"
  }
  local {
    cidrs = [var.localCIDR]
  }
  ike_policy   = ibm_is_ike_policy.is_ike_policy.id
  ipsec_policy = ibm_is_ipsec_policy.is_ipsec_policy.id
}

以下のTerraformの例は、トラフィックの分散機能 を有効にしたルートベースVPNゲートウェイ用のVPN接続を作成する:


resource "ibm_is_vpn_gateway_connection" "test_VPNGatewayConnection1" {
    name = "example-vpn-gateway-connection"
    vpn_gateway = "${ibm_is_vpn_gateway.example.id}"
    peer_address = "${ibm_is_vpn_gateway.example.public_ip_address}"
    preshared_key = "VPNDemoPassword"
    distribute-traffic = true
}

以下の Terraform の例では、拡張構成オプションを使用して VPN 接続を作成します。

resource "ibm_is_vpn_gateway_connection" "is_vpn_gateway_connection" {
  name           = "to-prem"
  vpn_gateway    = ibm_is_vpn_gateway.is_vpn_gateway.id
  preshared_key  = "test123"
  establish_mode = "peer_only"
  peer {
    cidrs   = ["192.168.0.0/24"]
    ike_identity {
      type  = "ipv4_address"
      value = "192.168.0.1"
    }
    fqdn = "on-prem.test.com"
  }
  local {
    cidrs = ["10.10.20.0/28"]
  }
}

詳しくは Terraformレジストリを参照。

次のステップ

経路ベースの VPN を作成するには、まず ルーティング・テーブルを作成 してから、 VPN 接続タイプを使用して経路を作成 します。