我有一个便宜的 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 服务器。我们不会封锁我们这边的任何端口。最好的问候,支持