双网卡 ubuntu 产生错误的名称解析

双网卡 ubuntu 产生错误的名称解析

我有一台带有 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

相关内容