將連線新增至 VPN 閘道

您可以在 建立 VPN 閘道 時或在佈建連線之後新增連線。 當您配置 VPN 連線時,可以選擇使用自動協議進行連接,或使用預先定義的自訂 IKE 或 IPsec 原則。 如需相關資訊,請參閱 關於原則協議

為了確保一致的演算法選擇,請在 IBM Cloud VPN 閘道和對等閘道上匹配精確的 IKE 和 IPsec 演算法及其優先順序。 如需更多關於哪些因素會影響演算法選擇的資訊,請參閱 如何為站點對站點 VPN 連線中的 IKE 和 IPsec 選擇加密演算法?

在主控台中新增連線

若要將 VPN 連線新增至現有 VPN 閘道,請遵循下列步驟:

  1. 反白顯示 VPN 閘道表中要處理的閘道的行,然後按一下動作功能表動作功能表 中的建立連線

    或者,在閘道的詳細資料頁面上,您可以按一下 VPN 連線區段中的 建立

  2. 透過指定下列資訊,定義此閘道與 VPC 外部網路之間的連線:

    • VPN 連線名稱- 輸入連線名稱,例如 my-connection

    • 連線類型- 選擇靜態或動態連線類型。

    • 對等閘道位址 — 請指定 VPC 外部網路的 VPN 閘道 IP 位址。

      在配置完 VPN 連線後,您將無法將對等閘道地址類型從 IP 位址變更為 FQDN,或從 FQDN 變更為 IP 位址。

    • 對等 ASN (僅基於動態路由)- 如果選擇動態作為連線類型,則必須指定對等 ASN。 此值識別與 VPN 交換路由的外部對等網路。

    • 建立模式-選取 雙向僅對等節點

      • 雙向模式會由 VPN 閘道器的任一側啟動 IKE 協定協商(或重新建立金鑰的流程)。
      • 僅對等節點 模式容許對等節點起始此 VPN 閘道連線的 IKE 通訊協定協議。 對等節點也負責在建立連線之後起始重設金鑰程序。

      如果您的對等節點裝置位於 NAT 裝置之後,且沒有公用 IP 位址,請確保指定 僅對等節點

    • 預先共用金鑰 — 指定 VPC 外部網路所用之 VPN 閘道的驗證金鑰。 預先共用金鑰是十六進位數字的字串,或可列印 ASCII 字元的通行詞組。 若要與大部分同層級閘道類型相容,此字串必須遵循下列規則:

      • 可以是數字、小寫或大寫字元的組合,或下列特殊字元: - + & ! @ # $ % ^ * ( ) . , :
      • 字串長度必須為 6-128 個字元。
      • 不能以 0x0s 開頭。
    • Distribute traffic (Route-based VPN only)- 當 VPC 路由的下一跳是 VPN 連線時,啟用此選項可自動在 VPN 閘道的作用中隧道之間分配流量。 當兩個 VPN 通道連接至您的遠端對等網路時,此選項有助於最大化吞吐量。 如果未啟用此選項,VPN 閘道會選擇具有較小公眾 IP 的隧道作為主要路徑,並僅在主要隧道故障時切換到次要隧道。 如需詳細資訊,請參閱 使用個案 4:為基於路由的 VPN 分配流量

    • 本端 IBM CIDR (僅限基於原則的 VPN)-在 VPC 中指定要透過 VPN 通道連接的一個以上 CIDR。

    • 對等節點 CIDR (僅限基於原則的 VPN)-在您要透過 VPN 通道連接的其他網路中指定一個以上 CIDR。 不容許本端與同層級子網路之間的子網路範圍重疊。

  3. 隧道詳細資訊部分(僅基於動態路由),指定使用 BGP 進行動態路由所需的隧道和對等介面 IP。

    • 隧道介面 IP- 指定指派給 VPN 隧道 VPN 閘道側的 IP 位址。

    • 對等介面 IP- 指定指定給 VPN 通道遠端網路端的 IP 位址。 這個位址是您的內部裝置或對等 VPN 閘道。

      隧道和對等介面 IP 必須連續,並屬於相同的 /30 子網路。 此子網路提供四個 IP 位址,但第一個 (網路位址) 和最後一個 (廣播位址) 被保留。 例如,在子網路 192.168.0.0/30 中,可用的 IP 為 192.168.0.1192.168.0.2。 如果您指定 192.168.0.1 到隧道 1 介面,則對等 1 介面必須是 192.168.0.2。 同樣地,對於隧道 2,使用不同的 /30 子網路,例如 192.168.0.4/30。 在這種情況下,請將 192.168.0.5 指派給隧道 2 介面,並將 192.168.0.6 指派給對等 2 介面。

  4. 若要設定 VPN 閘道器如何傳送訊息以檢查對等閘道器是否處於活躍狀態,請在「對等閘道器失效偵測」區段中指定以下資訊。

    • 處理方式 — 當對等閘道停止回應時應採取的處理方式。 例如,如果您要閘道立即重新協議連線,請選取重新啟動
    • 間隔(秒) — 檢查對等閘道是否處於活躍狀態的頻率。 預設情況下,每 2 秒會發送一次訊息。
    • 超時 (秒) — 等待對等閘道器回應的時間長度。 預設情況下,若在 10 秒內未收到回應,則該對等閘道將被視為非活躍狀態。
  5. 原則 區段中,指定「網際網路金鑰交換 (IKE)」及「Internet Protocol 安全 (IPsec)」選項,以用於連線的「階段 1」及「階段 2」協議。

    • 若要讓閘道器嘗試自動建立連線,請選擇「自動」。

    • 選擇或建立自訂政策,如果:

      • 您需要執行特定的安全要求。
      • 對方網路的 VPN 閘道器不支援設定時自動協商的安全提案。

      IKEv1 只支援單一演算法。 如果您的 VPN 連線使用 IKEv1 政策,則相關的 IPsec 政策也必須只包含一種演算法。 IKEv1 不支援多重演算法的 IPsec 政策。

  6. 進階選項 區段中,您可以自訂本端及對等節點 IKE 身分,而不是使用預設 IKE 身分。 最多只能指定一個對等節點 IKE 身分。

    對於原則型 VPN 閘道,您最多可以配置一個本端 IKE 身分。 對於路由型 VPN 閘道,如果您想要配置本端 IKE 身分,則必須提供兩個。 您可以為成員填入數值,或將輸入欄位留空。

    • 本端 IKE 身分-選取本端 IKE 身分的類型,然後輸入值。 例如,您可以輸入單一 4 個八位元組 IPv4 位址 (9.168.3.4)、FQDN (my-vpn.example.com)、主機名稱 (my-host) 或 base64-encoded key ID (MTIzNA==)。

      • 靜態路由模式由主動-主動模式中的兩個成員組成,其中第一個身分套用至第一個成員,第二個身分套用至第二個成員。 如果您未指定本端 IKE 身分,則類型為 IPv4 位址,且值為成員 VPN 連線通道的公用 IP 位址。

      • 原則模式由兩個處於主動-待命模式的成員組成。 本地 IKE 身分適用於活躍成員。 若未指定值,則本地 IKE 身分將為 VPN 閘道的公網 IP 位址。

    • 對等節點 IKE 身分-選取對等節點 IKE 身分的類型,然後輸入其值。 例如,您可以輸入 IPv4 位址(9.168.3.4 )、完全合格的網域名稱(FQDN)(my-vpn.example.com )、主機名稱(my-host ),或 base64-encoded 金鑰識別碼(MTIzNA== )。

      對等方的 IKE 身分適用於主動成員。 如果您未指定值,請使用對等節點閘道的 IPv4 位址或 FQDN。

  7. 檢閱「摘要」畫面,然後按一下 建立 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]
[--routing-protocol bgp | none]
[--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-asn]
[--tunnels NEIGHBOR_IP TUNNEL_INTERFACE_IP]
[--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 閘道連線。 這個欄位值可以是 truefalse
--routing-protocol
決定模式是靜態或動態。 這個欄位值可以是 bgpnone。 對於基於路由的動態 VPN,請將數值設定為 bgp
--dead-peer-detection-action
「偵測無回應對等方」動作。 這個欄位值可以是 restart, clear, hold,或 none。 (預設值:restart )。
--dead-peer-detection-interval
偵測閒置對等節點的間隔(單位:秒)(預設值:2 )。
--dead-peer-detection-timeout
偵測閒置對等節點的超時時間(以秒為單位)(預設值: 10 )。
--distribute-traffic
當 VPC 路由的下一跳為 VPN 連線時,請將此設定設為「 true 」,以便在 VPN 閘道連線的 Up 隧道之間分配流量。 此值可以是「true」或「false」。 有關詳細信息,請參閱 為基於路由的 VPN 分配流量
--ike-policy
IKE 政策的身分識別碼。
--ipsec-policy
IPsec 政策的身分識別碼。
--local-ike-identity-type
本端 IKE 身分的類型。 這個欄位值可以是 fqdn, hostname, ipv4_address,或 key_id
--local-ike-identity-value
本端 IKE 身分的值。
--local-ike-identities
本端 IKE 身分的 ID。 JSON 或 JSON 檔案中的 LOCAL_IKE_IDENTITIES_JSON | @LOCAL_IKE_IDENTITIES_JSON_FILE
--peer-asn
在動態路由中識別與 VPN 交換路由的外部對等網路。
--tunnels
指定使用 BGP 進行動態路由所需的隧道和對等介面 IP。 此欄位取得本端 (隧道) 和遠端 (對等) 介面的 IP 位址值。 隧道和對等介面 IP 必須連續,並屬於相同的 /30 子網路。
-peer-cidr
該資源的對等 CIDR 範圍。
-local-cidr
該資源的本地 CIDR。
-peer-ike-identity-type
對等節點 IKE 身分的類型。 這個欄位值可以是 ipv4_address, fqdn, hostname,或 key_id
--peer-ike-identity-value
對等節點 IKE 身分的值。

政策型 VPN 閘道只能有一個本機 IKE 身分。

如果基於路由的 VPN 閘道有指定的本機 IKE 身分,則必須至少有兩個;第一個身分適用於 VPN 閘道的第一個成員,第二個身分適用於第二個成員。

--establish-mode
此欄位可以是 bidirectionalpeer_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 身分:

    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 連線,以容許對等節點起始此 VPN 閘道連線的 IKE 通訊協定協議:

    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
    
  • 使用對等 ASN 和隧道建立基於路由的動態 VPN 連線:

    ibmcloud is vpn-gateway-connection-create my-connection --routing-protocol bgp my-vpc-gateway 169.21.50.5 lkj14b1oi0alcniejkso --distribute-traffic true --local-ike-identities '[{"type":"fqdn","value":"example.com"},{"type":"fqdn","value":"example_1.com"}]' --peer-asn 65534 --tunnels '[{"neighbor_ip":{"address":"192.168.0.2"},"tunnel_interface_ip":{"address":"192.168.0.1"}},{"neighbor_ip":{"address":"192.168.0.6"},"tunnel_interface_ip":{"address":"192.168.0.5"}}]' --peer-ike-identity-type ipv4_address --peer-ike-identity-value 192.168.0.1
    
  • 取得 VPN 閘道連線清單:

    ibmcloud is vpn-gateway-connection  my-vpc-gateway my-connection
    
  • 列出 VPN 閘道的所有服務連線:

    ibmcloud is vpn-gateway-service-connections 0727-bc813695-d777-4ceb-acfb-bd68f4828358
    
  • 取得特定 VPN 閘道的服務連線詳細資訊:

    ibmcloud is vpn-gateway-service-connection my-vpc-gateway --service-connection-id 72fd9e00-3117-4b2e-984d-9361a9a97801
    

從 CLI 將本端 CIDR 新增至 VPN 閘道連線

開始之前,請 設定 CLI 環境

若要從 CLI 將本端 CIDR 新增至 VPN 閘道連線,請輸入下列指令:

只有原則模式 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 將對等節點 CIDR 新增至 VPN 閘道連線

開始之前,請 設定 CLI 環境

若要從 CLI 將對等節點 CIDR 新增至 VPN 閘道連線,請輸入下列指令:

只有原則模式 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 閘道 ID。

      export vpnGatewayId=<your_vpn_gateway_id>
      
    • ikePolicyId-這個 IKE 原則的唯一 ID。

      export ikePolicyId=<your_ike_policy_id>
      
    • ipsecPolicyId-此 IPsec 原則的唯一 ID。

      export ipsecPolicyId=<your_ipsec_policy_id>
      
  3. 起始所有變數時,請建立 VPN 閘道連線。 例如,

       # To create a connection for policy-based VPN, use the following command:
       curl -X POST "$vpc_api_endpoint/v1/vpn_gateways/$vpnGatewayId/connections?version=$api_version&generation=2" \
         -H "Authorization: Bearer $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'"
             }
         }'
    
       # For a static route-based VPN connection, use the following command:
       curl -X POST "$vpc_api_endpoint/v1/vpn_gateways/$vpnGatewayId/connections?version=$api_version&generation=2" \
         -H "Authorization: Bearer $iam_token" \
         -d '{
             "name": "my-vpn-connection",
             "routing_protocol": "none",
             "psk": "'$psk'",
             "distribute_traffic":true,
             "dead_peer_detection": {
                 "action": "restart",
                 "interval": 2,
                 "timeout": 10
             },
             "ike_policy": {
                 "id": "'$ikePolicyId'"
             },
             "ipsec_policy": {
                 "id": "'$ipsecPolicyId'"
             }
         }'
    
      # For a dynamic route-based VPN connection, use the following command:
     curl -X POST "$vpc_api_endpoint/v1/vpn_gateways/$vpnGatewayId/connections?version=$api_version&generation=2" \
         -H "Authorization: Bearer $iam_token" \
         -H "Content-Type: application/json" \
         -H "Accept: application/json" \
         -H "X-Correlation-ID: 0ba2d683-cce9-404f-9b8e-463543888ff9" \
         -d '{
             "name": "vpn-new-connection",
             "psk": "'$psk'",
             "dead_peer_detection": {
                 "action": "restart",
                 "interval": 2,
                 "timeout": 10
             },
             "distribute_traffic": true,
             "establish_mode": "bidirectional",
             "peer": {
                 "address": "9.168.3.4",
                 "asn": 64543
             },
             "routing_protocol": "bgp",
             "tunnels": [
             {
                 "neighbor_ip": { "address": "192.168.0.2" },
                 "tunnel_interface_ip": { "address": "192.168.0.1" }
             },
             {
                 "neighbor_ip": { "address": "192.168.0.6" },
                 "tunnel_interface_ip": { "address": "192.168.0.5" }
             }
             ]
         }'
    
  4. (可選)使用進階組態選項建立連線:

    curl -X POST "$vpc_api_endpoint/v1/vpn_gateways/$vpnGatewayId/connections?version=$api_version&generation=2"  \
          -H "Authorization: Bearer $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 將本端 CIDR 新增至 VPN 閘道連線

若要使用 API 將本端 CIDR 新增至 VPN 閘道連線,請遵循下列步驟:

只有原則模式 VPN 閘道才支援此 API。

  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/local_cidrs/${cidr_prefix}/${prefix_length}?version=$api_version&generation=2" \
         -H "Authorization: Bearer $iam_token"
    

使用 API 將對等節點 CIDR 新增至 VPN 閘道連線

若要使用 API 將對等節點 CIDR 新增至 VPN 閘道連線,請遵循下列步驟:

只有原則模式 VPN 閘道才支援此 API。

  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: Bearer $iam_token"
    

若要檢視站點對站點 VPN 閘道的完整 API 集,請參閱 VPC API 參考資料

使用 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 連線,並採用 BGP:

resource "ibm_is_vpn_gateway" "example" {
  name      = "example-vpn-gateway"
  subnet    = ibm_is_subnet.example.id
  mode      = "route"
  local_asn = 64522
}
resource "ibm_is_vpn_gateway_connection" "example" {
  name               = "example-vpn-gateway-connection"
  vpn_gateway        = ibm_is_vpn_gateway.example.id
  preshared_key      = "VPNDemoPassword"
  distribute_traffic = true
  routing_protocol   = "bgp"
  local {
    ike_identities {
      type  = "fqdn"
      value = "fqdn.example.com"
    }
    ike_identities {
      type  = "fqdn"
      value = "fqdn.example.com"
    }
  }
  peer {
    ike_identity {
      type  = "fqdn"
      value = "example.fqdn.com"
    }
    fqdn = "peer-vpn.example.com"
    asn  = 65534
  }
  tunnel {
    neighbor_ip         = "192.168.1.8"
    tunnel_interface_ip = "10.0.0.8"
  }
  tunnel {
    neighbor_ip         = "192.168.1.6"
    tunnel_interface_ip = "10.0.0.6"
  }
}

如需相關資訊,請參閱 Terraform 登錄

下一步