间歇性互联网连接

Rob*_*war 4 networking internet 11.10

更新:

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

在 Windows 中,使用相同的硬件,我的 LAN 连接稳定。然而,在 Ubuntu 中,我的网络接口会定期死机并自行重置;我将有 30 秒的稳固连接,然后它将熄灭 30 秒。当我跟踪日志时:

tail -f /var/log/kern.log
Run Code Online (Sandbox Code Playgroud)

我看到“eth0 link up”消息周期性地出现,对应于连接的恢复。

我几个月前发布了最初的问题,并误解了正在发生的事情。通过 Windows 中的 Internet 连接,我忽略了这个问题几个月。有关解决方案(驱动程序),请参阅下面的答案。

原帖

在 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
Run Code Online (Sandbox Code Playgroud)

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

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

根据更新管理器的说法,我设法使操作系统完全更新,但它并没有解决问题,而且由于我对网络架构的了解有限,我已经无能为力了。我能看到的唯一线索是 ifconfig 报告了大量丢弃的数据包,但我不知道该怎么办。

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

Rob*_*war 8

解决方案是为我的以太网适配器安装正确的驱动程序,它内置在我的主板中。我检查了我的适配器的型号和版本,以及我的 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
Run Code Online (Sandbox Code Playgroud)

然后转到制造商的驱动程序下载页面:

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

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

这个故事的寓意:不要像我那样假设 Linux 预先打包了您需要的所有驱动程序。