nslookup 对 www.google.com 返回 192.168.1.1

nslookup 对 www.google.com 返回 192.168.1.1

我有一台带有 2 个网络接口的机器eth0eth1我想使用接口eth0进行互联网和eth1连接到内部路由器的内部网通信。

仅当接口eth0处于 up 状态和接口eth1处于 down 状态时,互联网连接才能正常工作。down 时,路由表如下所示eth1

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.24.140.1     0.0.0.0         UG    0      0        0 eth0
10.24.140.0     0.0.0.0         255.255.252.0   U     1      0        0 eth0

当我启动接口时eth1,路由表中添加了一个默认路由条目,其中目标为192.168.1.0,网关为,0.0.0.0这会产生问题。

现在,每当我尝试 ping 一个公共域(如 )时www.google.com,ping 结果总是显示系统尝试 ping 192.168.1.1。甚至 'nslookup' 也会www.google.com导致域的 IP 为192.168.1.1

我不明白为什么nslookup刚打开就失败了eth1。我再也无法访问互联网,一切都变得一团糟。

我尝试删除 的路由条目192.168.1.0,但无济于事。只需重新启动机器即可再次添加路由条目,但一切又会变得一团糟。

请建议我可以尝试什么,以便我的机器上的两个网络都能正常运行。

答案1

您看到了一个症状(DNS 查找返回错误的 IP),但将其与路由混淆了。路由本身与您的问题无关,DNS 查找才有关系。启动第二个 NIC 意味着第二个网络上的某些东西导致了这种情况的发生。

您需要做的是找出 DNS 查询的情况。在某个地方,您有一个 DNS 服务器可以返回192.168.0.1所有查询。

此外,nslookup它并不是在 Linux 上工作的首选工具。您应该尝试使用digdig +trace google.com它将为您提供它为解析 IP 地址而进行的查询的完整细目,并可以向您显示哪里出了问题。

或者,您可以运行 pcap 并使用 Wireshark 等工具分析捕获的内容。这将向您显示正在通过网络传输的确切数据包,并让您了解正在发生的事情。

相关内容