全部產品
Search
文件中心

Alibaba Cloud DNS PrivateZone:如何PrivateZone同步至自建DNS

更新時間:Jul 06, 2024

本文主要介紹企業在混合雲網路情境下,如何通過PrivateZone實現內網DNS記錄的配置,並同步至自建DNS。

業務情境

自建IDC與阿里雲VPC通過專線或者VPN進行網路連通。部署在自建IDC和阿里雲VPC內的業務均需要通過DNS查詢進行業務間調用。因此需要在自建IDC和阿里雲VPC共用DNS解析資料,以實現業務間能即時調用。

實現痛點

自建IDC和阿里雲VPC分別屬於兩套網路環境。在自建IDC中,客戶往往已經使用bind9等開源軟體搭建了自身的DNS服務;在阿里雲VPC內部,客戶會使用PrivateZone服務作為內網DNS解析服務。

自建IDC和PrivateZone的資料共用是混合雲內網DNS中的一大痛點。分別管理兩套資料不僅給營運工程師帶來重複新工作的增加,同時也資料一致性管理的風險。給業務帶來不確定性。

本文介紹一種自動DNS同步解決方案,可以自動將客戶在PrivateZone控制台配置的解析記錄同步至自建IDC伺服器上,並產生標準Zone檔案,bind9可以載入生效。

解決方案

  1. 解析記錄管理:解析記錄管理通過阿里雲PrivateZone控制台完成,PrivateZone提供Web控制台UI,管理DNS解析記錄十分方便;

  2. 解析記錄同步:在此我們提供一款輕量級的DNS記錄同步工具,通過阿里雲帳號AK,自動讀取PrivateZone的解析記錄,並在本地產生Zone檔案,點擊下載工具,下載後解壓縮。

  3. 解析記錄載入:自建IDC內部DNS軟體bind9載入產生的Zone檔案。

  4. 解析生效測試:使用dig或者ping命令驗證是否生效。

詳細配置

這裡以example.com為例,進行說明。

工具配置介紹:

工具有兩部分組成,同步程式Zone_file_sync 和設定檔config.json

  1. config.json的配置格式:

{
  "accessKeyId": "LCAIF4bcGHrU****",
  "accessKeySecret": "KT4eXSgppowkkPZ5AgSbxNMBHl****",
  "zone": [
    {
      "zoneName": "example.com",
      "zoneId": "298cc343c4387b0745e9b5e24fdej624",
      "filePath": "/var/named/example.com.zone"
    }
  ]
}

其中:

  • accessKeyId 與 accessKeySecret 為阿里雲帳號AK;

  • zoneName 與 zoneId 為PrivateZone控制台顯示的Zone名稱和Zoneid,請替換為自己的配置;

  • filePath 為工具產生的Zone檔案在自建IDC的DNS伺服器上存放的目錄,建議為您的bind9的Zone檔案存放目錄;

  • Zone 內部是JSON列表,可以配置多個需要同步的Zone,最多一次同步10個Zone;

bind9配置介紹

  1. bind9的named.conf配置:在named.conf檔案中,example.com的配置如下:

    zone "example.com" IN {
         type master;
         file "example.com.zone";
         allow-update { 127.0.0.1; };
    };

自動同步配置

在準備好同步工具和bind9後,按照如下命令的順序,進行執行,同步最新的PrivateZone記錄。(這裡需要將命令替換為具體實際執行的命令。)

  1. 執行更新鎖定: /usr/sbin/rndc freeze host.local

  2. 執行同步記錄: ./Zone_file_sync -c config.json

  3. 執行bind9資料載入:/usr/sbin/rndc thaw host.local

以上命令,您可以寫成 Shell 指令碼,並使用Linux伺服器的crontab功能進行定時執行,以實現自動同步PrivateZone的記錄更新功能。

生效測試

使用如下命令進行測試:dig @localhost 網域名稱

總結:

本文介紹了一種使用自動同步工具的方式,將PrivateZone的解析記錄同步至本地自建IDC內部DNS伺服器的方式。方便營運工程師搭建混合雲DNS解析方案,有效降低了混合雲情境下DNS配置的複雜度,同時能夠避免專線或者VPN的故障對自建IDC內部DNS解析的影響。