在dd-wrt的路由器系统中实现pppoe空闲自动断线

最近更新家中的无线路由器,更新为一台能够支持 dd-wrt 系统的路由器,在设置的过程中,发现如果使用 pppoe 的方式连接宽带时候,无法在管理界面上配置空闲断网,这个功能原来一直用的很好,现在没有了很是不习惯,因此就利用周末时间上网查查, dd-wrt 系统其实本身就是一个简化的 linux 系统,本人平时工作就是和 linux 打交道,已经有 8 年的使用经验,结合官方网站的说明,找到了一个解决的办法,经过测试,可以满足要求。

 

 

实现方法:

       前提:对dd-wrt有一定的了解,网上有很多相关的文章,大家可以先看一下;路由器已经正常开启,客户机已经正常连接;

1、  使用telnet登录运行dd-wrt系统的路由器,如路由器地址为:192.1686.1.1

A、在客户机开始=>运行输入:telnet 192.168.1.1

B、输入路由器的用户名/密码:一般用户名为root 密码没有修改为admin,正常登录路由器成功

C、修改与pppoe相关的idletime参数的值,这里有两个参数ppp_idletimepppoe_idletime,这两个参数原来的值均为5 (单位为秒),我们需要把它们的值改大,我改为120 (允许路由器空闲2分钟)

   命令:

     Nvram set ppp_idletime=120

     Nvram set pppoe_idletime=120

     Nvram commit

   检查方法:

     Nvram show | grep ppp_idletime

     Nvram show | grep pppoe_idletime

2、  进入路由器的web管理界面

进入管理=> 诊断,在命令输入框中输入以下的脚本:

       cat /tmp/ppp/options.pppoe | sed -e "s/persist/demand/g" > /tmp/ppp/options.pppoe.new

echo "idle 120" >> /tmp/ppp/options.pppoe.new

if [ -f "/tmp/ppp/options.pppoe.new" ]; then

killall redial

killall pppd

sleep 10

/usr/sbin/pppd file /tmp/ppp/options.pppoe.new > /dev/null

fi

  然后点击运行命令,保存启动命令。

 

到此,就配置完成了,路由器会在网络空闲2分钟后自动断开pppoe的连接,当有客户机有上网请求的时候,路由器又会重新建立起pppoe连接,所以这些对客户机均是透明的。

 

写的比较简单,有疏漏,欢迎指正。

你可能感兴趣的:(系统)