二一个

 找回密码
 立即注册
查看: 8549|回复: 26

[斐讯] 斐讯K2,原版Padvan使用chnroutes实现VPN分流

[复制链接]
发表于 2016-9-20 10:07:44 | 显示全部楼层 |阅读模式
本帖最后由 yzy9952 于 2016-9-20 13:53 编辑

首先,我喜欢自己来搭建环境,还是那句话,路由器自己来配置才安心。

原版的Padvan内置VPN客户端连接后是全局流量走VPN,这样不符合我们国情。
此教程为了让国内流量继续走国内的网络,只有访问国外流量时才走VPN

实现的原理是用路由chnroutes,默认所有流量都走VPN,然后分流出国内流量走宽带的网关。

实现的最终结果是:
访问外网,第一跳到路由器网关192.168.2.1,第二跳到VPN的网关172.16.20.1,然后走VPN出去。
访问国内,第一跳到路由器网关192.168.2.1,第二跳到宽带的网关221.221.208.1,然后走正常程序。
1.png

如果有DNS污染,请参考斐讯K2,原版Padvan使用dnsmasq避免DNS污染,加速内外网访问

注意,如果有人开启了路由器本身的VPN Server,比如想免流,需要给VPN Server里面选择到Allow VPN Clients Access to: Internet或者是Lan & Internet
11.png


所需软件
» 装了Padavan的路由器一个 ( 路由器 )
» chnroutes ( 分流用路由数据库 )


总体大致分为5个步骤
» 配置VPN
» 生成chnroutes
» 配置chnroutes
» 保存
» 测试

» 配置VPN
这个不用多说吧,我用的PPTP连的我的国外VPN,这个看大家的情况,注意最后红圈的几项。
4.png

» 生成chnroutes
chnroutes的源码在链接
有兴趣的可以自己下载然后生成ip-pre-upip-down两个文件。这两个文件是根据http://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-latest数据库的信息生成的。命令是python chnroutes.py -p linux,需要安装python。
附件里有我生成好的文件,使用数据库是2016年9月19日的。
游客,如果您要查看本帖隐藏内容请回复


» 配置chnroutes
步骤 1 » 查找VPN网关
首先,用路由器连上VPN,然后电脑连接路由器,确保可以访问google。
然后,用tracert(win10)或者traceroute(linux)命令看看VPN网关地址。
如图,第二跳即VPN网关地址,我的是172.16.20.1。
在CMD下运行tracert www.google.com
5.png

步骤 2 » 配置ip-pre-up文件
这个是为了防止重复运行,将图中的172.16.20.1替换成刚得到的VPN网关。(如果是 $OLDGW == ' ' ,直接在单引号里添加VPN网关即可。)
if [ $OLDGW == '172.16.20.1' ]; then
    exit 0

6.png

步骤 3 » 用WinSCP将ip-pre-up和ip-down上传到路由器
上传路径随意,我上传到了/etc/storage
然后给这两个文件赋权,要有运行的权利,我懒省事,直接写了777的权限,即rwxrwxrwx,如图。
7.png

步骤 4 » 测试chnroutes
连接SSH,先输入命令,得到下图的结果,此时路由表只有必要的路由信息。
route -n | head -n 10
3.png

然后,测试添加路由,输入命令,等大概半分钟运行完,再执行上一个命令,此时路由表已经加入了分流信息。
sh /etc/storage/ip-pre-up
route -n | head -n 10
8.png

最后,测试删除路由,输入命令,等大概半分钟运行完,再执行上一个命令,此时路由表已经恢复为初始状态。
sh /etc/storage/ip-down
route -n | head -n 10
9.png

步骤 5 » 配置chnroutes到路由器
如图,在func_ipup和func_ipdown里分别添加两个命令。
sh /etc/storage/ip-pre-up
sh /etc/storage/ip-down
10.png

» 保存
SSH下
mtd_storage.sh save
nvram commit


» 测试
两种方法,
第一种,SSH下,在打开VPN之前,打开VPN之后和关闭VPN以后,分别用下面的命令看看路由表是不是变了。
route -n | head -n 10

第二种,打开VPN,用tracert或者traceroute命令看看baidu.com和google.com的第二跳是不是分别对应着宽带网关和VPN网关。
如果都走的VPN网关,先清除一下ARP缓存,arp -d
回复

使用道具 举报

发表于 2016-11-12 23:08:46 | 显示全部楼层
这论坛注册很麻烦
回复 支持 反对

使用道具 举报

发表于 2017-2-19 23:32:26 | 显示全部楼层
支持支持。。。。
回复

使用道具 举报

发表于 2017-3-8 23:08:17 | 显示全部楼层
吱吱吱吱吱吱吱吱吱吱吱吱吱吱吱吱吱吱在
回复 支持 反对

使用道具 举报

发表于 2017-3-9 18:10:43 | 显示全部楼层
如果您要查看本帖隐藏内容请回复
回复 支持 反对

使用道具 举报

发表于 2017-3-22 16:34:08 | 显示全部楼层
学习了,谢谢!               
回复 支持 反对

使用道具 举报

发表于 2017-5-15 13:25:49 | 显示全部楼层
这个功能十分强大!下载一个
回复 支持 反对

使用道具 举报

发表于 2017-7-18 03:35:25 | 显示全部楼层
正需要此教程,非常感谢!
回复 支持 反对

使用道具 举报

发表于 2017-8-29 10:33:09 | 显示全部楼层
感谢!我说怎么不能智能分流呢
回复 支持 反对

使用道具 举报

发表于 2017-12-22 19:30:37 | 显示全部楼层
百度过来的
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|eryige.com ( 津ICP备18003724号 京公网安备 11010802022368号

GMT+8, 2018-12-19 11:14 , Processed in 0.023001 second(s), 30 queries .

Powered by Discuz! X3.4 & yzy9952

© 2001-2017 Comsenz Inc.

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