如题,当个伸手党。
学校宿舍搞了个开发板装Debian当下载机,可惜只有学校校园网的wifi能用。但遇到个挺奇葩的问题,就是其他设备例如笔记本连接wifi的话,不会出现DHCP租约到了后断网的情况。
但是手机和这块开发板就有这样的问题。DHCP经常获取不到ip。或者租约到了后,结果就不能续租,然后就断网了。
如果用静态ip的话,同样会出现几个小时断网的情况,现象就是ifconfig里面有地址,但是就是不能ping,断网的。只能通过多次ifdown,ifdown 才能重新连上。
现在想就是求个方法。后台定时1分钟(或几分钟)执行一次。
ping 某个网址,能ping就停止。
不能ping,就ifdown,ifup 无线网卡一遍。继续ping,不行就重复ifdown&ifup,直到能联网,停止
1
Livid MOD 你可以写一个这样的脚本,完成以下功能:
* 检查网络状况 * 如果网络有问题 ifdown / ifup 然后把这个脚本放进 crontab 里每 10 分钟运行一次。 */10 * * * * your_script.sh > /dev/null |
2
emile OP |
4
qingting 2015-01-28 22:13:46 +08:00 1
可以通过检测DNS的A记录的方式来检测网络是否畅通。
#!/bin/sh newip=`dig google-public-dns-a.google.com @208.67.222.222 -p 5353 +short` oldip='8.8.8.8' if [ "$newip" != "$oldip" ]; then # restart date >> /tmp/restart.txt fi |
5
emile OP @qingting 感谢回复。我这边不手动联网,是不能访问ipv4的外网的,我只用ipv6.所以就想能不能ping下某些ipv6网站来看看是否联网的。能帮我看下我附加部分写的对不对吗
|
6
6IbA2bj5ip3tK49j 2015-01-28 23:27:13 +08:00
我对linux的脚本不熟,要是换我来, 就是python做了……
|
7
kxmp 2015-01-29 00:56:42 +08:00
用dhclient...
|
8
liuchen9586 2015-01-29 08:36:45 +08:00
@qingting 这是个好主意,感谢分享。
|