Alien的博客

Linux检查网络异常自动重启网卡

最近发现阿里云的服务器访问内网老是有问题,具体表现为ping内网的任何地址都不通,包括网关。重启一下服务器或者网卡就恢复了,过一段时间就又不行了。
听从阿里云工程师的建议,让他们修复了服务器的网络,更换了服务器所在的物理机,甚至重装了一遍系统都没有解决问题。
阿里云提出必须要登录到我服务器上才能排查问题,我提出让他们指导我操作,或者远程我电脑操作,他们都拒绝了。
这我就不爽了,这台机器上有大量机密的数据,万一泄露了怎么办。
于是我还是自己解决吧,写了个脚本,发现网络异常就重启网卡。
脚本内容如下


[root@iZ237lbarwdZ home]# cat restart_network.sh 
#!/bin/bash
ping 10.168.247.247 -c 1 >/dev/null
if [ $? -ne 0 ];then
systemctl restart network
echo `date` network restart >> /tmp/restart_network.txt
fi


脚本中的10.168.247.247地址为我服务器的内网网关地址。
把脚本放在crontab里五分钟执行一次。
昨天晚上写好的脚本,今天下午看了一下脚本日志吓一跳


[root@iZ237lbarwdZ gls_restart]# cat /tmp/restart_network.txt 
Thu Apr 13 22:42:01 CST 2017 network restart
Thu Apr 13 22:50:58 CST 2017 network restart
Fri Apr 14 01:40:15 CST 2017 network restart
Fri Apr 14 02:21:07 CST 2017 network restart
Fri Apr 14 03:40:14 CST 2017 network restart
Fri Apr 14 04:10:28 CST 2017 network restart
Fri Apr 14 06:10:33 CST 2017 network restart
Fri Apr 14 09:30:13 CST 2017 network restart
Fri Apr 14 09:51:14 CST 2017 network restart
Fri Apr 14 11:20:14 CST 2017 network restart
Fri Apr 14 11:55:57 CST 2017 network restart
Fri Apr 14 12:25:15 CST 2017 network restart
Fri Apr 14 13:20:15 CST 2017 network restart
Fri Apr 14 14:36:10 CST 2017 network restart


以前可能一天也就出现一次,现在似乎变频繁了,不知道再过些时间会不会就彻底不能用了。