LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 5545|回复: 10

能否设置自动PPPOE虚拟拨号?

[复制链接]
发表于 2004-2-4 17:18:35 | 显示全部楼层 |阅读模式
家里是10Mbps的LAN接入,用PPPOE虚拟拨号


等会儿就把服务器装gentoo了,可否设置自动虚拟拨号?

就是开机就自动拨,如果断网了永远不断尝试重拨
因为家里电力和楼下电信的交换机都不很稳定
发表于 2004-2-4 18:50:24 | 显示全部楼层
开机拨号可以把 adsl-start加入启动脚本,比如/etc/conf.d/local.start

断线自动拨号就不知道了
发表于 2004-2-4 19:00:49 | 显示全部楼层
这是我自己写的一个脚本,复制到 /etc/init.d ,然后将其加入 default 就可以了。

  1. #!/sbin/runscript

  2. depend() {
  3.   need net
  4. }

  5. start() {
  6. ebegin "Starting ADSL"
  7. /usr/sbin/adsl-start
  8. eend $? "Connection Failed"
  9. }

  10. stop() {
  11. ebegin "Stopping ADSL"
  12. /usr/sbin/adsl-stop
  13. eend $? "Failed to stop ADSL"
  14. }
复制代码

  1. mv adsl /etc/init.d && chmod a+x /etc/init.d/adsl
  2. rc-update add adsl default
复制代码
发表于 2004-2-4 20:10:00 | 显示全部楼层
如果你想在断线后自动重拨,你就需要在crontab中启动你的脚本,这个脚本需要定时去检测网络是否断开,如果断开,就重新拨号,我没有用过pppoe,但是我用这种方法来保持办事处和我们总部的vpn服务器连接。

以下是我写的代码,也许你可以参考:

/usr/sbin/pptp-vpn

  1. #!/bin/bash
  2. VPN_SERVER=218.xx.xx.xx
  3. DEFAULT_GATEWAY=210.xx.xx.xx
  4. PPP_INTERFACE=ppp0
  5. EXTERNAL_INTERFACE=eth0


  6. if ! ping -c 3 internal.linux.org > /dev/null 2>&1
  7.    then
  8.      /usr/sbin/poff vpn.linux.org > /dev/null 2>&1
  9.      /usr/sbin/pon vpn.linux.org
  10.      sleep 5
  11.      PPP_IPADDRESS=`/sbin/ifconfig ${PPP_INTERFACE}| grep "inet addr" |  grep -v "127.0.0.1" | awk '{print $2;}' | awk -F':' '
  12. {print $2;}'`
  13.      /sbin/route del ${VPN_SERVER} gw ${DEFAULT_GATEWAY}
  14.      /sbin/route add -host ${VPN_SERVER}/32 gw ${DEFAULT_GATEWAY} dev ${EXTERNAL_INTERFACE}
  15.      /sbin/route add -net 192.xxx.0.0 netmask 0xffffff00 gw ${PPP_IPADDRESS} dev ${PPP_INTERFACE}
  16.   fi
复制代码


crontab 内容,每三分钟运行一次


  1. # check scripts in cron.hourly, cron.daily, cron.weekly and cron.monthly
  2. # for vixie cron
  3. # remember to give cron a sighup when updating this file
  4. #
  5. # $Header: /home/cvsroot/gentoo-x86/sys-apps/vcron/files/crontab,v 1.2 2002/04/27 21:46:45 bangert Exp $
  6. #
  7. #
  8. */15 * * * *    root    test -x /usr/sbin/run-crons && /usr/sbin/run-crons
  9. 01-60 *  * * *  root    rm -f /var/spool/cron/lastrun/cron.hourly
  10. 0 0  * * *      root    rm -f /var/spool/cron/lastrun/cron.daily
  11. 0 0  * * 6      root    rm -f /var/spool/cron/lastrun/cron.weekly
  12. 0 0  1 * *      root    rm -f /var/spool/cron/lastrun/cron.monthly
  13. 01-60/3 * * * *   root /usr/sbin/pptp-vpn
复制代码
 楼主| 发表于 2004-2-4 22:56:09 | 显示全部楼层
谢谢各位我试试看
发表于 2004-2-4 23:00:12 | 显示全部楼层
装了rp-pppoe之后直接rc-update add adsl default就可以了
发表于 2004-2-5 16:25:38 | 显示全部楼层
不错不错。
发表于 2006-5-13 00:17:37 | 显示全部楼层
ADSL断线重拨号还要用cron来解决?!这也太麻烦了吧。有没有好一点的办法,或者装一个pppoe专用的拨号软件呢?
回复 支持 反对

使用道具 举报

发表于 2006-5-13 07:57:46 | 显示全部楼层
用init?
回复 支持 反对

使用道具 举报

发表于 2006-5-17 22:12:05 | 显示全部楼层
我配置好pppoe的用户名和密码后,在/etc/conf.d/net里加入“config_eth0("adsl")”这句就能在启动时自动拨号了,而且这样做的好处是不需要用
  1. route del defautl;route add default ppp0
复制代码
这两个命令重建路由。
回复 支持 反对

使用道具 举报

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

本版积分规则

快速回复 返回顶部 返回列表