外网(eth0)随机冻结,必须ifdown && ifup

我们其中一台服务器的外部networking接口(eth0)会定期冻结。 它还具有本地networking接口(eth1),所以我可以通过同一networking中的其他服务器之一连接到服务器。 通过外部networking进行的任何连接(例如来自本地计算机的SSH,来自本地计算机的ping,来自不同networking上的开发服务器的SSH)全部超时。 当通过其本地networking中的其他服务器之一连接时,我可以运行sudo ifdown eth0 && sudo ifup eth0和界面再次神奇地工作。 如果我先尝试ifup命令,而不是将接口closures,则会显示错误消息,说明接口已经启动。

作为一种解决方法,我已经尝试将以下行添加到我的根crontab:

 55 1 * * * ifdown eth0 && ifup eth0 &> /dev/null 

令人困惑的是,这实际上并没有解决问题。 5分钟后运行的备份作业无法将文件复制到本地networking外部的计算机。

你可以在这里看到sudo dmesg的输出。

该服务器是运行Ubuntu Lucid(10.04)的HP ProLiant DL360 G5。 提前感谢您的帮助,如何跟踪这个问题,并解决它!

1-您可以使用以下命令监视此接口上的stream量:

 sudo tcpdump -i eth0 -s 1518 -XX -vv -n -w /tmp/trace_file.pcap 

尝试连接,看看接口是否收到任何stream量。

2-检查是否可以使用eth0访问此服务器以外的其他计算机。

3-使用ethtool eth0检查接口状态。

4-使用/sys/class/net/eth0/*下的sys文件检查接口状态

5-检查您的防火墙状态(活动或不活动),并检查规则(如果有的话)。

6-使用dmesg检查内核debugging消息,并检查系统日志文件/ var / log / messages是否有任何错误/警告。

希望这会有所帮助!