互联网连接不稳定

互联网连接不稳定

更新:

我最近组装了一台新电脑,并将其设置为双启动 Windows 7 和 Ubuntu 11.10。

在 Windows 中,使用相同的硬件,我的 LAN 连接很稳定。然而,在 Ubuntu 中,我的网络接口会定期死机并自行重置;我的连接会稳定 30 秒,然后又会断开 30 秒。当我查看日志时:

tail -f /var/log/kern.log

我看到“eth0 link up”消息定期出现,与连接的恢复相对应。

我几个月前就发布了原始问题,但误解了发生了什么。在 Windows 中,互联网连接正常的情况下,我几个月来一直忽略这个问题。请参阅下面的答案以了解解决方案(驱动程序)。

原始帖子

在 Ubuntu 中,尽管我与 LAN 保持着稳定的连接(ping 路由器 IP 地址始终返回良好结果),但我的互联网连接时断时续。当我连续 ping 74.125.227.18(google.com 服务器)时,我会在一段时间内收到响应,然后开始收到“目标主机无法访问”的提示,一段时间后,我又会收到响应。这种情况一直发生,每隔一两分钟就会断开连接约 30 秒。

我通过网络管理器还是通过 /etc/network/interfaces 配置网络似乎没什么区别。我使用以下设置进行配置:

  • 地址 192.168.1.101
  • 网络 192.168.1.0
  • 网关 192.168.1.99(我的路由器的 IP 地址)
  • 网络掩码 255.255.255.0(确认为路由器的正确网络掩码)
  • 广播192.168.1.255(也与路由器确认)。

ifconfig 确认这些设置有效:

eth0      Link encap:Ethernet  HWaddr 50:e5:49:40:da:a6  
          inet addr:192.168.1.101  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::52e5:49ff:fe40:daa6/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:11557 errors:0 dropped:11557 overruns:0 frame:11557
          TX packets:13117 errors:0 dropped:211 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:9551488 (9.5 MB)  TX bytes:1930952 (1.9 MB)
          Interrupt:41 Base address:0xa000

当我使用自动 DHCP 地址设置时,我遇到了同样的问题,尽管我确实确认网络上没有其他机器具有我想要使用的静态 IP 地址。

正如我所说,与本地网络的连接保持稳定 - 我 ping 192.168.1.* 时从未遇到任何问题 - 这是我间歇性无法访问的互联网地址。这不是 DNS 问题,因为直接 ping 已知 IP 地址显示相同的行为。此外,我不认为这是硬件问题,因为我在 Windows 上的同一台机器上从未遇到任何互联网连接问题。网络硬件内置于主板中:Gigabyte Z68XP-UD3P。

根据更新管理器,我设法将操作系统完全更新,但这并没有解决问题,而且由于我对网络架构的了解有限,我束手无策。我能看到的唯一线索是 ifconfig 报告了大量丢包,但我不知道该怎么做。

更新: 看来我的问题比我描述的更一般;现在当我尝试同时 ping 路由器和谷歌时,它们同时无法访问。运行 ifdown eth0 然后运行 ​​ifup eth0 可以暂时恢复;如果我等待几分钟,它就会恢复。我将通过间歇性网络连接问题扩大搜索范围。

答案1

解决方案是安装适合我的以太网适配器的驱动程序,该适配器内置于我的主板中。我检查了适配器的型号和版本,以及 Linux 内核的版本:

$ lspci | grep Ethernet
07:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 06)
$ uname -r
3.0.0-15-generic

然后进入制造商的驱动程序下载页面:

http://www.realtek.com/Downloads/downloadsView.aspx?Langid=1&PNid=13&PFid=5&Level=5&Conn=4&DownTypeID=3&GetDown=fa

并下载了最匹配的驱动程序。我有点犹豫,因为 uname 报告的内核版本比驱动程序明确支持的版本更新,但我使用下载包中的 autorun 命令安装了它,一切似乎都运行良好。

故事的寓意是:不要像我一样以为 Linux 预先打包了您需要的所有驱动程序。

答案2

它可以是以下几种情况:

  1. 磁盘硬件故障(例如 I/O 错误)可能导致网络中断,因为它无法存储来自浏览器的数据。

  2. 防火墙阻止流量,应该有一条规则允许 tcp 25,53,80,110,443 出去,也允许 udp 53 出去。

  3. 如果您有多个防火墙程序同时运行,这也会成为一个问题,如 ufw 和 gufw,最好只使用 gufw...

答案3

我刚刚遇到了类似的问题。在我的例子中,ifconfig 显示没有丢弃或超限数据包,但“route”显示了通过损坏的 wlan0 设备的虚假路由:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.168.0.1     0.0.0.0         UG    0      0        0 eth0
default         192.168.0.1     0.0.0.0         UG    100    0        0 wlan0
link-local      *               255.255.0.0     U     1000   0        0 eth0
192.168.0.0     *               255.255.255.0   U     0      0        0 wlan0
192.168.0.0     *               255.255.255.0   U     1      0        0 eth0

执行“sudo ifconfig wlan0 down”可以解决我的问题。

我提交了https://bugs.launchpad.net/ubuntu/+source/network-manager/+bug/917399 为了这。

答案4

我使用 wifi 时断时续地连接互联网,我刚刚编辑了我的连接并检查了使用 Ipv4 并删除了我的有线连接,它对我有用。我正在使用 ubuntu 13。我希望这会对其他人有所帮助。

相关内容