讓 dnsmasq 解析本地主機名稱的多個域

讓 dnsmasq 解析本地主機名稱的多個域

我正在基於 Debian 11.0 的 docker 容器內運行 dnsmasq 2.90,作為 Pi-hole 5.18.2 的一部分。

我想配置 dnsmasq 來為多個本地域(.local 和 .subdomain.mydomain.com)提供本機主機名稱的位址,因為本機應用程式具有硬編碼的 .local 網域。我一次只能讓它適用於一個網域。

該容器正在為我的本機網路提供 DNS 和 DHCP 服務。作為 Pi 孔設定的一部分,addn-hosts=/etc/pihole/local.list添加到.conf安裝在/etc/dnsmasq.d.此列表包含來自本機和本機可存取子網路的約 30 個 IP 位址和主機名稱的列表,例如:

192.168.1.10 server01
192.168.2.20 server02
100.115.x.x server03

dnsmasq 正在透過 DHCP 為本機搜尋網域提供服務,如在domain=subdomain.mydomain.comdhcp-option=option:domain-search.subdomain.mydomain.com處掛載的單獨設定檔中指定的/etc/dnsmasq.d,以及使用 設定為本機網域local=/subdomain.mydomain.com/

此搜尋網域以及 DNS 伺服器的 IP 已被我的客戶接受並如預期實作:

❯ cat /etc/resolv.conf
search subdomain.mydomain.com
nameserver 192.168.2.2

nslookup主機名稱的Aaddn-hosts按預期工作,添加搜尋後綴並返回正確的結果:

❯ nslookup
> server01
Server:     192.168.2.2
Address:    192.168.2.2#53

Name:   server01.subdomain.mydomain.com
Address: 192.168.1.10

我想為 server01.local 返回相同的 IP:

> server01.local
Server:     192.168.2.2
Address:    192.168.2.2#53

** server can't find server01.local: NXDOMAIN

我嘗試將本機新增到 .config 檔案中,local=/subdomain.mydomain.com/local/無論是否包含domain=/subdomain.mydomain.com/local/單獨的domain=subdomain.mydomain.com domain=local條目。這要么不會改變行為,要么(如果我添加這兩個domain=條目)nslookup 適用於.local而不適用於.subdomain.mydomain.com.

如何讓 dnsmasq 回應.local.subdomain.mydomain.com網域的主機名稱 IP?

答案1

對於任何將來發現這一點的人來說,答案(通常都是這樣)是我太愚蠢了。

.local 是為 mDNS 保留的因此,透過告訴我的 dnsmasq 裝置嘗試解析 .local 並宣布它能夠解析 .local,我就破壞了 mDNS。我還使用 nslookup 測試了解析,它不能解析 mDNS 查詢。

透過刪除 dnsmasq 中對 .local 的所有引用,重新啟動服務並刷新 DHCP 租約並透過 ping 測試 .local 解析,它正在工作。

相關內容