我只使用了第一种方法,第二种第三种没有测试。

1. 在OpenVPN配置文件中增加

OpenVPN在连接成功之后会自动增加一些路由,把默认网关改成VPN的,使所有流量都从VPN走。OpenVPN提供了在配置文件中添加路由的功能,我们可以增加一些本地路由,使本地流量不走VPN,既节省了流量(如果限流量的话),又提高了上网的速度。

打开sample.ovpn配置文件,在文件末尾添加即可,如果添加的路由数目超过100条,则要加一句max-routes ,如下所示:

max-routes 1000
route 58.17.0.0 255.255.0.0 net_gateway
route 58.18.0.0 255.254.0.0 net_gateway
route 58.20.0.0 255.255.0.0 net_gateway
route 58.24.0.0 255.254.0.0 net_gateway
route 58.30.12.136 255.255.255.255 net_gateway
route 58.32.232.0 255.255.252.0 net_gateway
route 58.53.208.0 255.255.240.0 net_gateway
route 58.59.1.15 255.255.255.255 net_gateway
route 58.59.1.16 255.255.255.254 net_gateway
route 58.59.128.0 255.255.128.0 net_gateway
route 58.60.8.0 255.255.248.0 net_gateway
route 58.60.112.239 255.255.255.255 net_gateway
route 58.61.32.0 255.255.254.0 net_gateway
route 58.61.34.0 255.255.255.0 net_gateway
………………

这样,OpenVPN连接成功之后就会添加这些路由,达到本地地址走本地接口的目的。

附:教育网freeip.txt 中国IP地址分配列表

2. 利用route add命令添加

route add是dos命令,用以添加路由的,只要我们执行下就OK了,命令格式如下:

route add 110.6.0.0 mask 255.254.0.0 %gw% metric 5
route add 110.16.0.0 mask 255.252.0.0 %gw% metric 5
route add 110.40.0.0 mask 255.252.0.0 %gw% metric 5
route add 110.48.0.0 mask 255.255.0.0 %gw% metric 5
route add 110.51.0.0 mask 255.255.0.0 %gw% metric 5
route add 110.52.0.0 mask 255.254.0.0 %gw% metric 5
route add 110.56.0.0 mask 255.248.0.0 %gw% metric 5
route add 110.64.0.0 mask 255.254.0.0 %gw% metric 5
route add 110.72.0.0 mask 255.254.0.0 %gw% metric 5

………………………

这种方法对其它各类的VPN应该是通用的。

附:国内IP地址路由

3. 第三种方式chnroutes

在OpenVPN中调用.bat批处理文件来添加路由,我实验的不太成功,有兴趣的可以参照:http://code.google.com/p/chnroutes 。

OpenVPN添加本地路由方法的更多相关文章

  1. linux 7 添加永久路由方法

    linux 7 添加永久路由 用route命令添加 仅仅是当前状态下生效,一旦重启就会失效. 所以要在/etc/sysconfig/network-scripts/这个路径下添加一个文件route-{ ...

  2. win10家庭版添加本地账户方法

    1.正常情况下,windows的使用者都习惯于用本地用户及用户组工具来创建新用户,如下图所示,在win10的开始窗口右侧的空白处,输入lusrmgr.msc 打开本地用户管理控制台. 2.在win10 ...

  3. Myeclipse10.7添加本地插件方法

    -

  4. Laravel5.5添加新路由文件并制定规则

    Laravel5.5里面有4个默认的路由文件,其中web.php是默认路由文件,如果需要添加其他路由文件,按照以下步骤进行. 此处以添加网站home前端路由举例,我已经先在/app/Http/Cont ...

  5. Redhat、CentOS添加静态路由的标准方法

    我们经常遇到需要在系统默认路由的基础上,额外添加静态路由的需求.为了使得下次系统启动这些静态路由依旧生效,我们可能采取在rc.loal里加入route命令追加静态路由的方法. 现在给大家推荐Redha ...

  6. maven添加本地依赖包方法

    1.某些情况下不方便上传本地依赖包到Maven repository,可以通过下面方法添加本地依赖包. 2.方法 1).pom.xml中添加以下代码块 <dependency> <g ...

  7. Ubuntu Linux系统三种方法添加本地软件库

    闲着没事教教大家以Ubuntu Linux系统三种方法添加本地软件库,ubuntu Linux使用本地软件包作为安装源——转2007-04-26 19:47新手重新系统的概率很高,每次重装系统后都要经 ...

  8. centos7 防火墙一些相关设置 开机添加静态路由 特殊的方法

    参考文献: https://access.redhat.com/documentation/zh-cn/red_hat_enterprise_linux/7/html/security_guide/s ...

  9. Maven pom.xml 添加本地jar包依赖以及打包方法

    Maven项目打包时,如果遇到需要添加本地jar包依赖的时候,可以选择两种方法: 1. 安装到本地仓库 第一种方法比较常规,适用于需要添加的jar包也是由maven项目导出,含有pom文件的时候.只需 ...

随机推荐

  1. 自动生成makefile

    原文  http://www.laruence.com/2009/11/18/1154.html 作为Linux下的程序开发人员,大家一定都遇到过Makefile,用make命令来编译自己写的程序确实 ...

  2. [linux]文件系统损坏,linux启动时 checking filesystems fail

    先敲root password进入maintenance状态,然后fsck -y /dev/mapper/vg_wwwdata-lv_root等干净了以后,再exit就行了. ------------ ...

  3. UVALive-5095 Transportation (最小费用流+拆边)

    题目大意:有n个点,m条单向边.要运k单位货物从1到n,但是每条道路上都有一个参数ai,表示经这条路运送x个单位货物需要花费ai*x*x个单位的钱.求最小费用. 题目分析:拆边.例如:u到v的容量为5 ...

  4. c#在winform中用DataGridView实现分页效果

    public partial class Form11 : Form { public Form11() { InitializeComponent(); } private int Inum = 1 ...

  5. echarta3 北京,上海地图

    1.首先你得到echarts官网下载js,建议下载完整代码,这样你就很容易根据我的路径找到beijing.js 2.把echarts.js和beijingi.js根据你的路径引对,然后就可以copy我 ...

  6. Loops with PL/SQL

    1. Basic loop loop /* statements */ end loop; 2. While loop while a > b loop /* statements */ end ...

  7. 编译安装zabbix3.2.5

    1. 配置lnmp环境 首先配置Nginx+mysql+php-fpm的系统环境,具体配置见另一篇文章 2. 编译安装zabbix 2.1 下载并解压zabbix 可以到zabbix官网下载zabbi ...

  8. ansible入门01

    1.批量操作 1.操作系统选型与安装: 1.安装在实体机上: 批量安装: PXE(预引导执行环境):需要网卡上有DHCP客户端去加载bootloadder cobbler: kickstack: 2. ...

  9. ubuntu16切换hosts软件安装

    之前用ubuntu切换hosts以为没有软件可用,直接用cp来替换hosts文件,今天网上搜了一下发现一个软件和window上用的切hosts功能一样,而且可以支持linux,mac,windows. ...

  10. IOS NSBundle 的理解和 mainBundle 类方法详解

    常看到类似的 NSString *file = [[NSBundle mainBundle] pathForResource:name ofType:nil]; 这样的代码,用来获取 file 的完全 ...