网络随机挂起

网络随机挂起

我遇到了一个网络问题,很难诊断。

每天大概有两三次,网络会完全停止工作。我的意思是 ping 返回:

$ ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
From 192.168.125.134 icmp_seq=1 Destination Host Unreachable
From 192.168.125.134 icmp_seq=2 Destination Host Unreachable

有时运行ip命令会挂起。systemctl restart networking没有任何效果。唯一的解决办法是重新启动机器。

有趣的是,这只发生在我的工作网络上,而不是在家里。

我在一台稍旧一点的(2016 年?)Dell XPS 13" 上运行 Ubuntu 18.04(通过升级过程)。我尝试了较新的内核(当前为 4.16.7-041607-generic)和各种 wifi 驱动程序。在 wifi 上运行时和使用以太网时都会出现问题。

有什么建议吗?我应该看看什么吗?

另外,如果有人能告诉我我的 wifi 卡应该使用哪个 ucode,我将不胜感激。我的无线网卡是 Intel Corporation Wireless 8260 (rev 3a),内核是 4.16。

更新:

上次发生这种情况时我仍然可以跑步ip route等等。结果似乎表明我正在失去与网关的连接:

$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.125.1   0.0.0.0         UG    20100  0        0 enx00e04c169188
0.0.0.0         192.168.125.1   0.0.0.0         UG    20600  0        0 wlp58s0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 virbr2
...

$ arp -a
? (172.17.0.2) at 02:42:ac:11:00:02 [ether] on docker0
_gateway (192.168.125.1) at <incomplete> on enx00e04c169188
_gateway (192.168.125.1) at 00:18:0a:02:94:04 [ether] on wlp58s0

$ ping 192.168.125.1                                             
PING 192.168.125.1 (192.168.125.1) 56(84) bytes of data.                        
From 192.168.125.134 icmp_seq=1 Destination Host Unreachable                    
From 192.168.125.134 icmp_seq=2 Destination Host Unreachable                    
From 192.168.125.134 icmp_seq=3 Destination Host Unreachable  
...

route抱歉,我代替您跑步ip route

更新 2:

ip addr然后ip route两个进程又开始挂起。以下是 strace 的输出:

$ strace ip route
socket(AF_NETLINK, SOCK_RAW|SOCK_CLOEXEC, NETLINK_ROUTE) = 3
setsockopt(3, SOL_SOCKET, SO_SNDBUF, [32768], 4) = 0
setsockopt(3, SOL_SOCKET, SO_RCVBUF, [1048576], 4) = 0
setsockopt(3, SOL_NETLINK, NETLINK_EXT_ACK, [1], 4) = 0
bind(3, {sa_family=AF_NETLINK, nl_pid=0, nl_groups=00000000}, 12) = 0
getsockname(3, {sa_family=AF_NETLINK, nl_pid=7214, nl_groups=00000000}, [12]) = 0
sendto(3, {{len=40, type=RTM_GETROUTE, flags=NLM_F_REQUEST|NLM_F_DUMP, seq=1539085900, pid=0}, {rtm_family=AF_INET, rtm_dst_len=0, rtm_src_len=0, rtm_tos=0, rtm_table=RT_TABLE_UNSPEC, rtm_protocol=RTPROT_UNSPEC, rtm_scope=RT_SCOPE_UNIVERSE, rtm_type=RTN_UNSPEC, rtm_flags=0}, {nla_len=0, nla_type=RTA_UNSPEC}}, 40, 0, NULL, 0

我开始认为这是我的笔记本电脑底座的硬件故障。之前我一直不相信这是因为无论我通过底座使用 wifi 还是以太网,都会出现挂起。这是我的家庭设置(不会挂起)和我的工作设置(会挂起)之间为数不多的不同之处之一。

更新 3:

我买了一个新的 USB 集线器/底座,但这种情况仍然会发生。我原来的底座可以使用 5v 电源,所以我会看看这是否有帮助。

更新 4:

电源没用。但似乎从那时起就不再发生这种情况,或者至少频率显著降低。我没有更新内核,但我认为 Ubuntu 为 Dell XPS 推送了 Thunderbolt 固件更新,这可能起了作用。

答案1

一些想法:

  1. dmesg它停止工作时系统日志中有什么内容吗?
  2. IP 或 MAC 地址与网络上的其他设备冲突?有些此处描述的调试选项
  3. “目标主机无法访问”通常意味着内核没有可用的路由。当它卡住时ifconfig,、route -n和会返回什么?那时和正常工作时有什么区别?arp -a
  4. “如果我运行一个ip命令,它就会挂起。” - 这意味着某种内核问题......ip您正在尝试执行哪些命令?

答案2

看起来这是固件错误。仍然不确定这会如何导致所有网络中断,但确实如此。如果您遇到类似问题,我强烈建议您检查fwupdmgr实用程序或类似程序的版本。

相关内容