解析具有多个子网的 dnsmasq 服务器的服务器主机名

解析具有多个子网的 dnsmasq 服务器的服务器主机名

我有一个自制的Linux路由器,运行dnsmasq。它有两个不同的网卡,客户端通过它们进行连接;其中一台有子网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 没有得到答复。我该如何解决这种情况?我希望不必桥接接口或类似的东西。

答案1

据我了解,在您的情况下,服务器每个子网都有一个地址: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”。

您也可以将“localise-queries”放入 dnsmasq.conf 中,并将两个服务器地址条目放入 /etc/hosts 文件中。

相关内容