由dhcp提供的DNS服务器会自动路由到本地MAC地址

在我的freebsd上,当ip和networkingconf由dhcp给出时,这些路由被添加不明原因:

192.168.138.6 54:a0:xx:xx:xx:xx UHS re0_vlan100 192.168.138.5 54:a0:xx:xx:xx:xx UHS re0_vlan100 

MAC地址是我的计算机接口之一,IP是用于本地DNS服务器的:

 root@ox2:~ # cat /etc/resolv.conf domain localhost.localdomain nameserver 192.168.138.6 nameserver 192.168.138.5 nameserver 208.67.222.222 (opendns manually added) nameserver 8.8.8.8 (google dns manually added) 

哪些是由dhcp给出的:

 lease { interface "re0_vlan100"; fixed-address 172.17.4.92; option subnet-mask 255.255.0.0; option routers 172.17.0.1; option domain-name-servers 192.168.138.6,192.168.138.5; option broadcast-address 172.17.255.255; option dhcp-lease-time 172800; option dhcp-message-type 5; option dhcp-server-identifier 192.168.138.5; renew 3 2017/9/27 10:27:40; rebind 4 2017/9/28 04:27:40; expire 4 2017/9/28 10:27:40; } 

由于这些路由,查询默认值dns失败。 删除路线解决问题,直到租约更新…

这些路线从哪里来? 我该如何阻止他们呢?

我试过几个完全不同的isp / router的networking,这种情况每次都会发生。

S标志(在你的例子中作为UHS的一部分)意味着它被手动添加到路由表中。 可能是这些条目在你的/ etc / iproute2 /文件中?
如果没有显示任何内容,运行grep来查找它们存在的文件:

 grep -R "192.168.138.5" /etc