Networking

解析具有多個子網的 dnsmasq 伺服器的伺服器主機名

  • October 9, 2013

我有一個執行 dnsmasq 的自製 Linux 路由器。它有兩個不同的 NIC,通過它們連接客戶端;其中一個有子網192.168.1.,一個有子網192.168.2.。我的/etc/dnsmasq.conf樣子是這樣的:

except-interface=enp1s0
dhcp-range=interface:wlp2s0,192.168.1.10,192.168.1.25,255.255.255.0,48h
dhcp-range=interface:enp0s29f7u4,192.168.2.10,192.168.2.25,255.255.255.0,48h

解析客戶端在子網之間工作,但我無法從任何一個子網解析伺服器本身的主機名。如果我使用添加靜態規則,address=/name/IP我必須選擇一個子網,並且 ping(除其他外)在另一個子網中不起作用。所以例如,如果我設置

address=/name/192.168.1.1

然後我可以從192.168.2.子網解析主機名,但 ping 沒有得到答复。我該如何解決這種情況?我不想橋接介面或類似的東西。

據我了解,在您的情況下,伺服器對每個子網都有一個地址:192.168.1.1,另一個可能是 192.168.2.1

我猜您希望客戶端接收其相應子網的伺服器地址。

我遇到了同樣的問題,在http://t7994.network-dns-dnsmasq-general.dnstalk.us/multi-homed-server-with-same-hostname-on-2-subnets-t7994.html中找到了答案

檢查 dnsmasq 手冊頁中的“-y, –localise-queries”。

您也可以在 dnsmasq.conf 中放入“localise-queries”,並將兩個伺服器地址條目放入 /etc/hosts 文件中。

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