Domain-Name-System

將 DNS 條目從 Dnsmasq 拉到其他 DNS 伺服器

  • July 25, 2018

背景

我的部門有一個開發網路,該網路基於建立大量本地 LAN 以測試各種配置的設備的想法。連接這些本地 LAN 的橋接開發網路用於管理目的。

  • 開發網路是10.100.0.0/16

  • 10.100.50.0/2410.100.55.0/24和中可能有本地 LAN10.100.60.0/24

  • 每個本地 LAN 都有自己的本地路由器/DHCP 伺服器網關

  • 本地 LAN 的網關路由器被賦予靜態 IP 地址10.100.10.0/24,上游是開發網路上的主路由器

  • 開發網路上的主路由器為我們要連接的隨機客戶端(工作站等)執行 DHCP 伺服器

  • 開發網路上的主路由器分配了路由,因此本地 LAN 綁定流量被定向到本地 LAN 網關的 IP

    • 例如,如果本地 LAN 網關具有 IP10.100.10.43和 DHCP 塊10.100.50.0/24,則主路由器上設置的路由會將所有流量發送10.100.50.0/2410.100.10.43
    • 這允許在不同網關後面的設備之間進行路由

問題

我想對 DNS 做與路由相同的事情。IE,我希望不同網關後面的設備能夠解析彼此的名稱。

目前,網關和主路由器都為其 DHCP 伺服器執行 Dnsmasq,因此 DNS 條目可在每個本地 LAN 內解析。而且,由於網關使用主路由器作為其上游 DNS 伺服器,因此開發網路上的設備可以由網關後面的設備解析。

但是,一個網關後面的設備無法解析不同網關後面的設備名稱。

解決方案

我想執行一個單獨的 DNS 伺服器,我可以將所有路由器(主路由器和網關)都指向它。理想情況下,該 DNS 伺服器將連接到所有路由器並導入 Dnsmasq 為其目前租用的客戶端註冊的所有本地 DNS 條目。因此,通過將我的客戶端指向這個主 DNS 伺服器,我可以解析任何內部主機名。

問題

這可能嗎?如果是這樣,有哪些資源可以幫助我入門?

如果沒有,我可能需要更改哪些內容才能獲得相同的功能?

有一個更好的方法嗎?如果是這樣,它是什麼?

作為參考,主路由器是Ubiquiti EdgeRouter-4,而網關是Ubiquiti EdgeRouter-X

從手冊頁

–dhcp-腳本=

每當創建新的 DHCP 租約、舊的租約被銷毀或 TFTP 文件傳輸完成時,都會執行此選項指定的執行檔。…

使用此腳本在主 DNS 伺服器上執行 nsupdate。主伺服器不能是 dnsmasq,因為 dnsmasq 不支持這種更新。使用普通綁定伺服器並將其配置為接受更新。

引用自:https://serverfault.com/questions/923486