我的网卡 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 gw
nic2 上安装的路由来解释。我尝试手动删除route
nic2 初始化时添加的 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 秒后),报告来自 的 REFUSED127.0.1.1
。当然,在初始化后,firefox 和系统的其余部分也无法查找名称nic2
- 然而,经过多次尝试后,现在
nslookup
显示192.168.48.1
(因此,成功了)。然而,Firefox 仍然无法在 nic2 初始化的情况下查找名称,如果我强制使用,dnsmasq
我nslookup 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.1
192.168.1.1
通常位于单独的网络中,该网络通常通过的 WAN 连接到网络- 因此
192.168.1.1
配置为提供 dhcp 服务,并且至少当它处于“正常就位”时,应该在 dhcp 中提供有效的名称服务器和默认网关(在我将其取出并在主 PC 上通过 nic2 重新配置之前,它今天上午成功完成了这项工作
- 因此
- 如果有帮助的话,该
192.168.1.1
盒子正在运行 openwrt,并且完全有可能我以某种方式错误配置了它,导致它仍然宣传默认 gw 和名称服务器,即使它已经关闭电源循环并且其 WAN 端口上没有任何内容。
谢谢。