我家用的路由器上运行着 OpenWRT 14.07。它为本地 LAN 设备启用了 DNS 和 DHCP 服务。
然而,这也会“泄露”连接到路由器的每个设备的名称,即使通过不同的局域网。整个网络是这样的:
OpenWRT router @ 192.168.0.1 and 192.168.222.1
|-- LAN
| '-- DesktopComputer @ 192.168.0.99
'-- Guest LAN
'-- LaptopComputer @ 192.168.222.88
在 LaptopComputer 上运行以下任一命令:
$ dig -x 192.168.0.99 @192.168.0.1
$ nslookup 192.168.0.99 192.168.0.1
返回LaptopComputer.lan.
结果。
这意味着dnsmasq
OpenWRT 根据 DHCP 协商的名称将内部 IP 地址解析为内部名称。我该如何防止这种情况发生?
我希望这种反向解决方案能够失败(或返回NXDOMAIN
,或任何适当的响应)。
我甚至不使用本地主机名解析,因此我也接受完全禁用它的解决方案(同时仍解析 Internet 名称)。
答案1
您的选择域名系统似乎:
–dhcp-忽略名称[=标签:[,标签:]]- 忽略 DHCP 客户端提供的主机名。
当所有给定的标签都出现在标签集中时,忽略主机提供的任何主机名。请注意,与 dhcp-ignore 不同,可以不提供任何标签,在这种情况下,DHCP 客户端提供的主机名始终被忽略,并且仅使用 dnsmasq 中的 dhcp-host 配置以及 /etc/hosts 和 /etc/ethers 的内容将 DHCP 主机添加到 DNS。
该选项在 dnsmasq 2.71 中可用,它是 OpenWrt Barrier Breaker 14.07 的一部分。
如果你没有指定任何主机/etc/hosts或者/etc/ethers(或完全禁用它们)主机名信息应该不再“泄露”。但是,请注意,如果没有严密的防火墙,还有其他工具,例如 Netscan、nbtscan 或大量 Metasploit 扫描程序可以提供此信息。