dnsmasq 忽略来自非本地网络的查询

dnsmasq 忽略来自非本地网络的查询

我已经在服务器网络中配置了 dnsmasq 服务。我可以从本地服务器和网络中的“兄弟”服务器正确查询它。

root@yyy ~# nslookup google.com 172.25.x.xxx
Server:     172.25.x.xxx
Address:    172.25.x.xxx#53

Non-authoritative answer:
Name:   google.com
Address: 216.58.210.174

但是当我尝试从我的开发机器(范围 172.144.xx)查询它时,我没有得到任何响应。端口已正确打开(使用 nmap 和 telnet 测试)。

$ nmap -p 53 172.25.x.xxx -Pn

Starting Nmap 7.01 ( https://nmap.org ) at 2017-04-12 17:54 CEST
Nmap scan report for 172.25.x.xxx
Host is up (0.0018s latency).
PORT   STATE SERVICE
53/tcp open  domain

Nmap done: 1 IP address (1 host up) scanned in 0.05 seconds

$ nslookup google.com 172.25.x.xxx
connection timed out; no servers could be reached

似乎标志 --local-service 已启用,但我已经设置了接口和监听地址变量

interface=eth0
listen-address=127.0.0.1,172.25.x.xxx

我发现 --local-service 默认启用,但使用“interface”和“listen-address”时不启用。有什么方法可以检查是否仍然处于活动状态?

编辑 似乎这可能是与 udp/tcp 相关的问题。此查询适用于我的开发网络

$ dig +tcp +short cnn.com @172.25.7.110
151.101.129.67
151.101.193.67

这看起来很奇怪,因为开发机器和服务器机器可以“对话”udp。(在服务器上使用“netcat -u -l -p 53”进行测试,在开发机器上使用“netcat -u 172.25.x.xxx 53”进行测试)

答案1

看来防火墙规则是罪魁祸首。检查列表nmap53/tcp。确保 UDP 也被允许。

答案2

它已修复这边走:编辑并从变量中/etc/init.d/dnsmasq删除以修复它。--local-serviceDNSMASQ_OPTS

相关内容