一、场景描述
我之前在下面的文章里面分享了如何搭建部署SoftEther VPN实现在家访问公司内部网络;部署的方式是直接采用的官方编译好的二进制包直接部署的,这种部署方式虽然可以实现
远程网关与本地网关
对于VPN来说,存在远程网关与本地网关的概念
- 如果使用远程网关,默认路由均走VPN隧道,这样VPN服务器压力较大,而且日常的网络访问都需要从VPN服务器作为出口,很显然作为远程接入公司网络该场景使用不太合理
- 如果使用本地网关,默认路由走的是本地的网络出口
二、修改源码
特别说明:对于Softether VPN 来说,拆分隧道功能并不适合官方下载的版本,从网上查到的信息,某些地区不可以使用该功能在内的一部分功能(当然仅限于官方下载的编译好的版本,对于自己进行源码编译是不限制的),如下图所示:
注意:下载源代码时,一定选择旧版本,V4.34之前的版本,包括4.34;4.34之后的版本,在CentOS 7系统中无法编译成功,缺依赖组件以及C标头文件跟各类函数库文件;最新版本我这边测试在Cent OS 8、Rocky Linux9和ubuntu系统可以编译通过!
SiIsEnterpriseFunctionsRestrictedOnOpenSource函数中调用了SiGetCurrentRegion函数,最终的逻辑判断还是发生在SiIsEnterpriseFunctionsRestrictedOnOpenSource函数该段代码
[root@devops v4.34-9744]# vim src/Cedar/Server.c
if (StrCmpi(region, "JP") == 0 || StrCmpi(region, "CN") == 0)
{
ret = true; //我们直接把 ret 的赋值改为 false
}
三、编译安装
[root@devops v4.34-9744]# yum -y groupinstall "Development Tools"
[root@devops v4.34-9744]# yum install build-essential zlib-devel openssl openssl-devel readline-devel ncurses-devel unixODBC unixODBC-devel make gcc gcc-c++ ncurses-devel tk tc xz
[root@devops v4.34-9744]# ./configure
[root@devops v4.39-9772]# make
[root@devops v4.39-9772]# make install
四、隧道拆分
1、管理虚拟HUB
上面我们编译完之后启动VPN服务端,然后我们如果开启隧道拆分功能呢?请按照下面的操作进行设置即可。
路由条目的格式如下:
IP网络地址/子网掩码/网关IP地址(即VPN服务器网关)
以我的内部服务器IP 192.168.3.0 为例,它的路由条目可以定义如下:(多个路由条目用都逗号结尾,并在下一行添加新的路由)
192.168.3.0/255.255.255.0/192.168.30.1
2、修改VPN网卡
上面配置好之后,我们需要配置下VPN软件在本地PC机上创建的网卡,开启

以上配置完成之后,然后你再次连接VPN,抓包可以测试下网络走向
今天文章就先到这吧,溜了溜了~~~ 如果文章对你有帮助就动动你那发财的小手,点个赞留个言,给本站加点热度。谢谢支持!












第一个步骤都没看懂,这配置文件是怎么生成的
那是源码文件里面的文件,你这都看不懂吗?
你这样说就能懂了