Dns

resolv.conf 與 DHCP 和本地 DNS 伺服器

  • May 22, 2019

我已經在我的機器上安裝了一個本地 DNS 伺服器 (coredns) 並通過設置啟動它

name_servers=127.0.0.1

在 resolvconf.conf 中。現在我切換網路並希望將 DHCP 提供的解析設置(至少是名稱伺服器)放在另一個文件中,我可以通過添加外部 DNS 伺服器將請求轉發到該文件。

我怎麼知道resolvconf.conf設置名稱伺服器 127.0.0.1/etc/resolv.conf但將 dhcp 提供的數據寫入 /run/resolv/dhcp 之類的東西?

我正在執行 Manjaro

我假設 Debian 或相關發行版;其他發行版的設置可能resolvconf不同。

您需要在 coredns 伺服器啟動時執行此命令:

echo nameserver 127.0.0.1 | /sbin/resolvconf -a lo.coredns

當它停止時:

/sbin/resolvconf -d lo.coredns

resolvconf將自動將 127.0.0.1 設置為首選伺服器,/etc/resolv.conf並且不會添加任何其他伺服器,直到它收到 coredns 守護程序已停止的資訊(通過上面的第二個命令)。

然後,您可以編寫自己的附加腳本來/etc/resolvconf/update.d/將 DHCP 提供的資訊寫入其他配置文件(例如 的配置文件coredns)。在 Debian 9 中,這正是 BIND 和resolvconf相互集成的方式。

或者,您可以使用/run/resolvconf/interface/目錄中的文件來獲取 DHCP 提供的 DNS 伺服器資訊。

引用自:https://unix.stackexchange.com/questions/520436