|
见此文:http://bbs.a9vg.com/forum.php?mod=viewthread&tid=1717505
以下为转载,上边那个链接里有图片
——————————————————————————————————————————————————————————
首先要有virtual**帐号,这个自己网上搜,多得很
路由器需要刷好DD-WRT固件
路由器管理页面设置virtual**
远程子网填写的是virtual**网段,可以先用电脑拨virtual**查看下,取前2段填入,后面2段填0
远程子网掩码就填写255.255.255.0好了
MPPE加密填写:mppe required,no40,no56,stateless
用户名密码输入自己的virtual**帐号密码
不能开启DMZ服务
设置启动命令
自定义脚本有没有无所谓
在指令输入框中填写:
sleep 90
OLDGW=$(nvram get wan_gateway)
virtual**SRV=$(nvram get pptpd_client_srvip)
virtual**SRVSUB=$(nvram get pptpd_client_srvsub)
PPTPDEV=$(route -n | grep ^${virtual**SRVSUB%.[0-9]*} | awk '{print $NF}' | head -n 1)
virtual**GW=$(ifconfig $PPTPDEV | grep -Eo "-t-P[0-9.]+)" | cut -d: -f2)
route add -host $virtual**SRV gw $OLDGW
route del default gw $OLDGW
route add default gw $virtual**GW
然后点击保存为启动指令就OK了,每次重启路由器,都会运行这段命令,如果不输入这段命令,路由器获取不了正确的路由表,还是会只走电信的网关
之后进入管理页面,点击重启路由器,等启动后90s上面的命令可以修改路由表,所有的连接都将通过virtual**的网关
如果要自己指定某些IP不走virtual**网关,而直接走电信网关,自行在最后加上
route add -net 122.136.0.0/13 gw $OLDGW
IP地址斜杠后面的数字代表的是子网掩码长度
如果想知道哪些IP网段不走virtual**网关可以访问,可以参考googlecode上的,添加的命令也已经有了
上 http://www.ip38.com/ 查询自己的ip归属地
试验下youtube
Oh yeah 侠气色一啊
如果重启之后还是不行
用SSH或者telnet上路由器
先ps | grep pptp 查看下pptp进程
这个图说明pptp连接成功,不成功的话重启路由器
查看路由表,输入 route 命令
这里default后面的网关就是virtual**网关,218.1.x.x的是电信网关
如果default通过的是电信网关,在命令行中输入上面保存为启动命令的一段语句,sleep语句就不用了,done
查看下启动指令是否保存成功
到这里也就全部完工,告别大中华局域网,用xbox360上live下游戏再也不用开着电脑了
折腾过程中莫名的就是dd-wrt wiki上如下写的,要么是rom只读不让写,或者写在了/tmp/etc/config下,重启路由器后就被删了……
参考资料:
http://code.google.com/p/autoddvirtual**/
http://www.dd-wrt.com/wiki/index.php/Index:Scripting |
|