启动第二个网卡后,dns 失败(拒绝)

启动第二个网卡后,dns 失败(拒绝)

我的网卡 1 位于本地子网192.168.48.x,可连接到外部世界,网卡 2 位于子网,192.168.1.x无法连接到外部网络。两个网络都是 dhcp,每个网络的 dhcp 框都是地址*1(所有内容都是255.255.255.0网络掩码)

什么时候

  • 只有 nic1 启动 --> 一切正常(在 Firefox、nslookup 等中浏览 www)。然而
  • 当我插入(或 ifup)nic2 时 --> 路由和 dns** 都失败,尽管 nic1 仍然处于启动/有效状态。

这似乎一开始就是错的,尽管路由失败也许可以通过default gwnic2 上安装的路由来解释。我尝试手动删除routenic2 初始化时添加的 s,这允许我路由到外部世界 ( ping 8.8.8.8),但名称查找仍然失败。

  • 由于192.168.1.1的配置,我相信它正在作为默认网关进行宣传,并且我推测名称服务器也是如此(请参阅本页末尾的注释,了解我的设置为何如此)。我觉得问题的根源可能与此有关,但似乎在当前的 ubuntu 中,所有名称服务器解析都在 dnsmasq 内部进行...

我已经用尽了对 route/dnsmasq/etc 以及谷歌搜索的理解。请帮我指点迷津!以下是我熟悉的诊断输出。

**注意:我确信比我更了解的人会立即发现,哪个 IP 为我的 DNS 查询提供服务存在差异。

  • 几个小时前,当第一次尝试理解/修复此问题时,127.0.1.1(例如dnsmask)似乎处理了所有查询(nslookup始终显示127.0.1.1)。插入 nic2 后,nslookup 会从成功变为失败(在系统初始化 nic2 时延迟 5-15 秒后),报告来自 的 REFUSED 127.0.1.1。当然,在初始化后,firefox 和系统的其余部分也无法查找名称nic2
  • 然而,经过多次尝试后,现在nslookup显示192.168.48.1(因此,成功了)。然而,Firefox 仍然无法在 nic2 初始化的情况下查找名称,如果我强制使用,dnsmasqnslookup google.com 127.0.1.1会得到REFUSED
    • 通过在线阅读,我假设这与 中的故障转移/“不可靠服务器”逻辑有某种关系dnsmasq;但我无法弄清楚如何对其进行分类。我没有,/etc/dnsmasq.conf其他类似的答案对我来说毫无用处。
    • 这是否意味着dnsmasq尽管192.168.48.1通过 dhcp 宣传了 dns 服务器,但这些服务器从未返回任何有效结果?如果这是真的,为什么这只影响nslookup(firefox www 等无法查找名称)

全新启动后,仅插入 nic1:

#> ifconfig
enp0s25  ...  inet addr:192.168.48.140 ...
lo       ...

#>route -n
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.48.1    0.0.0.0         UG    101    0        0 enp0s25
192.168.48.0    0.0.0.0         255.255.255.0   U     100    0        0 enp0s25

#>nslookup www.google.com
Server:    192.168.48.1
   ... looks good

#>ping www.google.com
   ... received response

然后,插入网卡 2

#> ifconfig
enp0s25 --> 192.168.48.140
enx0... --> 192.168.1.135
lo ....

#> route -n
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG    100    0        0 enx00e112002767 # so my "no outside world" claims there is a default-gw, which is probably bogus?
0.0.0.0         192.168.48.1    0.0.0.0         UG    101    0        0 enp0s25
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 enx00e112002767  # unrelated (??) note: I don't know why this addr is here; is there something bogus in my openwrt?
192.168.1.0     0.0.0.0         255.255.255.0   U     100    0        0 enx00e112002767
192.168.48.0    0.0.0.0         255.255.255.0   U     100    0        0 enp0s25

#> nslookup  www.google.com
  # this is the **Note above; a number of ifup/ifdown iterations ago this just returned REFUSED from 127.0.1.1; now it returns:
Server:   192.168.48.1
  ... valid response

#> nslookup  www.google.com  127.0.1.1
   # for the first N times i had plugged/unpluged nic2, 127.0.1.1 serviced the request by default (no extra server-ip param needed)
Server:   127.0.1.1
REFUSED ...

#> ping www.google.com 
  ... _does_ get a valid IP;  I think this tracks the **Note behavior above
 ... but all packets time out

#> ping 8.8.8.8
  ... times out


#> sudo route delete default
#> sudo route delete default # there are two default routes
#> sudo route add default gw 192.168.48.1

#> ping 8.8.8.8
  ... SUCCESS ...

#> nslookup www.google.com 127.0.1.1
  ... still REFUSED ...

所以在我看来,我的问题与名称服务器有关。我做错了什么?

注意2:虽然192.168.1.1返回了一些虚假信息;我认为这应该没问题,并且有原因/背景:

  • 我有几个本地局域网/wifi;我的主要电脑在其中一个上(通过 nic1),我正在插入一个 usb-nic(nic2)以便能够重新配置无线路由器盒(192.168.1.1在其局域网端)
  • 192.168.1.1192.168.1.1通常位于单独的网络中,该网络通常通过的 WAN 连接到网络
    • 因此192.168.1.1配置为提供 dhcp 服务,并且至少当它处于“正常就位”时,应该在 dhcp 中提供有效的名称服务器和默认网关(在我将其取出并在主 PC 上通过 nic2 重新配置之前,它今天上午成功完成了这项工作
  • 如果有帮助的话,该192.168.1.1盒子正在运行 openwrt,并且完全有可能我以某种方式错误配置了它,导致它仍然宣传默认 gw 和名称服务器,即使它已经关闭电源循环并且其 WAN 端口上没有任何内容。

谢谢。

相关内容