| 解决fc5 linux系统通过学校bras上网问题 |
荐 |
| 解决fc5 linux系统通过学校bras上网问题 |
|
| |
|
之前我的校友hellwolf已经写过相应的bolg。 但是对于初学linux者有一定的问题(特别是路由设置方面) 我写了个程序方便大家使用 贴一下 l2tpdconf.py 1 #!/usr/bin/env python 2 #written by Secularbird 3 #secularbird.eagle@gmail.com 4 #2006.5.13 5 6 "get files configured for seubras server" 7 8 9 10 def recorder(str): 11 record = open ('test0' ,'r') 12 alines = record.readlines() 13 record.close() 14 15 record = open('test0' ,'w+') 16 mark=0 17 if alines == []: 18 record.write(str) 19 else: 20 for eachline in alines: 21 if eachline != str: 22 record.write(eachline) 23 else: 24 record.write(str) 25 mark=1 26 if mark == 0: 27 record.write(str) 28 record.close() 29 30 def confchapsecrect(username,pin): 31 chap_secrets=open('/etc/ppp/chap-secrets','r') 32 alines=chap_secrets.readlines() 33 chap_secrets.close() 34 35 chap_secrets=open('/etc/ppp/chap-secrets','w+') 36 mark=0 37 if alines==[]: 38 chap_secrets.write(username+' * '+pin+ ' *\n') 39 else: 40 for eachline in alines: 41 if eachline[0:(len(username))]!=username: 42 chap_secrets.write(eachline) 43 else: 44 chap_secrets.write(username+' * '+pin+ ' *'+'\n') 45 mark=1 46 if mark == 0: 47 chap_secrets.write(username+' * '+pin+ ' *'+'\n') 48 chap_secrets.close() 49 50 def confoptionl2tpd(): 51 optionl2tpd=open('/etc/ppp/options.l2tpd','r') 52 alines=optionl2tpd.readlines() 53 optionl2tpd.close() 54 55 optionl2tpd=open('/etc/ppp/options.l2tpd','w+') 56 if alines==[]: 57 optionl2tpd.write('noauth\ndefaultroute\nproxyarp\n') 58 else: 59 for eachline in alines: 60 if eachline!='auth\n' and eachline!='noproxyarp\n' and eachline!='nodefaultroute\n'\ 61 and eachline!='noauth\n' and eachline!='proxyarp\n' and eachline!='defaultroute\n' : 62 optionl2tpd.write(eachline) 63 optionl2tpd.write('noauth\ndefaultroute\nproxyarp\n') 64 optionl2tpd.close() 65 recorder('option.l2tpd ok\n') 66 67 def confl2tpdconf(username): 68 l2tpdconf=open('/etc/l2tpd/l2tpd.conf','r') 69 alines=l2tpdconf.readlines() 70 l2tpdconf.close() 71 72 l2tpdconf=open('/etc/l2tpd/l2tpd.conf','w+') 73 mark = 0 74 if alines==[]: 75 l2tpdconf.write('\ 76 [lac seubras]\n\ 77 lns = bras.seu.edu.cn\n\ 78 redial = yes\n\ 79 redial timeout = 15\n\ 80 max redials = 5\n\ 81 require chap = yes\n\ 82 refuse pap = yes\n\ 83 name=%s\n\ 84 require authentication = yes\n\ 85 ppp debug = no\n\ 86 pppoptfile = /etc/ppp/options.l2tpd\n'%username) 87 else: 88 index=0 89 for eachline in alines: 90 if eachline=='[lac seubras]\n': 91 l2tpdconf.write('\ 92 [lac seubras]\n\ 93 lns = bras.seu.edu.cn\n\ 94 redial = yes\n\ 95 redial timeout = 15\n\ 96 max redials = 5\n\ 97 require chap = yes\n\ 98 refuse pap = yes\n\ 99 name=%s\n\ 100 require authentication = yes\n\ 101 ppp debug = no\n\ 102 pppoptfile = /etc/ppp/options.l2tpd\n'%username) 103 mark = 1 104 for eachline in alines[index+11:]: 105 l2tpdconf.write(eachline) 106 break 107 else: 108 index=index+1 109 l2tpdconf.write(eachline) 110 if mark == 0: 111 l2tpdconf.write('\ 112 [lac seubras]\n\ 113 lns = bras.seu.edu.cn\n\ 114 redial = yes\n\ 115 redial timeout = 15\n\ 116 max redials = 5\n\ 117 require chap = yes\n\ 118 refuse pap = yes\n\ 119 name=%s\n\ 120 require authentication = yes\n\ 121 ppp debug = no\n\ 122 pppoptfile = /etc/ppp/options.l2tpd\n'%username) 123 l2tpdconf.close() 124 recorder('l2tpd.conf ok\n') 125 126 def deletekey(username,pin): 127 delkey = open('/etc/ppp/chap-secrets','r') 128 alines = delkey.readlines() 129 delkey.close() 130 131 delkey = open('/etc/ppp/chap-secrets','w+') 132 for eachline in alines: 133 if eachline != username+' * '+pin+' *': 134 delkey.write(eachline) 135 delkey.close() 136 routeconf.sh
1 SERVER=bras.seu.edu.cn 2 GATEWAY=172.16.0.1 3 ( 4 /sbin/route add -net $SERVER netmask 255.255.255.255 gw $GATEWAY 5 /sbin/route add -net 172.16.0.0 netmask 255.240.0.0 gw $GATEWAY 6 /sbin/route add -net 202.119.0.0 netmask 255.255.224.0 gw $GATEWAY 7 /sbin/route add -net 202.119.144.0 netmask 255.255.240.0 gw $GATEWAY 8 /sbin/route add -net 211.65.32.0 netmask 255.255.224.0 gw $GATEWAY 9 ) &> /dev/null 10 11 /sbin/route del default 12 13 /sbin/modprobe ip_nat_ftp 14 15 /sbin/service l2tpd start 16 echo 'c seubras'>/var/run/l2tp-control
视各学校的bras服务器,和默认网关不同需更改 1到9行的内容。第4行是加入host,一定要有,不然删除原有defaultroute后会出问题
bras.py 1 #!/usr/bin/env python 2 3 import os 4 import l2tpdconf 5 6 username=raw_input('username:') 7 pin=raw_input('pin:') 8 l2tpdconf.confchapsecrect(username,pin) 9 l2tpdconf.confoptionl2tpd() 10 l2tpdconf.confl2tpdconf(username) 11 12 os.system('sh routeconf.sh')
声明:此版本还存在一些问题,。仅在fc5上试验过,视情况不同还需自己改进。 使用前,确保自己已经装了来l2tpd。此程序需root用户运行。 Linux联盟收集整理
 |
频道声明:本频道的文章除部分特别声明禁止转载的专稿外,可以自由转载.但请务必注明出出处和原始作者 文章版权归本频道与文章作者所有.对于被频道转载文章的个人和网站,我们表示深深的谢意。
| 原始作者:佚名 |
录入时间:2007-1-3 3:48:14 |
| 信息来源:不详 |
投稿信箱:itqoo@126.com |
|
|
 |
|
|
|
| 教程录入:itqoo 责任编辑:itqoo |
|
上一个教程: 在FC5下成功安装EasyWine及IE6的一些指南
下一个教程: 解决RealPlayer在FC5下不能播放问题 |
| 【字体:小 大】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 |