centos 7安装Softether,并实战电脑终端、手机终端连接VPN

一、准备工作。

1、下载Centos 7最小版本:

http://mirrors.aliyun.com/centos/7/isos/x86_64/CentOS-7-x86_64-Minimal-2207-02.iso

若网络没有DHCP,则在安装过程中先设置好指定IP地址网路,省去命令行设置IP地址的麻烦。

2、使用yum命令安装必要组件:

yum -y install wget gcc zlib-devel openssl-devel readline-devel ncurses-devel

二、安装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
可用ll命令查看目录文件
直接用make命令安装:

make

默认安装,全部回车即可完成安装。

3、启动,输入命令

./vpnserver start

即可启动Sofether VPN。

4、配置:

输入./vpncmd命令

./vpncmd

进入Sofether VPN配置。默认选1,安装VPN Server or VPN Bridge。键入1,回车。
在这里插入图片描述
然后全部回车,默认安装。直到进入VPN Server管理命令:
在这里插入图片描述
输入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 管理工具”中添加并管理该服务器了:
根据实际服务器的IP地址设置连接参数。
又因为默认的5555端口是Android设备adb服务的默认监听端口,并且一些物联网设置是基于Android,所以会遭受企图攻击物联网设备的无辜攻击。所以,建议把SoftEther VPN Server端口更改为其他端口,比如5500。创建端口5500:
在这里插入图片描述
同样,在服务器防火墙配置中开启5500,并关闭5555端口

firewall-cmd --zone=public --add-port=5500/tcp --permanent

firewall-cmd --zone=public --remove-port=5555/tcp --permanent

重新载入防火墙配置:

firewall-cmd --reload

SoftEther VPN Server 管理工具中,用新的端口配置并登录到服务器:
在这里插入图片描述

登录后,关闭5555端口:
在这里插入图片描述

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

目标:实现异地组网,使连接到SoftEther VPN的Windows系统终端都可通过VPN网络访问基于Windows Serve系统的某品牌财务软件服务器、某品牌ERP服务器,并且要求连接VPN后的终端的上网功能不基于该VPN网络,仍旧通过本地网络访问网络。

这样做的目的是仅仅所需访问的应用服务器通过VPN网络传送数据,而不是所有网络数据都通过VPN传送。

0、准备工作。

首先需要有一个公网IP地址作为服务器地址。并映射SoftEther VPN服务器主机IP和端口5500到公网地址和端口。以RouterOS为例:

/ip firewall nat
chain=dstnat action=dst-nat to-addresses=192.168.0.2 to-ports=5500 protocol=tcp dst-address=公网IP dst-port=5500

其中“公网IP”替换为你的公网IP地址。

1、SoftEther VPN Server配置:

SoftEther VPN Server基于3层交换机的概念,可建立多个相互独立的虚拟HUB,默认各虚拟HUB之间相互不通讯,需做级联连接才可以相互通讯。可视作为各个独立的物理路由器,若需要相互之间通讯就需要进行网络连接并严格控制上下层关系。

默认已建立一个名为DEFAULT的虚拟HUB,双击进入配置:

1)、规划网络,并设置DHCP。
在这里插入图片描述
根据需连接的终端数量合理规划网络,这里按需1000终端连接为例,划分网络。
DHCP从10开始,预留8个地址作为服务器IP。
在这里插入图片描述

注意,应用到客户端的选项不要填写。这样,终端连接到该VPN服务器后,因为没有网关,所以无法通过该网络上网,仍旧使用终端的本地网络上网。

2)、创建用户:

SoftEther VPN Server支持openSSL自签名证书登录,但是,用账号密码更方便。比如还可以按单位、按区域、按部门分组,方便管理。
在这里插入图片描述

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连接配置窗口:
在这里插入图片描述
主机名请填入公网IP或已解析到公网IP的域名。
端口号填入5500
虚拟HUB名是选择的,选择DEFAULT
左侧填入账号密码,最后点击确定。

先不要着急连接,先设置服务器端的IP地址为固定IP地址。双击Softether-vpnclient窗口下方的虚拟网络适配器中已建立的VPN Client Adapter,并设置IPV4地址为:192.168.100.5,子网掩码255.255.252.0
同样,不要填写网关。
在这里插入图片描述
这个时候就可以双击“新建VPN连接”,连接到VPN网络了。再次右击“新建VPN连接”,点击“启动时连接”,这样每次开机都会自动连接到该VPN网络,无需手动连接。
在这里插入图片描述

2)、其他终端电脑安装Softether vpnclient并连接到VPN

安装配置同上,只是不需要指定不定IP地址。连接成功后可以直接访问服务器已手动指定的VPN网络下的IP地址(例:192.168.100.5),登录到服务器。

3、连接到VPN网络的设备终端都通过VPN服务器上网

目标:实现异地组网,使连接到VPN网络的终端和服务器共同为于一个网络内,并由VPN服务器提供网络连接。

这样做的目的是终端和服务器网络数据都通过VPN网络传送。

1)、SoftEther VPN Server配置

安装方式同上,只需在设置DHCP时,加上网关即可:
在这里插入图片描述

2)、客户端终端安装配置softether vpnclient同上,不需要任何修改。

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

适用于需要手机端访问VPN网络内的服务器,但是不需要通过VPN服务器上网的情况。即,在softether VPN服务器中并没有填入网关的情况。

0、准备工作

首先需开启softether vpn的L2TP/IPsec功能:

并需开通服务器1701(L2TP端口)、4500(IPcse端口)、500(IPcse端口)三个UDP协议端口:

firewall-cmd --zone=public --add-port=1701/udp --permanent

firewall-cmd --zone=public --add-port=4500/udp --permanent

firewall-cmd --zone=public --add-port=500/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

chain=dstnat action=dst-nat to-addresses=192.168.0.2 to-ports=4500 protocol=udp dst-address=公网IP dst-port=4500

chain=dstnat action=dst-nat to-addresses=192.168.0.2 to-ports=500 protocol=udp dst-address=公网IP dst-port=500

因手机系统、版本等差异,分别来讲:

1、使用L2TP协议的VPN连接。

适用于苹果手机和Android 10系统以下版本的Android手机:

以华为手机为例:

打开设置并搜索VPN:
在这里插入图片描述

添加VPN网络:
在这里插入图片描述
在这里插入图片描述
名称随便填,这里填入VPN,类型选择L2TP/IPSec PSK,填入服务器地址,填入IPSec预共享密钥:vpn,并显示高级设置。
转发线路填入192.168.100.0/22。即在这个子网掩码定义下的网络中的任何服务器都可以访问。
在这里插入图片描述
回到VPN界面,输入账号密码,并选中保存账户信息。连接到VPN网络。
在这里插入图片描述

以苹果手机为例:
同样在设置中搜索VPN:
在这里插入图片描述

类型选L2TP,描述任意,这里填VPN,服务器填入你自己的服务器地址。填入账号密码,密钥里填vpn,注意区分大小写。关闭发送所有流量。
在这里插入图片描述
最后点击链接到VPN。
在这里插入图片描述

2、Android版本为10以上,取消了L2TP协议的VPN连接。

所以,可以借助第三方软件VPN Client Pro实现基于SSTP协议的VPN连接,适用于所有android手机。

https://pan.baidu.com/s/1YoIhBDaYOI9tGYiy2knrGg?pwd=gdhz 提取码: gdhz

下载后安装,并按以下图例配置:

1、点击程序右下角的“+”图标。
2、点击“新建SSTP VPN配置文件”
在这里插入图片描述

3、输入自定义的名称,这里填VPN
4、点击远程服务器。
在这里插入图片描述

5、点击右下角的“+”按钮,新增一个服务器连接。远程服务器主机和端口填写你的服务器地址和端口。
在这里插入图片描述

6、返回到上一层配置
在这里插入图片描述

7、点击认证方式
在这里插入图片描述

8、选中“保存账号和密码”
9、输入账号密码。账号密码已经按每人发送OA邮件。
10、返回上一次配置
在这里插入图片描述

11、点击“IPV4路由
在这里插入图片描述

12、取消选择“重定向网关”
13、点击右下角“+”图标,添加路由
14、目标地址填入应用服务器的VPN网络地址,例如“192.168.100.5”,子网掩码填入“255.255.252.0”。
15、最后点击确定保存
同理,如果有多个VPN网络下的应用服务器需要访问,则在这里新增几个路由信息即可。
在这里插入图片描述

16、回到上次配置页面后,点击右上角保存按钮
在这里插入图片描述

17、点击左上角“<–”返回图标
在这里插入图片描述

18、点击连接快关按钮。连接成功!注意,首次连接会有一个认证提示,直接同意即可,以后就不会提示了 。
在这里插入图片描述

3、使手机通过VPN网络上网。

首先VPN服务器需填入网关。

1)、Android手机用自身VPN功能的L2TP连接方式,则不填入转发线路即可:

在这里插入图片描述

2)、苹果手机,选中发送所有流量
在这里插入图片描述

3)、VPN Client Pro,选中重定向网关(使用服务器网关),不添加IPv4路由。
在这里插入图片描述

六、多个虚拟HUB级联连接

如果只有一个虚拟HUB,可能因为服务器主机性能差异等,会造成终端连接到VPN网络困难。可以用新建多个虚拟HUB并级联,按终端所属的单位、部门或区域划分并分别建立账号密码,要求必须连接到指定虚拟HUB。

1、建立多个虚拟HUB

建立虚拟HUB并为每个虚拟HUB建立账号密码。可以只建立虚拟HUB名划分范围内的终端的账号密码,这样的好处是其他虚拟HUB下的账号无法相互登录,确保划分有效。
在这里插入图片描述

注意,新建的虚拟HUB只需建立账号密码即可,不需要单独开启虚拟DHCP,因为级联后将由根HUB的DHCP统一分配终端的IP地址。

2、级联连接。

首先,在每个虚拟HUB中建立一个用于级联连接的账号密码,然后选定一个虚拟HUB作为根HUB。这里就用最初默认建立的虚拟HUB DEFAULT为根HUB。
在这里插入图片描述
注意,必须严格控制上下层关系,避免形成环路。
按以上图例,把新建立的虚拟HUB全部加入到DEFAULT这个根HUB。

3、终端选择指定的虚拟HUB名连接。
在这里插入图片描述

虚拟HUB级联不仅限于同一台VPN服务器的多个虚拟HUB,同样可以用于其他不同VPN服务器建立的虚拟HUB。这样可以解决在单台VPN服务器主机性能不够时,新增多台VPN服务器主机的共同级联组网。

比如当前我的VPN服务器拓扑为:
在这里插入图片描述

有问题可以留言,如果是我懂得,我肯定会协助,只是,,,,,这个软件我也是刚刚在用,文中有写的不对的地方也请指出。谢谢~~~

========================================================

附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

猜你喜欢

转载自blog.csdn.net/yzqeantcc/article/details/130424749