建立 VPN 閘道
您可以為 VPC 建立 IBM Cloud VPN,以安全地將 VPC 連接到另一個私有網路,例如內部網路或另一個 VPC。
在開始之前,請先查看 VPN 閘道的規劃注意事項 以及 VPN 閘道的已知限制、問題和限制。
在主控台中建立 VPN 閘道
若要在主控台中建立 VPN 閘道,請遵循下列步驟:
-
請在瀏覽器中開啟 IBM Cloud 控制台,並登入您的帳戶。
-
選取導覽功能表
,然後按一下基礎結構
> 網路 > VPN。
-
確保選取 網站至網站閘道> VPN 閘道 標籤。
-
在 VPC 的 VPN 頁面上,按一下 建立,然後選取 站台對站台 閘道磚。
-
指定下列資訊:
-
區域- 選擇要配置 VPN 閘道的區域。
-
VPN 閘道名稱-輸入 VPN 閘道的名稱,例如
my-vpn-gateway。 -
資源群組- 為 VPN 閘道器選取一個資源群組。
-
標籤-選擇性地新增標籤以識別此 VPN 閘道。
-
存取管理標籤-選擇性地將存取管理標籤新增至資源,以協助組織存取控制關係。 存取權管理標籤唯一支援的格式是
key:value。 如需相關資訊,請參閱 使用標籤控制對資源的存取權。 -
Virtual Private Cloud-選取 VPN 閘道的 VPC。
-
子網- 選擇您要建立 VPN 閘道的子網。 如需重要子網路資訊,請參閱 規劃考量。
-
模式-選取原則型或路由型 VPN。 如需 VPN 類型的相關資訊,請參閱 VPN 特性。
-
ASN- VPN 閘道的數字識別碼。 此值識別您用於 BGP 對等互聯的本機網路,並在與您的內部設備設定 BGP 會話時使用。
-
Advertised CIDRs (選用)- 將 IPv4 網路範圍廣告給遠端 VPN 對等體的 CIDR 範圍值。
動態路由需要 ASN 值。 如果您沒有指定 ASN,VPN 閘道會以預設 ASN
64520建立。 將 VPN 閘道連接到轉接閘道後,您就無法變更本機 ASN 值。
-
-
在 VPC 的 VPN 連線 區段中,開啟交換器以建立此閘道與 VPN 外部網路之間的連線功能。 您也可以在完成閘道器的配置後,新增一個 VPN 連線。 在連線詳細資訊部分,指定下列資訊:
-
VPN 連線名稱- 輸入連線名稱,例如
my-connection。 -
連線類型- 選擇靜態或動態連線類型。
-
對等節點閘道位址-透過 VPC 外部網路之 VPN 閘道的公用 IP 位址或 FQDN 來指定對等節點裝置。
-
對等 ASN (僅基於動態路由)- 如果選擇動態作為連線類型,則必須指定對等 ASN。 此值識別與 VPN 交換路由的遠端對等網路。
某些 ASN 值受到限制,不能用作對等 ASN,其中包括
0,13884,36351,64512,64513,65100,65200–65234,65402–65433,65500,或4201065000–4201065999。 這些值不是保留值就是私人 ASN 範圍的一部分,可能會造成路由衝突。 -
建立模式-選取 雙向 或 僅對等節點。
- 雙向模式會由 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 分配流量。
-
本地子網(僅限基於政策之 VPN) — 指定 VPC 中一個或多個您希望透過 VPN 隧道進行連線的子網。
-
對等子網(僅限基於政策的 VPN) — 指定對等網路中您希望透過 VPN 隧道連接的一個或多個子網。
不容許本端與同層級子網路之間的子網路範圍重疊。
-
-
在隧道詳細資訊部分(僅基於動態路由),指定使用 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 介面,則必須指定192.168.0.2到對等 1 介面。 同樣地,對於隧道 2,使用不同的/30子網路,例如192.168.0.4/30。 在這種情況下,請將192.168.0.5指派給隧道 2 介面,並將192.168.0.6指派給對等 2 介面。 此外,用於設定 IPsec 連線的隧道 IP 不能與 Transit Gateway 連線所選擇的 CIDR 範圍重疊。
-
-
在 停用對等節點偵測 區段中,配置 VPN 閘道傳送訊息的方式,以檢查對等節點閘道是否處於作用中。 指定下列資訊:
- 動作-對等節點閘道停止回應時要採取的停用對等節點偵測動作。 例如,如果您要閘道立即重新協議連線,請選取重新啟動。
- 間隔(秒) — 檢查對等閘道是否處於活躍狀態的頻率。 預設情況下,每 2 秒會發送一次訊息。
- 超時 (秒) — 等待對等閘道器回應的時間長度。 預設情況下,若在 10 秒內未收到回應,該對等閘道將不再被視為處於活躍狀態。
-
在 原則 區段中,指定「網際網路金鑰交換 (IKE)」及「Internet Protocol 安全 (IPsec)」選項,以用於連線的「階段 1」及「階段 2」協議。
- 若要讓閘道器嘗試自動建立連線,請選擇「自動」。
- 選擇或建立自訂政策,如果:
- 您需要執行特定的安全要求。
- 對方網路的 VPN 閘道器不支援設定時自動協商的安全提案。
您為該連線指定的 IKE 和 IPsec 安全性選項,必須與您 VPC 外部網路的對等閘道上所設定的選項完全一致。
-
在「進階選項」區段中,您可以自訂本端及對等節點 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。
-
從 CLI 建立 VPN 閘道
開始之前,請 設定 CLI 環境。
若要從 CLI 建立 VPN 閘道,請輸入下列指令:
ibmcloud is vpn-gateway-create VPN_GATEWAY_NAME SUBNET
[--mode policy | route]
[--advertised-cidrs IPv4_NETWORK_RANGE]
[--local-asn ASN_NUMBER]
[--resource-group-id RESOURCE_GROUP_ID | --resource-group-name RESOURCE_GROUP_NAME]
[--output JSON] [-q, --quiet]
其中:
VPN_GATEWAY_NAME- VPN 閘道的名稱。
SUBNET- 子網路的 ID。
--mode- VPN 閘道的模式。 下列其中一項:
policy、route。 --advertised-cidrs- IPv4 網路範圍,向遠端 VPN 對等體公告位址。
--local-asn- 為 BGP 對等識別您的本機網路。
--resource-group-id- 資源群組的 ID。 此選項與
--resource-group-name互斥。 --resource-group-name- 資源群組的名稱。 此選項與
--resource-group-id互斥。 --output- 以 JSON 格式輸出。
-q, --quiet- 抑制詳細輸出的選項。
指令範例
-
建立具有特定子網路 ID 的路由型 VPN 閘道:
ibmcloud is vpn-gateway-create my-vpc-gateway fee82deba12e4c0fb69c3b09d1f12345 --mode route -
使用 Default 資源群組建立原則型 VPN 閘道:
ibmcloud is vpn-gateway-create my-vpc-gateway fee82deba12e4c0fb69c3b09d1f12345 --mode policy --resource-group-name Default -
透過使用具有 JSON 格式輸出的特定資源群組 ID,建立路由型 VPN 閘道:
ibmcloud is vpn-gateway-create my-vpc-gateway fee82deba12e4c0fb69c3b09d1f12345 --mode route --resource-group-id fee82deba12e4c0fb69c3b09d1f12345 --output JSON -
建立以路由為基礎的 VPN 閘道,以廣告 CIDR 和本機 ASN 進行動態連線:
ibmcloud is vpn-gateway-create my-vpc-gateway fee82deba12e4c0fb69c3b09d1f12345 --mode route --advertised-cidrs 192.168.3.0/24 --local-asn 64520 -
列出所有 VPN 閘道:
ibmcloud is vpn-gateways ic vpn-gateways -
取得特定 VPN 閘道的詳細資訊:
ic vpn-gateway my-vpc-gateway -
使用本機 ASN 更新 VPN 閘道:
ic vpn-gateway-update my-vpc-gateway --name my-vpc-gateway --local-asn 64521 -
列出 VPN 閘道的廣告 CIDR:
ibmcloud is vpn-gateway-advertised-cidrs my-vpc-gateway -
檢查指定的已公告 CIDR 是否存在於 VPN 閘道上:
ibmcloud is vpn-gateway-advertised-cidr my-vpc-gateway --cidr 10.45.0.0/26 -
將已公告的 CIDR 新增至 VPN 閘道:
ibmcloud is vpn-gateway-advertised-cidr-add my-vpc-gateway --cidr 10.45.0.0/26 -
從 VPN 閘道中刪除已公告的 CIDR:
ibmcloud is vpn-gateway-advertised-cidr-delete my-vpc-gateway 10.45.0.0/26 -
列出 VPN 閘道的所有服務連線:
ibmcloud is vpn-gateway-service-connections my-vpc-gateway -
取得特定 VPN 閘道的服務連線詳細資訊:
ibmcloud is vpn-gateway-service-connection my-vpc-gateway --service-connection-id 72fd9e00-3117-4b2e-984d-9361a9a97801
使用 API 建立 VPN 閘道
若要使用 API 建立 VPN 閘道,請遵循下列步驟:
-
使用正確的變數來設定 API 環境。
-
儲存任何要在 API 指令中使用的附加變數。 例如,
ResourceGroupId-使用get resource groups指令尋找資源群組 ID,然後移入變數:
export ResourceGroupId=<your_resourcegroup_id>SubnetId-使用get subnet指令尋找子網路 ID,然後移入變數:
export SubnetId=<your_subnet_id> -
起始所有變數時,請建立 VPN 閘道:
- 若要建立以政策為基礎的 VPN 閘道,請使用下列指令:
curl -X POST "$vpc_api_endpoint/v1/vpn_gateways?version=$api_version&generation=2" \ -H "Authorization: Bearer $iam_token" \ -d '{ "name": "my-new-vpn-gateway", "mode": "policy", "subnet": { "id": "'$SubnetId'" }, "resource_group": { "id": "'$ResourceGroupId'" } }'- 若要為基於靜態路由的 VPN 連線建立 VPN 閘道,請使用下列指令:
curl -X POST "$vpc_api_endpoint/v1/vpn_gateways?version=$api_version&generation=2" \ -H "Authorization: Bearer $iam_token" \ -d '{ "name": "my-new-vpn-gateway", "mode": "route", "subnet": { "id": "'$SubnetId'" }, "resource_group": { "id": "'$ResourceGroupId'" } }'- 若要為以動態路由為基礎的 VPN 連線建立 VPN 閘道,請使用下列指令:
curl -X POST "$vpc_api_endpoint/v1/vpn_gateways?version=$api_version&generation=2" \ -H "Authorization: Bearer $iam_token" \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ -H "X-Correlation-ID: 9852c2ff-c20a-4082-98da-cd689bcd5a11" \ -d '{ "name": "my-new-vpn-gateway", "subnet": { "id": "'"$SubnetId"'" }, "mode": "route", "local_asn": 64520, "advertised_cidrs": [ "192.168.0.0/24" ], "resource_group": { "id": "'"$ResourceGroupId"'" } }'- 若要列出 VPN 閘道的所有廣告 CIDR,請使用下列指令:
curl -X GET "$vpc_api_endpoint/v1/vpn_gateways?version=$api_version&generation=2/$vpn_gateway_id/advertised_cidrs/$cidr?__QUERY__" \ -H "Authorization: Bearer $iam_token"- 若要從 VPN 閘道移除已公告的 CIDR,請使用下列指令:
curl -X DELETE "$vpc_api_endpoint/v1/vpn_gateways?version=$api_version&generation=2/$vpn_gateway_id/advertised_cidrs/$cidr?__QUERY__" \ -H "Authorization: Bearer $iam_token" \- 若要在 VPN 閘道上設定已公告的 CIDR,請使用下列指令:
curl -X PUT "$vpc_api_endpoint/v1/vpn_gateways?version=$api_version&generation=2/$vpn_gateway_id/advertised_cidrs/$cidr?__QUERY__" \ -H "Authorization: Bearer $iam_token"
若要檢視站點對站點 VPN 閘道的完整 API 集,請參閱 VPC API 參考資料。
使用 Terraform 建立 VPN 閘道
下列範例使用 Terraform 建立 VPN 閘道:
resource "ibm_is_vpn_gateway" "is_vpn_gateway" {
name = "my-vpn-gateway"
subnet = ibm_is_subnet.is_subnet.id
mode = "route"
}
如需相關資訊,請參閱 Terraform 登錄。
下一步
建立 VPN 閘道之後,您可以:
- 如果您決定使用自訂 IKE 原則而非自動協調,請 建立 IKE 原則。
- 如果您決定使用自訂 IPsec 原則而非自動協調,請 建立 IPsec 原則。
- 如果您在配置 VPN 閘道時尚未建立 VPN 連線,請建立一個 VPN 連線。 如需相關資訊,請參閱 新增連線至 VPN 閘道。
- 以基於策略的模式為 VPN 網關 設定路由傳播。
- 若要建立路由型 VPN,請先 建立路由表,然後 使用 VPN 連線類型建立路由。
- 對於以動態路由為基礎的 VPN 連線,請將轉接閘道附加到 VPN 閘道。 請參閱 建立轉接閘道。