|
不知道是系统问题,还是电信问题,国内使用EVDO常常在换了IP以后,系统不会自动添加默认路由。为了解决这个问题,我使用使系统自带的功能,在每次IP变化后,自动检查IP是否正常添加,如果没有就添加,并且记录日志文件。
5 y$ {( Q$ d' }; f2 C6 Z3 P0 o6 Z% p3 X
具体代码
- d+ F) C; b) P0 q" X- P- #!/bin/sh
/ @1 @3 ^/ S4 C2 M8 d- k5 ^8 i - count=18 P4 d: t, T. W& P
- evdoip=`ifconfig ppp0|grep addr|cut -f3 -d ":"|cut -f1 -d " "`
" h5 n* t, E$ G/ a$ n n& U. }+ v - defaultgw=`ip route | tail -1 | awk '{print $3}'`
* V i. e/ N: n - echo `date +%D` `date +%T` "New IP "$evdoip>>/var/home/root/log1 D! {5 c6 }2 Y N5 i6 K i: {
- 9 {' q( \7 l. x8 H: }# C
- while ([ $defaultgw != $evdoip ] && [ $count -le 10 ])
7 t9 C) f% W1 ~ - do' Z4 j$ a8 s9 D4 _, W/ N
- echo `date +%D` `date +%T` $count "time try to add gw">>/var/home/root/log
$ R) t, s: _& ?6 @ - ip route add default via $evdoip dev ppp0 metric 300 M+ t3 _$ U+ r) h6 L2 p! x; t
- sleep 1
$ A. q, _" V6 ` Z* | - defaultgw=`ip route | tail -1 | awk '{print $3}'`0 Z$ \" L& ?& ?1 U: W/ l- h
- count=$((count + 1))
6 U3 s; `5 y7 a K4 X) l - done$ z: c0 ^8 G3 ~4 Y
; n Q7 A6 i3 n- if [ $count -le 10 ]9 }( }6 I6 A" B! X
- then+ ^. b7 o; Q2 ]8 T
- if [ $count = 1 ]
/ H4 H1 ~) Z7 W7 S- `; D - then
/ f; @' l6 _+ @2 K9 `- _) X/ O3 K - echo `date +%D` `date +%T` "System added default gw">>/var/home/root/log. T6 J$ F4 u* F) A4 h5 z8 n; H8 F
- else8 r( A. v- F) {
- echo `date +%D` `date +%T` "added "$evdoip>>/var/home/root/log+ C. O, t. Z9 o, \2 F; s# e
- fi2 z2 x5 j: G# S
- else
! ^& F" ^9 [5 Z1 a1 b- j" ]3 ? - echo `date +%D` `date +%T` "Failed add, GW is "$defaultgw>>/var/home/root/log7 _+ v4 U2 `2 o5 L$ h/ q( z4 H
- fi" e" C( t6 ^ h+ r: |* b
复制代码 也可以拷贝附件到u盘模式的根目录里面,让后在terminal里执行
! l2 O& c) P" ]% H- cd /etc/ppp/ip-up.d
' W! x# `# z) }- C! D; i" e' z - cp /media/internal/09update-gw .
. N" I9 V3 a: S - chmod 777 09update-gw+ _8 {. n; u/ u
复制代码 日志文件保存在 /var/home/root下面的log,在本机terminal里就是最开始的位置,执行cat log就能看到日志了。) X; B7 Y- b [. z: _! V* \
) f; p& x% E# a. i* M+ [1 x# E[ 本帖最后由 MagicWind 于 2009-9-4 15:14 编辑 ] |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?加入我们
×
评分
-
查看全部评分
|