运行DNS的Ubuntu服务器上很奇怪的问题。
这是networking设置。
有两个C类networking范围。 假设他们是:
216.107.249.0/24 216.107.250.0/24
服务器在216.107.250.0范围内分配一个IP。 在服务器上,在216.107.250.0范围内ping任何东西都没有问题。
DNS请求来自216.107.249.0范围内的客户端。 Wireshark显示请求进来。
然后服务器发出arp请求,说“谁有216.107.249.x? 显然没有回应,因为它是不明确的,因为它是在不同的子网上,为什么服务器正在请求。
在Ubuntu机器上的/etc/network/interfaces文件夹中,它被设置为:
auto eth0 iface eth0 inet static address 216.107.250.2 network 216.107.250.0 netmask 255.255.255.0 broadcast 209.107.250.255 gateway 209.107.250.1
那么,为什么服务器要求ARP不是在同一个子网上,而不是把数据包传递给路由器呢?
任何进入服务器的东西都被正确地发送出去。 因此,如果其他DNS查询从互联网上的任何地方进入,那么它们正在被正确地响应,并且将数据包发送到路由器。