將連線新增至 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 個字元。
      • 不能以 0x 或 0s 開頭。
    • 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.1 和 192.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 閘道連線。 這個欄位值可以是 true 或 false。
--routing-protocol
決定模式是靜態或動態。 這個欄位值可以是 bgp 或 none。 對於基於路由的動態 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
此欄位可以是 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 身分:

    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 登錄。

下一步