设为首页 友情链接
在线留言 发表文章
加入收藏 广告联系

刺猬首页

| 专案技术 | 网络技术 | 图形图象 | 网络编程 | 网页设计 | 操作系统 | 服务器 | 技术白皮书 | 在线实验室 | 刺猬论坛 |
小说专版  | 数据库 | 设计赏析 | 存储频道 | 网络安全 | 私服架设 |  Solaris | 网站评估 | PC维护技巧 | 下载中心 | 博 客 |
专   题: | Linux | java | cisco | 防病毒 | 刀片 | SOA | iscsi | ASP.NET | SQL | Oracle |
您现在的位置: IT公社 IT community >> Linux专题 >> Linux应用技巧 >> 教程正文 用户登录 新用户注册
专 题 栏 目
最 新 热 门
最 新 推 荐
相 关 文 章
Linux系统无法进入图形界…
Linux XWindow显卡配置通…
Linux X-window显卡配置…
Ubuntu breezy(5.10)下解…
解决FC5下浏览器安装FLA…
菜鸟也能行!FC多媒体终…
红旗5.0中完美解决xmms播…
用圆体来美化FC5
解决RealPlayer在FC5下不…
在FC5下成功安装EasyWin…
  解决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 
  • 上一个教程:

  • 下一个教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    - 关于我们 - 合作伙伴 - 友情链接 - 广告刊登 - 投稿热线 - 在线留言版权声明联系方式 -
    IT公社版权所有 粤ICP备05127012号
    Copyrigh@2005-2006 itqoo.com.Inc All Rights Reserved  推荐分辨率 1024*768
    联系站长:E-Mail:itqoo@126.com     MSN:urchincc@hotmail.com    QQ:点击这里给我发消息
    特别感谢:亿太网络提供空间支持