|
不知道是系统问题,还是电信问题,国内使用EVDO常常在换了IP以后,系统不会自动添加默认路由。为了解决这个问题,我使用使系统自带的功能,在每次IP变化后,自动检查IP是否正常添加,如果没有就添加,并且记录日志文件。: H) ~2 y# ?& [- L% n, U( t$ |3 B
# W6 y2 l1 C A) S6 A- T* u
具体代码
$ P9 h6 I) a# R C: t5 w8 J- #!/bin/sh
$ P! p2 i# K7 V9 e* C1 Z) s - count=1
3 \: Q, O& ^! \% H5 d! X1 c, e - evdoip=`ifconfig ppp0|grep addr|cut -f3 -d ":"|cut -f1 -d " "`
# M1 ?/ T l+ }6 h - defaultgw=`ip route | tail -1 | awk '{print $3}'`* a0 ], J* T. v5 Q
- echo `date +%D` `date +%T` "New IP "$evdoip>>/var/home/root/log( I! h; }* Z' m/ F% F
/ ]% L s5 \6 j) O- R- while ([ $defaultgw != $evdoip ] && [ $count -le 10 ])
5 [7 F! i+ f1 M0 D) u - do: c& s+ o& L* J& W& m5 o U) f- K0 ^
- echo `date +%D` `date +%T` $count "time try to add gw">>/var/home/root/log
. I1 ~+ J# h8 N8 N5 n m - ip route add default via $evdoip dev ppp0 metric 30' l6 a# `+ X5 p6 o
- sleep 1
& ?! w. V H- e1 }0 b) z3 \* e) r - defaultgw=`ip route | tail -1 | awk '{print $3}'`3 D `$ c7 ^" l. `) K5 Q0 `
- count=$((count + 1))2 S9 j4 M$ S" J' c
- done* Y8 ?4 K' r6 N6 S
- & Y0 b1 T3 z" y. {
- if [ $count -le 10 ]9 d1 ]) d3 b) ^$ z
- then" @9 M' v5 E9 n+ l3 |$ {+ R
- if [ $count = 1 ]- P @" O& C% K2 p O
- then
+ N! G- m4 _6 A; V9 ^1 S+ r' T& f9 ~ - echo `date +%D` `date +%T` "System added default gw">>/var/home/root/log B& G/ Z4 C5 n: u
- else
2 ~; g5 S5 H& j( h, y - echo `date +%D` `date +%T` "added "$evdoip>>/var/home/root/log
! i; m7 W' q3 A+ w$ j2 Y - fi# Z7 Z& Q' c( u+ x! n
- else
: `/ d, L. t. a% J - echo `date +%D` `date +%T` "Failed add, GW is "$defaultgw>>/var/home/root/log
9 V# f R4 Z1 v/ ?7 B7 S - fi b. V, e3 w. g, M
复制代码 也可以拷贝附件到u盘模式的根目录里面,让后在terminal里执行
% ~* d1 l. ^5 o9 r& D- cd /etc/ppp/ip-up.d
' b2 I4 v% J* m: b8 f - cp /media/internal/09update-gw .% p; Q% g- B1 C. ^; ?
- chmod 777 09update-gw
3 D% r- V" S. p0 X- _: [
复制代码 日志文件保存在 /var/home/root下面的log,在本机terminal里就是最开始的位置,执行cat log就能看到日志了。
1 O$ q% k3 K. R1 x3 T# R; h3 i6 T5 t% o
[ 本帖最后由 MagicWind 于 2009-9-4 15:14 编辑 ] |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?加入我们
×
评分
-
查看全部评分
|