前几天服务器硬盘坏了,换了一台新的服务器去机房替换,之前是FreeBSD6.1的,重新安装了系统为6.2,在家安装的系统,连续几天重启、开关机后都一切正常,前天放入机房后,重新配置了机房的ip地址,当时网络一切正常,后来前天晚上机器重启一次后就再也没有起来,今天去机房发现一个奇怪现象,机器是起来了,就是网不通了。
经过各种可能性的检查没有找到原因,有时重启网络能通,有时重启不通,ping 网关得到 ping sendto: host is down的错误提示,但是ifconfig查看网卡一切正常, 有时使用ifconfig em0 down和ifconfig em0 up网络能起来,尝试修改hosts、rc.conf关于网络的配置多次均这样的现象,也确认过resolve.conf没有问题,更换网线、网口均不能解决问题,几乎崩溃!!!
现在这次机器起来是网络通的,我就不敢再重启了,暂时先顶着吧,反正一般我几个月都不会重启一次机器。
昨晚想到一个临时的解决办法,避免意外重启后又不通,写了一个shell脚本,启动的时候自动执行,策略如下:
1. 测试网络到网关是否通,如果不通则执行ifconfig em0 down 和ifconfig em0 up ,然后再次测试到网关是否通
2. 如果不通,重复1三次
3. 还不通,则执行reboot
4. 重复前面1-3,直到某一次启动网通了
虽然不是好办法,至少让我能稍微省省心,没必要的情况下,千万别再自己买服务器自己维护了,太折腾!
我一直在关注你的博客,每隔2,3天都会来看一次,前几天打不开了,原来是服务器出故障了
[Comment ID #20623 Will Be Quoted Here]
感谢支持,不能只是看,还希望能得到大家的指点和交流。
分享成果,谢谢
感觉你的服务器是受到了arp欺诈
我有台服务器也是这样的状况,我是这样做的,遇到不通网络了重启网络,然后再绑一次arp表,如果机房愿意做双绑就不用这样了。
#!/bin/bash
gw=192.168.1.254
result=`ping -c5 $gw|grep ttl=255`
if test -z “$result”
then
/etc/init.d/network restart
echo “restart network”
date >> /root/net_monitor.txt
else
echo “ok!”
fi
arp -f
[Comment ID #20909 Will Be Quoted Here]
楼上兄弟是高手,给出了正解,这个问题的确是跟arp相关,从message或者dmsg里面也许还能找到一些痕迹。
感谢:)
最新的解决办法: http://www.toplee.com/blog/529.html
kernel里面禁用apci也许会解决你的问题
呵呵,这个问题思路似乎不太对。
ping 127.0.0.1 检查下tcp/ip协议
ping 本地ip 检查下网卡
ping 网关 检查下网络配置和网线。
route 看下网关是否正确,换个网线。