我在 VPS 上运行 Ubuntu 18.10。
自从从 16.04 升级(我很确定)以来,我的辅助 IP 地址在启动几个小时后就停止接收流量。
我会对我的主 IP 和辅助 IP 执行两次 ping,辅助 IP 会在大约 3 到 4 小时后自动关闭。
发生这种情况时,其接口eth0
仍将显示为<UP>
。ifconfig -a
Anmtr
将一直到达其网关。
重启后 IP 恢复正常,可以访问。没有其他问题。没有ifdown eth0 --force && ifup eth0
,没有service networking restart
。
相关接口:
$ ifconfig -a
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 149.210.175.202 netmask 255.255.255.0 broadcast 149.210.175.255
ether 52:54:00:35:97:95 txqueuelen 1000 (Ethernet)
RX packets 703 bytes 65063 (65.0 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 146 bytes 19511 (19.5 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
不确定为什么第二个 IP 没有显示在 中ifconfig -a
,因为它确实出现在 中ip a
:
$ ip a
...
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 52:54:00:35:97:95 brd ff:ff:ff:ff:ff:ff
inet 149.210.175.202/24 brd 149.210.175.255 scope global eth0
valid_lft forever preferred_lft forever
inet 149.210.176.154/24 brd 149.210.176.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 2a01:7c8:aab3:44f:5054:ff:fe35:9795/64 scope global dynamic mngtmpaddr
valid_lft 2591978sec preferred_lft 604778sec
inet6 fe80::5054:ff:fe35:9795/64 scope link
valid_lft forever preferred_lft forever
我没有使用 netplan.io,因为一些博客发布关于它有缺陷,这让我认为是它造成的。然而,netplan.io 也存在同样的问题。我已经ufw
禁用了一段时间,但没关系。
托管公司很友好地帮助我排除故障,但无济于事。他们甚至将 VPS 迁移到另一个虚拟机管理程序,但这并没有什么不同。作为最后的手段,我将内核一直升级到5.1.8-050108-generic
。
我该怎么做才能了解更多可能导致间歇性中断的原因?
答案1
排除故障的最佳时间是问题发生时。
dmesg
使用或命令检查内核日志journalctl -k
。- 运行
ip monitor
命令来查看发生了什么事件和变化。 - 从两个地址对网关进行 ping 操作,并通过 IP 地址对网关后面的一些主机进行 ping 操作。
- 检查 arp 表 (
ip n ls
)。网关地址应该是REACHABLE
。 - 运行 tcpdump 并将流量写入文件。
- 使用 wireshark 分析流量转储。在这一步中,您很可能会看到问题的原因。
- 分析输出
nstat -az
也可能非常有帮助,但必须遵循上述步骤。