Debian 下怎样定时检查网络,并重启网络

2015-01-28 21:28:07 +08:00
 emile

如题,当个伸手党。

学校宿舍搞了个开发板装Debian当下载机,可惜只有学校校园网的wifi能用。但遇到个挺奇葩的问题,就是其他设备例如笔记本连接wifi的话,不会出现DHCP租约到了后断网的情况。
但是手机和这块开发板就有这样的问题。DHCP经常获取不到ip。或者租约到了后,结果就不能续租,然后就断网了。
如果用静态ip的话,同样会出现几个小时断网的情况,现象就是ifconfig里面有地址,但是就是不能ping,断网的。只能通过多次ifdown,ifdown 才能重新连上。

现在想就是求个方法。后台定时1分钟(或几分钟)执行一次。
ping 某个网址,能ping就停止。
不能ping,就ifdown,ifup 无线网卡一遍。继续ping,不行就重复ifdown&ifup,直到能联网,停止

3465 次点击
所在节点    Linux
9 条回复
Livid
2015-01-28 21:43:42 +08:00
你可以写一个这样的脚本,完成以下功能:

* 检查网络状况
* 如果网络有问题 ifdown / ifup

然后把这个脚本放进 crontab 里每 10 分钟运行一次。

*/10 * * * * your_script.sh > /dev/null
emile
2015-01-28 21:48:34 +08:00
@Livid hi,感谢老大。
能不能帮忙写一个呢。。我是属于那种懂一点的小白。所以要自己搞得花很多时间查资料。。
所以就奉行拿来主义了。
emile
2015-01-28 21:52:28 +08:00
@Livid 另外说个无关话题。这几天好多奇怪的访问502啊。。
qingting
2015-01-28 22:13:46 +08:00
可以通过检测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
emile
2015-01-28 22:22:45 +08:00
@qingting 感谢回复。我这边不手动联网,是不能访问ipv4的外网的,我只用ipv6.所以就想能不能ping下某些ipv6网站来看看是否联网的。能帮我看下我附加部分写的对不对吗
xgfan
2015-01-28 23:27:13 +08:00
我对linux的脚本不熟,要是换我来, 就是python做了……
kxmp
2015-01-29 00:56:42 +08:00
用dhclient...
liuchen9586
2015-01-29 08:36:45 +08:00
@qingting 这是个好主意,感谢分享。
emile
2015-01-29 10:41:00 +08:00
@kxmp 能说说方法吗,谢谢。对了,我之前说了,移动设备和我那个开发板Debian用DHCP比较难获取ip。不知道这边的wifi里面是不是有什么鬼

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/166305

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX