使用 DNS64 和 NAT64 設定僅限 IPv6 的子網路和執行個體
本頁面說明如何建立僅支援 IPv6 的子網路和執行個體,然後設定 DNS64 和 NAT64,以便從僅支援 IPv6 的執行個體存取 IPv4 目的地。
如要瞭解 Google Cloud中的 IPv6 到 IPv4 連線,請參閱「DNS64 和 NAT64 的 6to4 連線」一文。
事前準備
您必須具備自訂模式虛擬私有雲 (VPC) 網路,才能按照本頁說明建立 IPv6 位址範圍的子網路。詳情請參閱「建立含有 IPv6 專屬子網路的自訂模式虛擬私有雲網路」。
如果您要建立可支援內部 IPv6 位址子網路的虛擬私有雲網路,請務必在建立網路時設定 ULA 內部 IPv6 範圍。如果您有現有網路,可以為網路指派內部 IPv6 範圍。
建立僅限 IPv6 的子網路和執行個體
本節說明如何建立僅限 IPv6 的子網路和執行個體。如果您已經有僅支援 IPv6 的子網路和執行個體,可以繼續設定 DNS64 和 NAT64。
建立僅限 IPv6 的子網路
您可以建立僅支援 IPv6 的子網路,並啟用外部或內部 IPv6 位址。
如要建立僅限 IPv6 的子網路,請按照下列步驟操作。
主控台
在 Google Cloud 控制台中,前往「VPC Networks」(虛擬私有雲網路) 頁面。
如要查看「VPC 網路詳細資料」頁面,請按一下 VPC 網路的名稱。
在「子網路」分頁中,按一下
「新增子網路」。在顯示的面板中:- 提供名稱。
- 請選取區域。
- 在「IP 堆疊類型」中,選取「IPv6 (單一堆疊)」。
選取 IPv6 存取類型:內部或外部。
如果您想將存取類型設為「內部」,但「內部」選項無法使用,請確認網路上已指派內部 IPv6 範圍。
按一下「新增」。
gcloud
使用 gcloud compute networks subnets create
指令。
gcloud compute networks subnets create SUBNET \ --network=NETWORK \ --stack-type=IPV6_ONLY \ --ipv6-access-type=IPv6_ACCESS_TYPE \ --region=REGION
更改下列內容:
SUBNET
:新子網路的名稱。NETWORK
:要包含新子網路的虛擬私人雲端網路名稱。IPv6_ACCESS_TYPE
:IPv6 存取權類型。存取類型可以是EXTERNAL
或INTERNAL
。REGION
:要建立新子網路的 Google Cloud 區域。
API
對 subnetworks.insert
方法提出 POST
要求。
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks { "network": "NETWORK_URL", "name": "SUBNET" "stackType": IPV6_ONLY, "ipv6AccessType": IPv6_ACCESS_TYPE }
更改下列內容:
PROJECT_ID
:含有要修改的 VPC 網路的專案 ID。REGION
:新增子網路的 Google Cloud 區域名稱。NETWORK_URL
:您要新增子網路的 VPC 網路網址。SUBNET
:子網路名稱。IPv6_ACCESS_TYPE
:IPv6 存取權類型。存取類型可以是EXTERNAL
或INTERNAL
。
建立僅限 IPv6 的執行個體
主控台
前往「Create an instance」(建立執行個體) 頁面。
輸入執行個體的名稱。
選取含有已設定 IPv6 範圍的子網路的區域。
選用:變更這個執行個體的可用區。如果選取「任何」,Google 會根據機器類型和可用性自動選擇區域。
展開「Advanced options」(進階選項) 區段。
展開「Networking」,然後執行下列步驟:
在「網路介面」部分,按一下網路介面名稱即可編輯網路介面設定。
在「Network」(網路) 和「Subnetwork」(子網路) 中,選取要使用的網路和子網路。
選取僅限 IPv6 的子網路。子網路的 IPv6 存取類型會決定執行個體是接收內部 IPv6 位址或外部 IPv6 位址。
針對「IP 堆疊類型」,選取「IPv6 (單一堆疊)」。
針對介面的 IPv6 位址,請根據連線子網路的存取權類型執行下列操作:
- 在「主要內部 IPv6 位址」中,選取下列任一選項:
- 臨時 (自動):自動指派新的臨時內部 IPv6 位址
- 臨時 (自訂):手動指定新的臨時內部 IPv6 位址
- 清單中的已保留靜態內部 IPv6 位址
- 預留靜態內部 IPv6 位址,以便預留及指派新的靜態內部 IPv6 位址
- 在「外部 IPv6 位址」中,選取下列任一選項:
- 自動分配:自動指派新的臨時外部 IPv6 位址
- 清單中的預約靜態外部 IPv6 位址
- 預留靜態外部 IPv6 位址,以便預留及指派新的靜態外部 IPv6 位址
- 在「主要內部 IPv6 位址」中,選取下列任一選項:
如要完成修改網路介面,請按一下「Done」。
繼續執行個體建立程序。
按一下 [建立]。
gcloud
使用 gcloud compute instances create
指令建立執行個體。
gcloud compute instances create INSTANCE_NAME \ --zone ZONE \ --network-interface=network=NETWORK,subnet=SUBNET,stack-type=IPV6_ONLY
更改下列內容:
INSTANCE_NAME
:執行個體的名稱。ZONE
:建立執行個體的區域,例如europe-west1-b
。執行個體的地區是從區域推測得出。NETWORK
:建立執行個體的網路名稱。SUBNET
:要建立執行個體的子網路名稱。
API
使用 instances.insert
方法建立例項。
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { "machineType": "zones/MACHINE_TYPE_ZONE/machineTypes/MACHINE_TYPE", "name": "NAME", "disks": [ { "initializeParams": { "sourceImage":"projects/IMAGE_PROJECT/global/images/IMAGE" }, "boot": true } ], "networkInterfaces": [ { "subnetwork": "regions/REGION/subnetworks/SUBNET", "stackType": "IPV6_ONLY" } ] }
更改下列內容:
設定 DNS64 和 NAT64
本節說明如何設定 DNS64 和 NAT64,讓您從僅限 IPv6 的執行個體存取 IPv4 目的地。
建立 DNS64 伺服器政策
建立及設定 DNS64 伺服器政策,讓 Cloud DNS 為每個 IPv4 目的地提供合成的 IPv6 位址。
如要進一步瞭解如何建立及管理 DNS64 伺服器政策,請參閱「設定 DNS64」。
如要建立 DNS64 伺服器政策,請按照下列步驟操作。
主控台
前往 Google Cloud 控制台的「Cloud DNS」頁面。
在「DNS 伺服器政策」分頁中,按一下「建立政策」。
在「Name」欄位中,輸入政策名稱。
選用:在「說明」欄位中輸入政策的說明。
針對「DNS64」,選取「開啟」即可啟用 DNS64。
在「Networks」(網路) 欄位中,選取要建立政策的虛擬私有雲網路。選取含有僅 IPv6 子網路和執行個體的網路。
gcloud
如要建立 DNS64 伺服器政策,請執行 gcloud dns policies
create
指令:
gcloud beta dns policies create NAME \ --description=DESCRIPTION \ --networks=VPC_NETWORK_LIST \ --enable-dns64-all-queries
更改下列內容:
NAME
:政策名稱。DESCRIPTION
:政策說明。VPC_NETWORK_LIST
:DNS 伺服器政策繫結的 VPC 網路清單,以半形逗號分隔。指定包含僅限 IPv6 的子網路和執行個體的網路。
API
如要建立 DNS64 伺服器政策,請使用 policies.create
方法:
POST https://dns.googleapis.com/dns/beta/projects/PROJECT_ID/policies { "kind": "dns#policy", "networks": [ { "kind": "dns#policyNetwork", "networkUrl": "NETWORK_URL" } ], "dns64Config": { "scope": { allQueries: true, } } }
更改下列內容:
PROJECT_ID
:您的專案 ID。NETWORK_URL
:DNS 伺服器政策必須繫結的 VPC 網路的完整網址,格式如下:https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/VPC_NETWORK_NAME
。指定包含僅限 IPv6 子網路和執行個體的網路。
建立 Cloud NAT 閘道以啟用 NAT64
在包含僅 IPv6 子網路和執行個體的 VPC 網路和區域中,建立 Cloud NAT 閘道,即可設定公開 NAT。
如要進一步瞭解如何建立及管理 Cloud NAT 閘道,請參閱「使用 Public NAT 設定及管理網路位址轉譯」。
如要建立 NAT64 的 Cloud NAT 閘道,請按照下列步驟操作。
主控台
前往 Google Cloud 控制台的「Cloud NAT」頁面。
按一下「開始使用」或
「建立 Cloud NAT 閘道」。在「閘道器名稱」欄位中,輸入閘道器的名稱。
在「NAT 類型」中,選取「公用」。
在「Select Cloud Router」(選取 Cloud Router) 部分中,設定下列項目:
- 在「Network」(網路) 欄位中,選取要建立閘道的 VPC 網路。
- 在「區域」欄位中,設定閘道的區域。
- 在「Cloud Router」欄位中,選取或建立該地區的 Cloud Router。
在「Cloud NAT 對應」部分,針對「來源端點類型」,請確認已選取「VM 執行個體、GKE 節點、無伺服器」選項。
在「來源 IP 版本」欄位中,選取「IPv6 子網路範圍」,然後設定要使用 Cloud NAT 的來源 IPv6 子網路範圍。
- 如要為區域中所有子網路的內部和外部 IP 範圍使用 Cloud NAT,請選取「所有子網路」。
- 如要限制哪些子網路可使用 Cloud NAT,請選取「自訂」,然後執行下列操作:
- 在「子網路」部分中,選取所需子網路。
- 選用:如要指定其他子網路,請按一下「新增子網路」,然後新增其他子網路。
為 Cloud NAT 閘道設定其他選項。詳情請參閱 Cloud NAT 說明文件中的「建立 Cloud NAT 閘道」。
按一下 [建立]。
gcloud
本節說明如何建立 Cloud NAT 閘道,並將所有設定選項設為預設值。如要進一步瞭解如何自訂閘道設定,請參閱「自訂 Cloud NAT 閘道的設定」。
如要建立 Cloud NAT 閘道,請使用 gcloud compute routers nats create
指令。
在您要使用 Cloud NAT 閘道的地區建立 Cloud Router。您需要這個 Cloud Router 才能建立 Cloud NAT 閘道。
為 IPv6 來源子網路範圍設定 Cloud NAT (預先發布版)。
下列設定會為區域中的所有 IPv6 子網路範圍啟用 NAT,包括僅支援 IPv6 和雙重堆疊子網路。您也可以使用
--nat64-custom-v6-subnet-ip-ranges
標記,為特定子網路設定 NAT。gcloud compute routers nats create NAT_CONFIG \ --router=NAT_ROUTER \ --region=REGION \ --auto-allocate-nat-external-ips \ --nat64-all-v6-subnet-ip-ranges
更改下列內容:
NAT_CONFIG
:NAT 設定的名稱。NAT_ROUTER
:您在前一個步驟中建立的 Cloud Router 名稱。REGION
:您要使用 Cloud NAT 閘道的地區。
API
如要使用 API 建立 Cloud Router 和 Cloud NAT 閘道,請使用 routers.insert
方法並設定 nats[]
欄位。
本節說明如何建立 Cloud NAT 閘道,並將所有設定選項設為預設值。如要進一步瞭解如何自訂閘道設定,請參閱「建立 Cloud NAT 閘道」。
如要進一步瞭解如何建立 Cloud Router,請參閱「建立 Cloud Router 以將 VPC 網路連線至對等網路」。
以下設定會為區域中的所有 IPv6 子網路範圍啟用 NAT。您也可以將 sourceSubnetworkIpRangesToNat64
設為 LIST_OF_IPV6_SUBNETWORKS
,並在 nats[].nat64Subnetworks[]
欄位中指定子網路,為特定子網路設定網路位址轉譯。
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers { "name": "ROUTER_NAME", "network": "NETWORK", "bgp": { "asn": "ASN_NUMBER" }, "nats": [ { "name": NAT_CONFIG, "sourceSubnetworkIpRangesToNat64": ALL_IPV6_SUBNETWORKS, "natIpAllocateOption": AUTO_ONLY } ] }
更改下列內容:
PROJECT_ID
:含有 VPC 網路的專案 ID。REGION
:您希望 Cloud Router 和 Cloud NAT 閘道所在的地區。ROUTER_NAME
:Cloud Router 的名稱。這個名稱會顯示在 Google Cloud 主控台中,Google Cloud CLI 會使用這個名稱參照 Cloud Router。NETWORK
:建立 Cloud Router 和 Cloud NAT 閘道的 VPC 網路。ASN_NUMBER
:您所設定 Cloud Router 的私人 ASN (64512
-65534
、4200000000
-4294967294
);這個 ASN 可以是您尚未在相同區域和網路中用於對等 ASN 的任何私人 ASN,例如65001
Cloud Router 要求您使用私人 ASN,但內部部署的 ASN 可以是公開或私人。NAT_CONFIG
:NAT 設定的名稱。
後續步驟
- 如要瞭解如何管理虛擬私有雲網路和子網路,請參閱「建立及管理虛擬私有雲網路」。
- 如要瞭解僅支援 IPv6 的執行個體,請參閱「為執行個體和執行個體範本設定 IPv6 位址」。
- 如要進一步瞭解如何建立及管理 DNS64 伺服器政策,請參閱「設定 DNS64」。
- 如要進一步瞭解如何建立及管理 Cloud NAT 閘道,請參閱「使用 Public NAT 設定及管理網路位址轉譯」。