🗒️安装Softether,并实战电脑终端、手机终端连接VPN
00 min
2021-7-2
2023-11-8
type
status
date
slug
summary
tags
category
icon
password

一、准备工作。

FinalShell SSH工具,服务器管理,远程桌面加速软件,支持Windows,macOS,Linux,
1、下载debian 最小版本安装系统:
http://mirrors.aliyun.com/debian/11/iso
若网络没有DHCP,则在安装过程中先设置好指定IP地址网路,省去命令行设置IP地址的麻烦。
2、使用apt命令安装必要组件:
apt-get update apt-get install build-essential
apt -y install wget gcc zlib-devel openssl-devel readline-devel ncurses-devel
3、linux 查看端口使用情况
netstat -tunlp

二、安装Softether

建议通过SSH连接软件“SecureCRT”或“SSH Secure File Transfer Client”,远程登录主机,使用连接软件操作。因为可以实现一些粘贴复制操作。
1、下载:
登录Sofether下载网站:
http://softether-download.com/cn.aspx
查看最新的版本及下载地址,并用wget命令下载:
wget https://www.softether-download.com/files/softether/v4.41-9787-rtm-2023.03.14-tree/Linux/SoftEther_VPN_Server/64bit_-_ARM_64bit/softether-vpnserver-v4.41-9787-rtm-2023.03.14-linux-arm64-64bit.tar.gz
2、安装:
下载完毕后用解压:
tar zxf softether-vpnserver-v4.41-9787-rtm-2023.03.14-linux-arm64-64bit.tar.gz
进入解压后的目录:
cd vpnserver
notion image
可用ll命令查看目录文件
直接用make命令安装:
make
默认安装,全部回车即可完成安装。
3、启动,输入命令
./vpnserver start
即可启动Sofether VPN。
4、配置:
输入./vpncmd命令
./vpncmd
进入Sofether VPN配置。默认选1,安装VPN Server or VPN Bridge。键入1,回车。
notion image
然后全部回车,默认安装。直到进入VPN Server管理命令:
notion image
输入ServerPasswordSe设置Softether VPN管理员密码,密码区分大小写的:
ServerPasswordSe
5、把Softether VPN Server添加到开机启动:
vi /etc/rc.d/rc.local
按I键或Insert按键,进入vi编辑模式,在最后面加上“/root/vpnserver/vpnserver start”
按ESC键推出编辑模式,输入
:wq
保存并推出。因为在centos7中,/etc/rc.d/rc.local文件的权限被降低了,没有执行权限,需要给它添加可执行权限:
chmod +x /etc/rc.d/rc.local
三、防火墙配置
1、默认Softether监听端口有445,992,1194,5555端口。这里需要先放开5555端口为管理端口,以便Windows端的“SoftEther VPN Server 管理工具”能够通过这个端口连接到这台服务器。
输入命令:
firewall-cmd --zone=public --add-port=5555/tcp --permanent
2、重新加载防火墙配置:
firewall-cmd --reload
这样,就可以在Windows端的“SoftEther VPN Server 管理工具”中添加并管理该服务器了:
notion image
根据实际服务器的IP地址设置
又因为默认的5555端口是Android设备adb服务的默认监听端口,并且一些物联网设置是基于Android,所以会遭受企图攻击物联网设备的无辜攻击。所以,建议把SoftEther VPN Server端口更改为其他端口,比如5500。创建端口5500:
notion image
同样,在服务器防火墙配置中开启5500,并关闭5555端口
firewall-cmd --zone=public --add-port=5500/tcp --permanent
重新载入防火墙配置:
firewall-cmd --reload
SoftEther VPN Server 管理工具中,用新的端口配置并登录到服务器:
notion image
登录后,关闭5555端口:
notion image

四、SoftEther VPN应用实战之组建虚拟专网

目标:实现异地组网,使连接到SoftEther VPN的Windows系统终端都可通过VPN网络访问基于Windows Serve系统的某品牌财务软件服务器、某品牌ERP服务器,并且要求连接VPN后的终端的上网功能不基于该VPN网络,仍旧通过本地网络访问网络。
这样做的目的是仅仅所需访问的应用服务器通过VPN网络传送数据,而不是所有网络数据都通过VPN传送。
0、准备工作。
首先需要有一个公网IP地址作为服务器地址。并映射SoftEther VPN服务器主机IP和端口5500到公网地址和端口。
chain=dstnat action=dst-nat to-addresses=192.168.0.2 to-ports=5500 protocol=tcp dst-address=公网IP dst-port=5500
1、SoftEther VPN Server配置:
SoftEther VPN Server基于3层交换机的概念,可建立多个相互独立的虚拟HUB,默认各虚拟HUB之间相互不通讯,需做级联连接才可以相互通讯。可视作为各个独立的物理路由器,若需要相互之间通讯就需要进行网络连接并严格控制上下层关系。
默认已建立一个名为DEFAULT的虚拟HUB,双击进入配置:
1)、规划网络,并设置DHCP。
notion image
根据需连接的终端数量合理规划网络,这里按需1000终端连接为例,划分网络。
DHCP从10开始,预留8个地址作为服务器IP。
注意,应用到客户端的选项不要填写。这样,终端连接到该VPN服务器后,因为没有网关,所以无法通过该网络上网,仍旧使用终端的本地网络上网。
notion image
2)、创建用户:
SoftEther VPN Server支持openSSL自签名证书登录,但是,用账号密码更方便。比如还可以按单位、按区域、按部门分组,方便管理。
notion image
2、安装VPN连接终端软件softether vpnclient:
1)、财务软件服务器和ERP服务器安装softether-vpnclient:
到Softether官网下载softether-vpnclient,并默认安装、运行。
https://www.softether-download.com/files/softether/v4.41-9787-rtm-2023.03.14-tree/Windows/SoftEther_VPN_Client/softether-vpnclient-v4.41-9787-rtm-2023.03.14-windows-x86_x64-intel.exe
运行后双击窗口内的“创建新的VPN连接”,会先安装一个虚拟网卡。安装完毕进入VPN连接配置窗口:
notion image
主机名请填入公网IP或已解析到公网IP的域名。
端口号填入5500
虚拟HUB名是选择的,选择DEFAULT
左侧填入账号密码,最后点击确定。
先不要着急连接,先设置服务器端的IP地址为固定IP地址。双击Softether-vpnclient窗口下方的虚拟网络适配器中已建立的VPN Client Adapter,并设置IPV4地址为:
192.168.100.5
子网掩码255.255.252.0
同样,不要填写网关。
notion image
这个时候就可以双击“新建VPN连接”,连接到VPN网络了。再次右击“新建VPN连接”,点击“启动时连接”,这样每次开机都会自动连接到该VPN网络,无需手动连接。
notion image
2)、其他终端电脑安装并连接到softether-vpnclient
安装配置同上,只是不需要指定不定IP地址。连接成功后可以直接访问服务器已手动指定的VPN网络下的IP地址(例:192.168.100.5),登录到服务器。
3、连接到VPN网络的设备终端都通过VPN服务器上网
目标:实现异地组网,使连接到VPN网络的终端和服务器共同为于一个网络内,并由VPN服务器提供网络连接。
这样做的目的是终端和服务器网络数据都通过VPN网络传送。
1)、SoftEther VPN Server配置
安装方式同上,只需在设置DHCP时,加上网关即可:
notion image
2)、客户端终端安装配置softether vpnclient同上,不需要任何修改。

五、SoftEther VPN应用实战之手机端连接到Softether VPN网络

适用于需要手机端访问VPN网络内的服务器,但是不需要通过VPN服务器上网的情况。即,在softether VPN服务器中并没有填入网关的情况。
0、准备工作
首先需开启softether vpn的L2TP/IPsec功能:
notion image
并需开通服务器1701(L2TP端口)、4500(IPcse)、500(IPcse端口)三个UDP协议端口:
firewall-cmd --zone=public --add-port=1701/udp --permanent
并重新加载应用防火墙:
firewall-cmd --reload
然后同样需要映射服务器IP地址和这三个UPD端口到公网地址和端口:
chain=dstnat action=dst-nat to-addresses=192.168.0.2 to-ports=1701 protocol=udp dst-address=公网IP dst-port=1701
因手机系统、版本等差异,分别来讲:
1、使用L2TP协议的VPN连接。
适用于苹果手机和Android 10系统以下版本的Android手机:
以华为手机为例:
打开设置并搜索VPN:
notion image
添加VPN网络:
notion image
notion image
名称随便填,这里填入VPN,类型选择L2TP/IPSec PSK,填入服务器地址,填入IPSec预共享密钥:vpn,并显示高级设置。
转发线路填入192.168.100.0/22。即在这个子网掩码定义下的网络中的任何服务器都可以访问。
notion image
回到VPN界面,输入账号密码,并选中保存账户信息。连接到VPN网络。
notion image
以苹果手机为例:
同样在设置中搜索VPN:
notion image
类型选L2TP,描述任意,这里填VPN,服务器填入你自己的服务器地址。填入账号密码,密钥里填vpn,注意区分大小写。关闭发送所有流量。
notion image
最后点击链接到VPN。
notion image
2、Android版本为10以上,取消了L2TP协议的VPN连接。
所以,可以借助第三方软件VPN Client Pro实现基于SSTP协议的VPN连接,适用于所有android手机。
https://pan.baidu.com/s/1YoIhBDaYOI9tGYiy2knrGg?pwd=gdhz
下载后安装,并按以下图例配置:
notion image
1、点击程序右下角的“+”图标。2、点击“新建SSTP VPN配置文件”
notion image
3、输入自定义的名称,这里填VPN4、点击远程服务器。
notion image
5、点击右下角的“+”按钮,新增一个服务器连接。远程服务器主机和端口填写你的服务器地址和端口。
notion image
6、返回到上一层配置
notion image
7、点击认证方式
notion image
8、选中“保存账号和密码”9、输入账号密码。账号密码已经按每人发送OA邮件。10、返回上一次配置
notion image
11、点击“IPV4路由
notion image
12、取消选择“重定向网关”13、点击右下角“+”图标,添加路由。14、目标地址填入应用服务器的VPN网络地址,例如“192.168.100.5”,子网掩码填入“255.255.252.0”。15、最后点击确定保存同理,如果有多个VPN网络下的应用服务器需要访问,则在这里新增几个路由信息即可。
notion image
16、回到上次配置页面后,点击右上角保存按钮
notion image
17、点击左上角“<--”返回图标
notion image
18、点击连接快关按钮。连接成功!注意,首次连接会有一个认证提示,直接同意即可,以后就不会提示了 。
3、使手机通过VPN网络上网。
首先VPN服务器需填入网关。
1)、Android手机用自身VPN功能的L2TP连接方式,则不填入转发线路即可:
notion image
2)、苹果手机,选中发送所有流量
notion image
3)、VPN Client Pro,选中重定向网关(使用服务器网关),不添加IPv4路由。
notion image

六、多个虚拟HUB级联连接

如果只有一台VPN服务器一个虚拟HUB,可能因为服务器主机性能差异等,会造成终端连接到VPN网络困难。可以用新建多个虚拟HUB并级联,按终端所属的单位、部门或区域划分并分别建立账号密码,要求必须连接到指定虚拟HUB。
1、建立多个虚拟HUB
建立虚拟HUB并为每个虚拟HUB建立账号密码。可以只建立虚拟HUB名划分范围内的终端的账号密码,这样的好处是其他虚拟HUB下的账号无法相互登录,确保划分有效。
notion image
注意,新建的虚拟HUB只需建立账号密码即可,不需要单独开启虚拟DHCP,因为级联后将由根HUB的DHCP统一分配终端的IP地址。
2、级联连接。
首先,在每个虚拟HUB中建立一个用于级联连接的账号密码,然后选定一个虚拟HUB作为根HUB。这里就用最初默认建立的虚拟HUB DEFAULT为根HUB。
notion image
注意,必须严格控制上下层关系,避免形成环路。
按以上图例,把新建立的虚拟HUB全部加入到DEFAULT这个根HUB。
3、终端选择指定的虚拟HUB名连接。
notion image
虚拟HUB级联不仅限于同一台VPN服务器的多个虚拟HUB,同样可以用于其他不同VPN服务器建立的虚拟HUB。这样可以解决在单台VPN服务器主机性能不够时,新增多台VPN服务器主机的共同级联组网。
比如当前我的VPN服务器拓扑为:
notion image
有问题可以留言,如果是我懂得,我肯定会协助,只是,,,,,这个软件我也是刚刚在用,文中有写的不对的地方也请指出。谢谢~~~
========================================================
附Linux的防火墙常用设置:
1)查看防火墙的版本
firewall-cmd --version
2)查看firewall的状态
firewall-cmd --state
3)查看firewall服务状态
systemctl status firewalld
4)查看防火墙全部的信息
firewall-cmd --list-all
5)查看防火墙已开通的端口
firewall-cmd --list-port
6)查看防火墙已开通的服务
firewall-cmd --list-service
7)查看全部的服务列表
firewall-cmd --get-services
8)查看防火墙服务是否开机启动
systemctl is-enabled firewalld
2、配置防火墙的命令
1)启动、重启、关闭防火墙服务
# 启动
systemctl start firewalld
# 重启
systemctl restart firewalld
# 关闭
systemctl stop firewalld
#查看状态
systemctl status firewalld
2)开放、移去某个端口
# 开放80端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
# 移去80端口
firewall-cmd --zone=public --remove-port=80/tcp --permanent
3)开放、移去范围端口
# 开放5000-5500之间的端口
firewall-cmd --zone=public --add-port=5000-5500/tcp --permanent
# 移去5000-5500之间的端口
firewall-cmd --zone=public --remove-port=5000-5500/tcp --permanent
4)开放、移去服务
# 开放ftp服务
firewall-cmd --zone=public --add-service=ftp --permanent
# 移去http服务
firewall-cmd --zone=public --remove-service=ftp --permanent
5)重新加载防火墙配置(修改配置后要重新加载防火墙配置或重启防火墙服务)
firewall-cmd --reload
6)设置开机时启用、禁用防火墙服务
# 启用服务
systemctl enable firewalld
# 禁用服务
systemctl disable firewalld