Centos7.9搭建SoftEtherVPN

为什么要使用SoftEtherVPN?

​ 在日常工作中,我们的企业应用都是存放在内网,当遇到紧急情况需要处理服务故障或其他事情时,跑到现场是令人头疼的事情,来回花费的时间系统故障恢复响应速度会造成不可估量的损失。

​ 因此我们就需要一个能让我有台电脑随时随地能访问到内网服务的东西,这就叫做VPN。

​ 虚拟专用网络(英文:Virtual Private Network),简称虚拟专网(VPN),其主要功能是在公用网络上建立专用网络,进行加密通讯。在企业网络中有广泛应用。VPN网关通过对数据包的加密和数据包目标地址的转换实现远程访问。VPN可通过服务器、硬件、软件等多种方式实现。

​ 让外地员工访问到内网资源,利用VPN的解决方法就是在内网中架设一台VPN服务器。外地员工在当地连上互联网后,通过互联网连接VPN服务器,然后通过VPN服务器进入企业内网。为了保证数据安全,VPN服务器和客户机之间的通讯数据都进行了加密处理。有了数据加密,就可以认为数据是在一条专用的数据链路上进行安全传输,就如同专门架设了一个专用网络一样,但实际上VPN使用的是互联网上的公用链路,因此VPN称为虚拟专用网络,其实质上就是利用加密技术在公网上封装出一个数据通讯隧道。有了VPN技术,用户无论是在外地出差还是在家中办公,只要能上互联网就能利用VPN访问内网资源,这就是VPN在企业中应用得如此广泛的原因。

SoftEtherVPN搭建

​ 接下来我们就开始搭建一个属于自己的VPN工具,能让我们在日常工作中减轻大量的负担,为了很好的演示这个服务,本次博主将斥巨资购买一台海外服务器,作为本教程章节。

云服务购买详情

​ 国内有很多云服务厂商,例如我们常知道的:华为云、阿里云、腾讯云、亚马逊等主流云平台厂商。本次将采用在阿里云给大家进行演示。

阿里云官网:https://www.aliyun.com/activity/1111/2025?utm_content=se_1022108959

​ 进入到阿里云官网后,需要先进行一个登录,拥有一个自己的账号。

image-20251106100335424

​ 搜索框搜索【ECS弹性云服务器】,进入到该界面后,点击【立即购买】。

image-20251106103351454

​ 进入到【快速购买】界面,选择您怼云服务器的基础配置要求,重点是【付费类型】如果您是长期稳定的项目建议采用包年包月,以及宽带计费也是如此,如果您的业务量较小,也可以采用【按量付费】,按量的计费价格大概在:云服务器:1小时=0.1-0.8元左右的价格,流量则是:0.5=1GB的价格。

​ 选择好配置后下单即可。

image-20251106103648648

​ 我之前是以及下单过了的,我采用的计费方式是按量计费,您可根据您的实际业务来选择最优惠的方案。

​ 下完单后您就拥有了自己的服务器了,点击控制台,进去当服务实例。

image-20251106104116301

image-20251106104155090

​ 根据如下图,了解大概的云服务列表,以及服务器密码重置,远程连接等操作。

image-20251106104708035

​ 进入到【网络与安全组】,由于服务对外是443端口,当然您也可以设置成其他的,您需要对安全组规则进行设置放行,否则公网外无法访问到您的这个端口,会被拦截掉的。

image-20251106105047030

​ 到这云服务器的基本配置就够了, 接下来看我们要进行具体的搭建环节了。

部署SoftEtherVPN

​ 首先我们需要先进入到如下官网,分别下载服务端、管理端、客户端。

​ SoftEtherVPN官网**http://www.softether.org**

  • 服务端:用于接收客户端的连接请求及流量数据转发等功能。
  • 管理端:用于管理如用户账号、虚拟HUB等。
  • 客户端:用户客户主机连接服务端,请求访问外部网络。

​ 进入官网后,点击Download,选择Download SoftEther VPN进到下载界面。

image-20251106110159331

​ 这里我们分别要下载这三个组件。

image-20251106110426984

​ 具体选择可参考下图。

​ 服务端是在Linux系统搭建的,所有我们这里选择Linux版本的进行下载,并且我们服务器是intel 64位的,这里请根据自己的服务器进行相应的版本选择。

image-20251106110613434

​ 管理端后客户端我们都在我们自己的Windows电脑上进行管理和使用,所以都选择Windows版本。

image-20251106110806647

image-20251106110856309

​ 下载完成后,将服务端的压缩包上传到服务器并进行解压。

1
2
3
4
5
[root@iZrj996egor2taj2i6x23sZ ~]# ll
total 8208
-rw-r--r-- 1 root root 8400628 Nov 5 20:50 softether-vpnserver-v4.44-9807-rtm-2025.04.16-linux-x64-64bit.tar.gz
drwxrwxrwx 9 root root 4096 Nov 6 11:08 vpnserver
[root@iZrj996egor2taj2i6x23sZ ~]# tar -zxvf softether-vpnserver-v4.44-9807-rtm-2025.04.16-linux-x64-64bit.tar.gz

​ 解压完成后,进入到解压目录,进行程序编译。

1
2
[root@iZrj996egor2taj2i6x23sZ ~]# cd vpnserver/
[root@iZrj996egor2taj2i6x23sZ vpnserver]# make

​ 编译完成后执行如下命令,启动VPN程序。

1
[root@iZrj996egor2taj2i6x23sZ vpnserver]# ./vpnserver start

​ 启动完成后,执行如下命令,进入控制台。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
[root@iZrj996egor2taj2i6x23sZ vpnserver]# ./vpncmd
vpncmd command - SoftEther VPN Command Line Management Utility
SoftEther VPN Command Line Management Utility (vpncmd command)
Version 4.44 Build 9807 (English)
Compiled 2025/04/16 04:50:46 by buildsan at crosswin with OpenSSL 3.0.9
Copyright (c) 2012-2025 SoftEther VPN Project. All Rights Reserved.

By using vpncmd program, the following can be achieved.

1. Management of VPN Server or VPN Bridge
2. Management of VPN Client
3. Use of VPN Tools (certificate creation and Network Traffic Speed Test Tool)

Select 1, 2 or 3: 1【选择1】

Specify the host name or IP address of the computer that the destination VPN Server or VPN Bridge is operating on.
By specifying according to the format 'host name:port number', you can also specify the port number.
(When the port number is unspecified, 443 is used.)
If nothing is input and the Enter key is pressed, the connection will be made to the port number 8888 of localhost (this computer).
Hostname of IP Address of Destination: 【默认回车443,当然您也可以修改】

If connecting to the server by Virtual Hub Admin Mode, please input the Virtual Hub name.
If connecting by server admin mode, please press Enter without inputting anything.
Specify Virtual Hub Name: 【默认回车】

Connection has been established with VPN Server "localhost" (port 443).

You have administrator privileges for the entire VPN Server.

VPN Server> ServerPasswordSet 【执行该命令设置管理员密码】

密码 : *** #123【密码可自由设置】
确认输入: ***   #123【密码可自由设置】


命令成功完成。
VPN Server> HubCreate HUB     【创建一个HUB】

密码 : *** #123【密码可自由设置】
确认输入: *** #123【密码可自由设置】


命令成功完成。

VPN Server>exit 【退出】

​ 查看443端口是否正常启用。

1
2
3
4
5
[root@iZrj996egor2taj2i6x23sZ vpnserver]# netstat -atunp | grep 443
tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 2056/vpnserver
tcp 0 0 172.27.167.62:443 111.121.105.13:5806 ESTABLISHED 2056/vpnserver
tcp 0 0 172.27.167.62:443 111.121.105.13:7722 ESTABLISHED 2056/vpnserver
tcp6 0 0 :::443 :::* LISTEN 2056/vpnserver

​ 关闭防火墙。

1
2
[root@iZrj996egor2taj2i6x23sZ vpnserver]# systemctl stop firewalld.service
[root@iZrj996egor2taj2i6x23sZ vpnserver]# systemctl disable firewalld.service

安装好客户端和管理端。

image-20251106112007112

打开VPN管理端工具,有默认连接的点编辑没有就新建连接。

  • 主机名:填写您服务端的公网IP。
  • 端口:默认就是443,如您有修改请填写您修改后的端口号。
  • 虚拟HUB名及密码:上诉创建的HUB用户名、密码是当时设置的VPN管理员密码。

​ 确认无误后点击确定后进行连接。

image-20251106112219571

​ 进入【管理虚拟HUB】界面。

image-20251106113406783

​ 进入到用户管理,建立Vpn客户账户

image-20251106150115484

​ 设置用户名和密码,点击完成即可。

image-20251106150208108

​ 返回到这个界面,启动NAT。

image-20251106150246951

image-20251106150307674

​ 这样就完成了整个VPN的搭建了。

连接VPN

​ 打开Client客户端,点击

image-20251106150702940

​ 建立连接。

  • 主机名:您的公网IP。
  • 端口:默认443。
  • 需你HUB名:之前设置的是HUB。如设置了其他的请如实填写。
  • 用户名、密码:管理端维护的用户名和密码。

image-20251106150813652

​ 最后双击或右键点击连接即可。

image-20251106151055323

​ 连接信息中弹出我们获取到了服务端分配给我们的内网IP,之后我们就可以愉快玩耍了。

image-20251106151133699

​ 这里我随便访问一个原本我访问不到的网址。

​ 完美访问运行,就问你哈布哈拉少,祝我们都越学越刑!!!!

image-20251106152745578