可設定的 PTR 記錄可讓您定義與 VM 執行個體外部 IP 位址相關聯的反向 DNS 記錄,使依賴於這些記錄的應用程式可以正常運作。
一些應用程式需要反向 DNS 記錄 (PTR 記錄) 來將 IP 位址解析為網域名稱。例如,使用 SMTP 的應用程式需要指向傳送電子郵件之來源網域的 PTR 記錄。若沒有這個記錄,垃圾郵件篩選器可以將電子郵件標示為聲譽不佳,進而導致電子郵件最終進入垃圾郵件資料夾,或根本不會寄出。
您只能將 PTR 記錄新增至 VM 執行個體的主要網路介面。PTR 記錄不適用於負載平衡器前端、Cloud NAT 或其他非 VM IP 位址。
只有在執行個體的主要網路介面連線至具有外部 IPv6 位址範圍的雙重堆疊或僅限 IPv6 子網路時,才能使用 IPv6 PTR 記錄。如果是雙重堆疊網路介面,您可以分別設定 IPv4 和 IPv6 PTR 記錄。
如要建立自訂 PTR 記錄以覆寫自動建立的內部 DNS PTR 名稱,請參閱受管理的反向查詢區域。
事前準備
-
如果尚未設定驗證,請先完成設定。
「驗證」是指驗證身分的程序,確認您有權存取 Google Cloud 服務和 API。如要從本機開發環境執行程式碼或範例,請選取下列其中一個選項,向 Compute Engine 進行驗證:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
- Set a default region and zone.
- 如果您有 Google 帳戶,可以使用 Search Console 進行驗證。
- 如果您有 Google 或非 Google 帳戶,可以將 VM 的 IP 位址新增至 DNS 設定,藉此完成驗證。
- 開啟 Search Console,並使用您要用來將 PTR 記錄新增至執行個體的 Google 帳戶登入。您可以使用多個帳戶驗證網域擁有權。
- 輸入 PTR 網域名稱。
- 按一下「繼續」。
- 按照指示操作,然後按一下「前往資源」。
- 按一下「設定」 (位於左側選單底部附近),然後按一下「擁有權驗證」。
- 如果 VM 尚未建立,請保留地區靜態外部 IP 位址,並在稍後建立 VM 時使用。
- 在網域的 DNS 設定中,新增含有 VM 外部 IP 位址的「A」記錄。
前往 Google Cloud 控制台的「Create an instance」(建立執行個體) 頁面。
指定 VM 詳細資料。
展開「Advanced options」(進階選項) 區段,然後執行下列操作:
- 展開「Networking」(網路) 區段。
- 建立一或多個網路介面以與這個 VM 搭配使用。或者,您也可以使用預設網路介面。
- 在「Network interfaces」(網路介面) 專區中,展開第一個網路介面,也就是主要網路介面。
- 在「公開 DNS PTR 記錄」部分,選取要新增的各類型 PTR 記錄。
- 在「PTR 網域名稱」欄位中,輸入要新增的每種 PTR 記錄的網域名稱。
- 在「External IPv4 address」(外部 IPv4 位址)或「External IPv6 address」(外部 IPv6 位址) 欄位中,選擇您先前保留的 IP 位址。如果您已透過 DNS 設定驗證 VM 的 IP 位址,則必須指定該位址。
- 如要確認網路介面設定,請按一下「Done」(完成)。
為新的 VM 設定剩餘屬性。
按一下頁面底部的 [Create] (建立)。
如要建立具有相關聯 IPv4 PTR 記錄的新執行個體,請使用
gcloud instances create
指令。gcloud compute instances create INSTANCE_NAME \ --image-family IMAGE_FAMILY \ --image-project IMAGE_PROJECT \ --public-ptr \ --public-ptr-domain DOMAIN_NAME \ --address=IP_ADDRESS
更改下列內容:
INSTANCE_NAME
:新 VM 執行個體的名稱。IMAGE_FAMILY
:可用映像檔系列中的映像檔。IMAGE_PROJECT
:會對所有映像檔和映像檔系列所參照的 Google Cloud 專案進行解析。如未提供專案名稱,系統會使用目前的預設專案。DOMAIN_NAME
:要新增至這個執行個體的網域名稱。IP_ADDRESS
:先前預留的 IP 位址。如果您已透過 DNS 設定驗證 VM 的 IP 位址,則必須指定該位址。
如要建立具有相關聯 IPv6 PTR 記錄的新執行個體,請按照下列步驟操作:
如要建立具有 IPv4 PTR 記錄的新執行個體,請對
instances.insert
方法發出POST
要求。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE", "name": "INSTANCE_NAME", "disks": [ { "initializeParams": { "sourceImage": "projects/debian-cloud/global/images/family/debian-10" }, "boot": true } ], "networkInterfaces": [ { "network": "NETWORK", "accessConfigs": [ { "type": "ONE_TO_ONE_NAT", "name": "External NAT", "natIP": "IP_ADDRESS", "publicPtrDomainName": "DOMAIN_NAME", "setPublicPtr": true } ] } ] }
更改下列內容:
PROJECT_ID
:您的專案 ID。ZONE
:執行個體所在的可用區。MACHINE_TYPE
:機器類型。INSTANCE_NAME
:執行個體的名稱。NETWORK
:電視網的網址。IP_ADDRESS
:先前預留的 IP 位址。如果您已透過 DNS 設定驗證 VM 的 IP 位址,則必須指定該位址。DOMAIN_NAME
:要新增的網域名稱。
如要建立具有 IPv6 PTR 記錄的新執行個體,請按照下列步驟操作:
前往 Google Cloud 控制台的「VM instances」(VM 執行個體) 頁面。
按一下要編輯的執行個體。
按一下 [編輯]。
在「Network interfaces」(網路介面) 區段中,按一下主要網路介面。
在「公開 DNS PTR 記錄」部分,選取要新增的各類型 PTR 記錄。
在「PTR 網域名稱」欄位中,輸入要新增的每種 PTR 記錄的網域名稱。
依序按一下 [完成] 及 [儲存]。
如果 VM 沒有存取權設定,請使用
gcloud compute instances add-access-config
指令新增。gcloud compute instances add-access-config INSTANCE_NAME
將
INSTANCE_NAME
換成您的執行個體名稱。使用
gcloud compute instances update-access-config
指令更新存取權設定,新增 PTR 記錄。 如要同時新增 IPv4 和 IPv6 PTR 記錄,請個別使用下列指令。IPv4:
gcloud compute instances update-access-config INSTANCE_NAME \ --public-ptr \ --public-ptr-domain DOMAIN_NAME
IPv6:
gcloud compute instances update-access-config INSTANCE_NAME \ --ipv6-public-ptr-domain=DOMAIN_NAME
更改下列內容:
INSTANCE_NAME
:要更新的執行個體名稱。DOMAIN_NAME
:要新增的網域名稱。
如果 VM 沒有存取權設定,請對
instances.addAccessConfig
方法發出POST
要求,新增存取權設定。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/addAccessConfig?networkInterface="nic0"
更新存取權設定,對
instances.updateAccessConfig
方法提出POST
要求,新增 PTR 記錄。如要同時新增 IPv4 和 IPv6 PTR 記錄,請個別提出下列要求。IPv4:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/updateAccessConfig?networkInterface=nic0 { "setPublicPtr": true, "publicPtrDomainName": "DOMAIN_NAME", "type": "ONE_TO_ONE_NAT" }
IPv6:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/updateAccessConfig?networkInterface=nic0 { "publicPtrDomainName": "DOMAIN_NAME", "type": "DIRECT_IPV6" }
更改下列內容:
PROJECT_ID
:專案 ID。ZONE
:執行個體的區域。INSTANCE_NAME
:執行個體名稱。DOMAIN_NAME
:要新增的網域名稱。
前往 Google Cloud 控制台的「VM instances」(VM 執行個體) 頁面。
按一下要編輯的執行個體。
按一下 [編輯]。
在「網路介面」部分,按一下主要網路介面。
在「公開 DNS PTR 記錄」部分中,取消勾選要移除的每種 PTR 記錄類型。
依序按一下 [完成] 及 [儲存]。
IPv4:
gcloud compute instances update-access-config INSTANCE_NAME \ --no-public-ptr
IPv6:
gcloud compute instances update-access-config INSTANCE_NAME \ --no-ipv6-public-ptr
IPv4:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/updateAccessConfig?networkInterface=nic0 { "setPublicPtr": false, "type": "ONE_TO_ONE_NAT" }
IPv6:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/updateAccessConfig?networkInterface=nic0 { "publicPtrDomainName": "", "type": "DIRECT_IPV6" }
PROJECT_ID
:專案 ID。ZONE
:執行個體的區域。INSTANCE_NAME
:執行個體名稱。在維護事件期間進行即時遷移程序時,如果 VM 遷移至其他主機,PTR 記錄邏輯無法正確處理部分極端情況,並會將 DNS PTR 記錄還原為完整網域名稱 (FQDN)
googleusercontent.com
。如要還原功能,請再次套用 PTR 記錄。停止具有 IPv6 PTR 記錄的 VM 時,系統會暫時取消註冊 IPv6 PTR 記錄,且該記錄不會顯示在 VM 上。重新啟動 VM 時,系統會自動重新新增記錄。
- 如要瞭解如何為資源設定及管理靜態外部 IP 位址,請參閱保留靜態外部 IP 位址。
- 如要瞭解如何建立及管理虛擬機器執行個體,請參閱「建立及啟動 VM 執行個體」。
REST
如要在本機開發環境中使用本頁的 REST API 範例,請使用您提供給 gcloud CLI 的憑證。
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
詳情請參閱 Google Cloud 驗證說明文件中的「Authenticate for using REST」。
驗證您的網域擁有權
在您建立具有自訂 PTR 記錄的 VM 之前,請驗證您是否擁有網域名稱。驗證擁有權是一項安全措施,可向 Google 證明您是網域擁有者。
驗證網域名稱的方式有兩種:
使用 Search Console 驗證
驗證網域擁有權後,在「設定」窗格中,按一下「使用者」即可查看其他已驗證的擁有者。如要在其他網域中新增 PTR 記錄,請按一下左側的屬性選擇器,該選擇器會顯示目前的網域。按一下「新增屬性」即可新增這些網域。
如果您的網域名稱並未立即驗證,請使用建議的方法來取得驗證。
將 VM 的 IP 位址新增至 DNS 設定,藉此進行驗證
建立具有 PTR 記錄的 VM 執行個體
建立新執行個體時,可以指定 PTR 記錄。如要為現有執行個體新增 PTR 記錄,請參閱「新增 PTR 記錄」。
主控台
VM 啟動後,您可以對 VM 的外部 IP 位址執行反向 DNS 查詢,確認 PTR 記錄如預期般運作。
gcloud
REST
新增 PTR 記錄
如要新增 PTR 記錄,請更新 VM 執行個體主要網路介面 (
nic0
) 的存取權設定。主控台
gcloud
REST
移除 PTR 記錄
如要移除 PTR 記錄,請更新 VM 執行個體主要網路介面 (
nic0
) 的存取權設定。移除 PTR 記錄後, Google Cloud 會以googleusercontent.com
的預設完整網域名稱回應反向 DNS 查詢。主控台
gcloud
如要移除 PTR 記錄,請使用
gcloud compute instances update-access-config
指令。如要移除 IPv4 和 IPv6 PTR 記錄,請分別使用下列指令。將
INSTANCE_NAME
替換為要更新的執行個體名稱。REST
如要移除 PTR 記錄,請對
instances.updateAccessConfig
方法發出POST
要求。如要移除 IPv4 和 IPv6 PTR 記錄,請分別提出下列要求。更改下列內容:
限制
後續步驟
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2025-07-21 (世界標準時間)。
-