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

问题描述 投票:-1回答:2

我有一个便宜的openvz Ubuntu vps,我正在尝试运行我自己的dns服务器用于学习目的。

dns服务器在localhost(通过ssh的vps上)工作正常,我可以使用dig google.com @127.0.0.1查询它,我得到了预期的结果(这不是google.com的IP,而是自定义的IP)。

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

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

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

将端口从53改为54,一切都很完美。问题是我需要它使用端口53。

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

我也尝试从不同的托管服务提供商查询一些其他随机vps,似乎每个人都有一个运行的DNS服务器!为什么每个人都回复?

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

您好,很抱歉,我们不对VPS提供“软件”技术支持。我们提供托管和操作系统,订购VPS的客户是他们自己的管理员,并且必须知道如何管理Linux服务器。我们不阻止任何端口。最好的问候,支持

dns vps nslookup dig openvz
2个回答
0
投票

Mybe你的dns服务器只绑定到loopback接口(所以它只能监听localhost)。您可以使用netstat和filter(grep)udp端口检查当前使用的服务端口(udp for DNS)

netstat -an | grep ":53"

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

nslookup google.com [dns_server_ip]

还要测试它而不使用dns_server_ip来检查当指定的名称服务器没有响应时是否存在默认的名称服务器。


0
投票

问题解决了,这是我的ISP拦截并回复dns查询。我可以做dig google.com @1.2.3.4,我得到答复:D

谁想要了解更多相关信息:

ISP Intercepting DNS Lookups

© www.soinside.com 2019 - 2024. All rights reserved.