将 Ubuntu 12.04 更新至 14.04 Server 时出现互联网连接问题

将 Ubuntu 12.04 更新至 14.04 Server 时出现互联网连接问题

将我的服务器软件从 Ubuntu 12.04 升级到 Ubuntu 14.04,现在服务器无法访问互联网。

我可以 ping 通 LAN 上的设备,包括调制解调器。当我尝试 ping 互联网上的任何站点(例如 8.8.8.8)时,数据包丢失率达到 100%。从我读到的内容来看,我觉得这可能是 DNS 问题。我已将以下行添加到/etc/network/interfaces

dns-nameservers 8.8.8.8 8.8.4.4

但没有成功。

相关输出ifconfig

eth0     Link encap:Ethernet  HWaddr 64:31:50:1f:88:72
          inet addr:192.168.0.222  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::6631:50ff:fe1f:8872/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:575229 errors:0 dropped:55 overruns:0 frame:0
          TX packets:10313 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:35490659 (35.4 MB)  TX bytes:898607 (898.6 KB)

输出route -n

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.0.1     0.0.0.0         UG    0      0        0 eth0
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0

文件内容/etc/network/interfaces

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static

address 192.168.0.222
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.1
dns-nameservers 8.8.8.8 8.8.4.4  

输出tracepath 8.8.8.8

1?: [LOCALHOST]                                         pmtu 1500
1:  192.168.0.1                                           0.446ms
1:  192.168.0.1                                           0.444ms
2:  no reply`  
3:  no reply`    
//continues with no reply until interrupted

答案1

这看上去不寻常……

首先,我真诚地怀疑 DNS 是否参与其中,但如果您的 DNS 使用 8.8.8.8 等,那么 DNS 将失败,因为您无法访问这些服务器。

首先,它不可能是您的 LAN 配置,因为您可以 ping 本地网关,因此往返于它的流量可以正常工作。

最大的提示是跟踪中重复列出了您的网关。您的网关应该只显示一次,这暗示您的网关存在循环 - 但您的所有其他系统都运行正常,并且根据您所写的内容,只有本地系统发生了变化。

我唯一能想到的就是如果你有一个大致如下的 iptables 规则:

iptables -t nat -D POSTROUTING ! -d 192.168.0.0/24 -j SNAT --to-source 1.2.3.4

1.2.3.4一些虚假的或者可能以前有效的、但不再有效的 IP 地址在哪里?

这样本地流量就可以正常工作,但超出本地网络的任何流量都会中断,因为回复会发送到错误的地方。您的网关可能会阻止这样的流量,因为它本质上是“欺骗”流量。

我认为,如果可能的话,通过在网关处进行一些流量检查,您会对这个问题得到很好的提示。

如果您无法做到这一点 - 这很容易理解 - 那么也许可以在您的网络上设置另一个 Linux 机器,并将其设为此故障系统的默认网关,然后您可以检查它正在生成的流量。这是假设故障出在升级的系统上。如果您将第二个 Linux 机器配置为ip_forward192.168.0.1 设备并将其网关设为 192.168.0.1,您可能还会看到更多有用的信息,以帮助确定原因。

当你最终解决它时看看它是什么将会很有趣。

答案2

尝试进入“/etc/resolv.conf”,在以 # 开头的行下方添加以下行:“nameserver 8.8.8.8” “nameserver 8.8.4.4” 执行此操作后,查看是否可以连接。更改文件后不要重新启动,只需保存并测试连接即可。如果此操作有效,则说明是 DNS 问题。重新启动后,对文件所做的更改将被撤消。

答案3

我遇到了完全相同的情况 - 没有互联网连接,无法 ping 通外部,无法从路由器 ping 通盒子。但同一 LAN 中的另一个工作站可以建立 SSH 连接。原因是路由器阻止了新盒子,因为它的 IP 与更换的旧盒子相同,但 MAC 地址不同。我一更改 IP,一切就都正常了。

相关内容