SoftEther VPN进阶:静态路由表推送(拆分隧道)
2015-01-15前段时间我曾介绍过SoftEther VPN在Linux系统下的安装和配置,今天咱们再进一步,介绍一个SoftEther VPN的高级功能——静态路由表推送(拆分隧道)。
以Windows操作系统为例,默认情况下建立VPN连接后所有网络流量都是经由VPN隧道进行传输的。但是很多时候这是完全没必要的,甚至是低效的,其实只要一部分特定流量通过VPN隧道即可。在实际应用场景中,假如我是一名电信用户,我只需要对访问联通的流量进行加速,而电信流量,直接走电信的网络就可以了。为达到这个目的,我们通常是在建立VPN隧道后采用路由表来为不同的目的IP设定不同的路由信息。但是由于路由表配置起来比较麻烦,而且稍有不慎就会导致机器上不去网,而且这种路由表错误一般人根本查不出来,所以如果能在建立VPN隧道的同时配置好路由表,自然是最好不过的事情了。
在对SoftEther VPN这款神器进行一番把玩后,我发现SoftEther VPN还真有这样的功能——静态路由表推送(拆分隧道)。根据我的理解,静态路由表推送就是在建立VPN隧道的同时,服务器端将预先设定的路由条目一并推送给客户端,而后客户端再把它加入到本地的路由表中。这样一来,客户端(本地PC)只需将发往推送路由条目包含网段的数据包转发给VPN服务器,从而达到了智能传输的目的。
废话不多说,下面看看这个静态路由表推送功能是如何配置的:
1、使用SoftEther VPN Server管理器连接服务器端;(Linux下的SoftEther VPN服务器配置请见此处)
2、依次选择“管理虚拟HUB”=>“虚拟NAT和虚拟DHCP服务器”=>“SecureNAT配置”;
3、选择“编辑该静态路由表以推送”;(注意:旧版本的SoftEther VPN Server管理器中没有这个按钮,需要更新到新版本才行)
4、将定义好的路由表加入其中,保存。(路由条目间以逗号或者空格分开)
路由条目的格式如下:
网络号/子网掩码/网关(即VPN网关)
以Google Public DNS(8.8.4.4/8.8.8.8)为例,它的路由条目可以定义如下:
8.8.4.0/255.255.255.0/192.168.254.1,
8.8.8.0/255.255.255.0/192.168.254.1
其中8.8.4.0和8.8.8.0是网络号,255.255.255.0是子网掩码,192.168.254.1是我的VPN网关。
5、退出SoftEther VPN Server管理器,回到你的本机环境。从VPN连接属性开始(假定你已经创建了VPN连接并且一切正常),依次选择“网络”选项卡、“Internet 协议版本 4(TCP/IP IPv4)”、“属性”、“高级”,将“在远程网络上使用默认网关”的勾取消掉,保存。这样再连接VPN时,就只有送往推送路由表中网段的数据会经由VPN隧道进行传输了。
比较可惜的是,SoftEther VPN的静态路由表最多只支持64个条目。尽管支持的路由条数较少,但因为好多网站使用同一家CDN服务商的缘故(共享IP或者IP网段相同),实际上需要的路由条目数很少。比如我的推送路由表中,尽管只有40来条路由信息,但对于常用网站来说已经绰绰有余了。
=========关于路由条目生成==========
有的朋友可能会说,我对网络知识了解有限,那么,我的路由表应该如何生成呢?别急,一步步来,下面我以Google为例进行讲解:
1、首先,我们需要得到Google的IP地址。运行“命令提示符”,使用“nslookup”命令得到Google的IP地址:74.125.204.199。
2、打开http://bgp.he.net,查看74.125.204.199所在网段的BGP广播信息:
为了将尽可能多的Google服务包含在内,我们选择规模较大的网络(即子网掩码长度为16的网络)。因此,我们会在路表中添加如下一条路由条目:
74.125.0.0/255.255.0.0/192.168.254.1
其中74.125.0.0为该网络的网络号,直接拿过来就行;255.255.0.0是对应长度为16的子网掩码;192.168.254.1是VPN服务器的网关,上面已经说过了。就这么简单,一个路由条目就搞定了。如果你的服务器在海外的话,在添加完上述路由条目后你可能会发现,不仅Google首页能上了,Gmail等服务似乎也没有问题……一条路由就可以搞定N多服务,神奇吧。
关于子网掩码长度与子网掩码之间的转换,大家可以参照下表:
子网掩码长度
|
子网掩码
|
8
|
255.0.0.0
|
9
|
255.128.0.0
|
10
|
255.192.0.0
|
11
|
255.224.0.0
|
12
|
255.240.0.0
|
13
|
255.248.0.0
|
14
|
255.252.0.0
|
15
|
255.254.0.0
|
16
|
255.255.0.0
|
17
|
255.255.128.0
|
18
|
255.255.192.0
|
……
|
(有规律,自己找吧)
|
24
|
255.255.255.0
|
……
|
…… |
32
|
255.255.255.255
|
马总,如何修改源码重新编译啊?在哪里修改