为什么我的vps即使没有运行dns服务器也会回复dns查询?

为什么我的vps即使没有运行dns服务器也会回复dns查询?,dns,vps,nslookup,dig,openvz,Dns,Vps,Nslookup,Dig,Openvz,我有一个便宜的openvz Ubuntu vps,我正试图在上面运行我自己的dns服务器来学习 dns服务器在本地主机上运行良好(通过ssh在vps上),我可以使用dig google.com@127.0.0.1进行查询,得到预期的结果(这不是google.com的IP,而是自定义的) 当我尝试使用相同的命令从vps外部查询dns服务器时,我确实得到了回复,但IP不是我所期望的(它是一个实际的google.com IP) 经过进一步调查,我发现当从vps外部执行查询时,我的dns服务器没有接收/

我有一个便宜的openvz Ubuntu vps,我正试图在上面运行我自己的dns服务器来学习

dns服务器在本地主机上运行良好(通过ssh在vps上),我可以使用
dig google.com@127.0.0.1
进行查询,得到预期的结果(这不是google.com的IP,而是自定义的)

当我尝试使用相同的命令从vps外部查询dns服务器时,我确实得到了回复,但IP不是我所期望的(它是一个实际的google.com IP)

经过进一步调查,我发现当从vps外部执行查询时,我的dns服务器没有接收/发送数据包。所以答案是由其他东西发送的,看起来目标端口53的入站数据包有偏差,它们甚至没有到达我的dns服务器

我试图从外部查询我的dns服务器,但这次是在VPS关闭时。神奇的是,我得到了上帝知道是谁的答复

将端口从53更改为54,一切正常。 问题是我需要它使用端口53

我没有iptables规则,也没有任何其他防火墙做与端口53相关的事情

我还试图查询其他一些随机VP,从不同的托管提供商,似乎每个人都有一个dns服务器运行!为什么每个人都回答

当然我问过技术支持,他们是这么说的:

你好,, 很抱歉,我们不在VPS上提供“软件”技术支持。 我们提供主机和操作系统,订购VP的客户是他们自己的管理员,并且必须知道如何管理linux服务器。 我们不封锁我们这边的任何港口。 顺致敬意, 支持


Mybe您的dns服务器仅绑定到环回接口(因此它仅侦听
localhost
)。您可以使用
netstat
和筛选器(
grep
)检查当前使用的服务端口(用于DNS的udp)

netstat -an | grep ":53"
您还可以使用
nslookup
命令测试相同的dns查询,并在结果输出中检查回答dns查询的dns服务器ip:

nslookup google.com [dns_server_ip]

另外,在没有dns_server_ip的情况下对其进行测试,以在指定的名称服务器没有响应时检查是否存在默认名称服务器。

问题已解决,这是我的ISP正在拦截和回复dns查询。 我可以
挖掘google.com@1.2.3.4
,我得到一个回复:D

谁想知道更多关于这方面的信息:


也许您所在的本地网络截获了端口53?是的,谢谢您的提示