我从系统中清除了网络管理器(操作系统:Linux 3.13.0-53-generic #89-Ubuntu)
网络服务在我的系统上运行:
sudo service networking status
networking start/running
静态接口信息:
iface eth0 inet static
address 100.100.100.216
netmask 255.255.255.0
broadcast 100.100.100.255
gateway 100.100.100.1
dns-nameservers 123.132.134.35
dns-search google.com
问题:互联网连接随机断开。
故障排除:
当 Linux 上的网络未连接时,我的 LAN 上有另一台 Windows 计算机可以工作。所以路由器没问题
尝试 ping 网关
ping 100.100.100.1
PING 100.100.100.1 (100.100.100.1) 56(84) bytes of data.
From 100.100.100.112 icmp_seq=1 Destination Host Unreachable
因此,为了测试这种随机行为,我假设网络流量可能导致随机行为。
因此,我确实将其中一个 shell 设置为无限 ping Google 服务器。一段时间后,正如预期的那样,我收到以下消息
ping: sendmsg: No buffer space available
一段时间后,网络再次开始工作。
在其中一个链接上,它说要增加缓冲区的大小(www.cyberciti.biz/faq/linux-tcp-tuning)。所以我这样做了,我当前的 proc/sys/net/core/wmem_max 大小是 83886080
不过,如果我再次进行无限 ping 操作,网络也会以同样的方式失败。
问题:哪个进程/服务导致网络缓冲区重置?另外,为什么要花这么多时间呢?
作为临时修复,手动拔掉以太网插头或执行 ifdown eth0 && ifup eth0 [但是,这不是正确的解决方案]
答案1
我昨天写过这个。叹。
根本原因可能是网络上有另一台计算机具有相同的 IP 地址。有时,这是由于在 DHCP 认为自己可以控制的范围内分配 IP 造成的。
要验证 Linux 机器失去网络连接时是否存在 IP 冲突,请进入 Windows 机器并查看是否可以 ping 通 100.100.100.216。
Claris 提到了“缓冲空间”条件。