我有一台带有 2 个 NIC 的主机:
eno16777736 Link encap:Ethernet HWaddr 00:0c:29:65:db:43
inet addr:192.168.129.129 Bcast:192.168.129.255 Mask:255.255.255.0
eno33554992 Link encap:Ethernet HWaddr 00:0c:29:65:db:4d
inet addr:192.168.17.129 Bcast:192.168.17.255 Mask:255.255.255.128
一个是静态的,另一个是 DHCP:
auto eno33554992
allow-hotplug eno33554992
iface eno33554992 inet dhcp
auto eno16777736
iface eno16777736 inet static
address 192.168.129.129
netmask 255.255.255.0
gateway 192.168.129.2
dns-nameservers 192.168.129.2
eno33554992 从 DHCP 获取 DNS 192.168.17.130。这是我自己的绑定 DNS,它拒绝递归并且没有转发。
192.168.129.2 实际上是 eno16777736 所连接的 VMWare Workstation NAT 网络的网关/DNS。
我的 resolv.conf 如下所示:
nameserver 192.168.17.130
nameserver 192.168.129.2
search localdom.net
直到最近,这个都运行良好:
- 我能够解析本地名称
- 当本地 DNS 中找不到该请求时,我就可以访问互联网。
- 唯一的缺点是我的本地 DNS 被所有首先到达它的公共请求污染了,但我可以忍受
问题是,在我的公共网络(通过 192.168.129.2 访问的网络)上,有人实际上设置了一个解析为 192.168.17.x 地址的主机。现在,无论我做什么,每当我尝试解析此主机名时,我最终都会访问公共主机名而不是私有主机名。
因此对于这台主机,由于它是在公共 DNS 中找到的,因此它永远不会被私有 DNS 解析,尽管它应该排在第一位。我关闭了公共接口 (eno16777736),然后一切都通过本地 DNS 解析,但没有互联网访问。
解决此问题的正确方法是什么?绑定服务器应该位于我的双网卡服务器上吗?
编辑:
~$ ip route show
default via 192.168.129.2 dev eno16777736
192.168.17.128/25 dev eno33554992 proto kernel scope link src 192.168.17.129
192.168.129.0/24 dev eno16777736 proto kernel scope link src 192.168.129.129
~$ sudo ip route change default via 192.168.17.129 dev eno33554992
~$ ip route show
default via 192.168.17.129 dev eno33554992
192.168.17.128/25 dev eno33554992 proto kernel scope link src 192.168.17.129
192.168.129.0/24 dev eno16777736 proto kernel scope link src 192.168.129.129
答案1
不,你的问题不是默认的,事实上你可以通过 离开网关eno16777736
。你的问题是你没有一条包含 上的所有内容的本地192.168.17.0/24
路由eno33554992
。
我会尝试:
ip route del 192.168.17.128/25 dev eno33554992
ip route add 192.168.17.0/24 dev eno33554992