免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5088 | 回复: 6

[FreeBSD] [原创]FreeBSD6.1下 PPPOE掉线自动重拨的脚本 [复制链接]

论坛徽章:
0
发表于 2006-10-08 21:33 |显示全部楼层
原文:
http://zxdz.8800.org/htmldata/1/ ... %C5%B1%BE250_1.html


FreeBSD6.1下 PPPOE掉线自动重拨的脚本

日期:2006-10-04  点击:7  作者:余振中  来源:[zxdz.8800.org]

不管是 Linux 或是 BSD 下所使用的 PPPoE 拨号程式,在遇到很多奇怪的断线情况后不能自动重拨,所以写了这/etc/ppp/ppp.sh 这个脚本。基本方法是:在cron中每隔5分钟运行一次,测试本站域名和163.com是否连通,若都不通说明PPPOE网络掉线,就调用(FB6.1)系统/etc/rc.d/ppp 程序停止、重启PPPOE拨号服务。其他脚本是和该脚本配合的,必须根据自己的实际进行相应的修改。另外要注意的是ppp.conf、ppp.linkup两个文件必须注意书写格式!否则不能正常运行相应的指令。

-------------------------/etc/ppp/ppp.sh-------------------------
#!/bin/sh

checkonline1=`/usr/local/sbin/fping zxdz.6600.org`  #用fping命令测试我的网站
checkonline2=`/usr/local/sbin/fping 220.181.28.42` #用fping命令测试163.com网站

if [ "$checkonline1" = "zxdz.6600.org is alive" ] ; then
   #echo "$checkonline1"
   #echo "The ADSL is connected"
   exit
else
   if [ "$checkonline2" = "220.181.28.42 is alive" ] ; then
      echo "$checkonline2"
      echo "The ADSL is connected"
      exit
   else
      echo "$checkonline1"
      echo "$checkonline2"
      echo "The ADSL is disconnected"
      /etc/rc.d/ppp stop  #FB6.1 使用,调用系统PPP脚本停止ppp拨号服务。
      #/usr/bin/killall ppp #FB6.0版以前使用   
      sleep 10               #等10秒种
      #/usr/sbin/ppp -ddial -unit 0 -nat gykj #FB6.0版以前使用
      /etc/rc.d/ppp start  #FB6.1 使用,调用系统PPP脚本重新开始ppp拨号服务。
   fi
fi


---------------------/etc/ppp/ppp.conf--------------------------
# $FreeBSD: src/etc/ppp/ppp.conf,v 1.10 2004/11/19 17:12:56 obrien Exp $
###############################################
default:                                   #注意格式,顶格,前面没空格
set device PPPoE:sis0               #指定进行pppoe连接的网卡,前面有一个空格,下同
set log Phase tun command
set ifaddr 10.0.0.1/0 10.0.0.2/0
enable lqr
gykj:                                       #指定的pppoe名,顶格,前面没空格
set mru 1492                           #前面有一个空格,下同
set mtu 1492
set cd 10!
set redial 15 100
set reconnect 15 100
set authname 用户名                 #拨号用户名
set authkey  密码                     #拨号密码
set dial
set login
enable dns
add default HISADDR           # Add a (sticky) default route


-------------------/etc/rc.conf和PPP 相关行-----------------------
ppp_enable="YES"             //允许启动时进行PPP拨号
ppp_mode="ddial"              //断线自动重拨
ppp_nat="YES"                 //打开nat功能
ppp_profile="gykj"              //前面在/etc/ppp/ppp.conf中定义的pppoe名


-----------------------/etc/crontab 相关行-----------------------
*/5     *       *       *       *       root    /etc/ppp/ppp.sh
该行指定每5分钟运行一次/etc/ppp/ppp.sh,检查是否吊线,如掉线就重拨。


------------------------/etc/ppp/ppp.linkup----------------------
gykj:                              #注意格式,该行顶格,前面不能有空格
iface clear                      #该行前面必须且只有一个空格,下同
!bg /etc/ppp/dyndns.sh    #PPPOE拨号完成后调用/etc/ppp/dyndns.sh动态DNS脚本

etc/ppp/ppp.linkup文件中存放有ppp拨号成功后要继续执行的指令。这里的dyndns.sh是我的动态DNS脚本,当系统PPP拨号成功后,将新的IP地址通知给动态DNS服务器,拨号后即便本机IP地址发生变化,也能将zxdz.6600.org的域名正确解析到本机。

论坛徽章:
0
发表于 2006-10-08 22:05 |显示全部楼层
简单。定时间访问

论坛徽章:
0
发表于 2006-10-16 13:59 |显示全部楼层
用ADSL、动态域名架站的可以看看。

论坛徽章:
0
发表于 2006-10-16 16:56 |显示全部楼层
ppp.conf里面可以用选项打开断线重拨

论坛徽章:
0
发表于 2006-10-16 18:17 |显示全部楼层
原帖由 geel 于 2006-10-16 16:56 发表
ppp.conf里面可以用选项打开断线重拨

哪个?

论坛徽章:
0
发表于 2006-10-26 21:11 |显示全部楼层
ppp.conf里面可以用选项打开断线重拨
------------------------------------------
set redial 15 100
但实际使用时不可靠,有时没有重拨。

我的配置是在实践后得出的。

论坛徽章:
1
寅虎
日期:2013-09-29 23:15:15
发表于 2006-10-26 21:48 |显示全部楼层
原帖由 yzz163 于 2006-10-26 21:11 发表
ppp.conf里面可以用选项打开断线重拨
------------------------------------------
set redial 15 100
但实际使用时不可靠,有时没有重拨。

我的配置是在实践后得出的。

man ppp
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP