softEther

利用 softEther VPN 进行远程访问

作者: whr

使用场景和前提条件

  • 内部网络受到保护,无法直接在内部网络中的主机中直接部署VPN server(搭建完无法连接到该server)
  • 用户需要从外部网络远程访问内部网络中的资源,如主机或打印机等等
  • 对内部网络中的某台主机拥有管理权限
  • 有一台暴露在互联网中的主机
  • 内部网络中的主机可以直接访问互联网

比如

  1. 学生于校外访问校园网资源
  2. 远程办公
  3. 管理家庭局域网设备

举个栗子

这里通过一个例子,描述如何通过一步步的操作,利用softEther VPN 套件实现远程访问。
场景

一个安全的网络(192.168.1.0/24),它受到防火墙和NAT的保护,无法从Internet访问,但是可以通过防火墙或NAT代理访问Internet上的网站。
该网络中, IP地址为 192.168.1.111 的一台打印机,IP地址为 192.186.1.222 的一台主机H。
一台暴露在Internet的主机S,IP地址为 125.111.111.111。

目标

场景

通过构建主机S和主机H所在内部网络的级联网络,用户可以通过连接主机S所创建的VPN,实现对内部网络(192.168.1.0/24)中的资源的访问。

开始你的表演

总体上整个任务的关键位置所运行的SoftEther VPN组件如下图所示

场景

1、在主机S上安装搭建VPN server

连接到 主机S ,将SoftEther VPN Server 组件下载到本地。组件选择地址
获取xia下载链接
根据实际运行环境,选择适当的版本。这里我选择的是Linux 系统,CPU选择的是Intel x64 / AMD64 (64bit)

拿到下载地址后,使用wget命令进行下载,:

1
2
3
4
5
6
7
8
9

# 下载softether-vpnserver到本地
wget https://github.com/SoftEtherVPN/SoftEtherVPN_Stable/releases/download/v4.30-9696-beta/softether-vpnserver-v4.30-9696-beta-2019.07.08-linux-x64-64bit.tar.gz
#解压
tar zxvf softether-*server*.tar.gz
cd vpnserver/
# 这里面有一个隐藏的文件.install.sh,运行它。
[vpnserver]# ./.install.sh
# 一路Yes,Agree默认即可

查看下载的文件
查看下载的文件
进入对应文件夹
进入对应文件夹
运行安装脚本
运行安装脚本
进行默认配置
默认配置

安装完成后进入

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

# 启动vpnserver
[vpnserver]# ./vpnserver start
# 进行vpn的初始配置
[vpnserver]# ./ vpncmd

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 回车
Hostname of IP Address of Destination:
# 回车
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:
# 回车
Password:
# 回车

VPN Server>ServerPasswordSet
# 输入 ServerPasswordSet
ServerPasswordSet command - Set VPN Server Administrator Password
Please enter the password. To cancel press the Ctrl+D key.
# 设置你的服务器管理密码
Password: ******#这里输入管理密码
Confirm input: ******#确认密码

至此,主机S上的vpnserver的安装和初步的配置就完成了,后面将介绍使用SoftEther VPN Server Manager 对其进行进一步的配置。

2、在主机H上安装搭建VPN Bridge

连接到 主机H ,将SoftEther VPN Bridge 组件下载到本地。这里就不贴图了,具体和下载vpnserver一样,换成vpnbridge。下载地址

根据实际运行环境,选择适当的版本。这里我选择的是Linux 系统,CPU选择的是Intel x64 / AMD64 (64bit)
使用wget 命令进行下载,安装,初步配置也都相近:

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
# 下载softether-vpnbridge到本地
wget https://github.com/SoftEtherVPN/SoftEtherVPN_Stable/releases/download/v4.30-9696-beta/softether-vpnbridge-v4.30-9696-beta-2019.07.08-linux-x64-64bit.tar.gz
#解压
tar zxvf softether-*bridge*.tar.gz
cd vpnserver/
# 这里面有一个隐藏的文件.install.sh,运行它。
[vpnbridge]# ./.install.sh
# 一路Yes,Agree默认即可

[vpnbridge]# ./vpnbridge start
[vpnbridge]# ./vpncmd
...
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:#回车

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
ServerPasswordSet command - Set VPN Server Administrator Password
Please enter the password. To cancel press the Ctrl+D key.

Password: ******#这里输入管理密码
Confirm input: ******#确认密码


The command completed successfully.

3、配置主机S上的vpnserver

这里需要找了一台windows的机子,因为SoftEther提供了一款SoftEther VPN Server Manager的图形管理器,进行蛇者比较方便。要求就是最好在内网中,方便连接主机H,同时也能连接主机S。将SoftEther VPN Server Manager for Windows 图形组件下载到本地。下载地址

  1. 运行SoftEther VPN Server Manager,点击设置
    sss
  2. 填入设置名(这个随意),主机名填入主机S的IP地址,端口采用默认的443,代理类型选择直接TCP/IP连接(无代理),选中服务端管理模式并填入前面设置的vpnserver管理密码,点击确定。如果你在前面没有设置管理密码,在连接的时候将也提示你设置密码。
    sss
  3. 勾选远程访问VPN Server (R),点击下一步后提示确认初始化,选择 是。
    sss
  4. 为你的vpnserver设置一个名字,这里输入VPN,点击确定。
    sss
  5. 动态DNS功能,不用管,直接无视选择退出
    sss
  6. IPsec/L2TP 设置,勾选启用L2TP服务器功能,并设置IPsec预共享秘钥。这一步是为了后面我们可以用手机或者PC自带的VPN工具进行连接。
    sss
  7. VPN Azure 云,勾选禁用,点击确定。
    sss
  8. 创建一个用户来接受VPN连接,点击创建用户。
    sss
  9. 填入相关信息,验证类型选择密码验证,并在密码验证设置中填入密码。
    sss
  10. 我们这里需要创建两个账号,分别为user1和user2,一个用于主机H上的VPN bridge,一个用于用户在外网的状态下登录VPN。
    sss
  11. 点击关闭进入下一步。
    sss
  12. 点击管理HUB。
    sss
  13. 点击虚拟NAT和虚拟DHCP服务器
    sss
  14. 点击启用SecureNAT,这一步很关键。
    sss
  15. 确定启用SecureNAT。
    sss
  16. 点击关闭。
    sss

至此,我们对于主机S上的VPN server的配置就完成了,接下来连接到主机H上的vpn bridge进行配置。

4、配置主机H上的vpnbridge

同样是回到SoftEther VPN Server Manager主界面,点击新设置,填入VPN bridge的IP地址,这里是 192.168.1.222,如果前面在初步配置的时候选择默认的话,端口选择5555,如果前面在初步配置的时候选择默认的话。并填入管理密码。(参考3-1,3-2)

  1. 勾选站到站 VPN Server 或 VPN Bridge,选择下一步。
    sss
  2. 设置本地网桥。这里如果你有多张网卡的话,要选择你想级联出去网段所在的网卡。这里我想级联192.168.1.0/24网段,我选择配置为该网段地址的网卡,eth0。不清楚对应网卡的可以在控制台运行ifconfig命令查看。
    sss
  3. 回到管理器面板,点击管理虚拟HUB,点击虚拟NAT和虚拟DHCP服务器,启用 SecureNAT。
    sss
  4. 回到管理器面板,点击管理虚拟HUB,选择管理级联连接
    sss
  5. 填写连接设置名(自由设置),填写vpnserver的地址,即主机S的IP地址,端口号选择443。只要你的地址和端口填写正确,并且前面配置无误,这里虚拟HUB名的下拉列表就能找到我们之前创建的虚拟HUB “VPN”。勾选无代理,选择认证类型为标准密码验证,并填写用户名密码。这里使用创建的用户user1。点击确定。
    sss
  6. 进入到级联管理界面,选中我们刚刚创建的连接,点击在线
    sss
  7. 发现该装填已由离线变成在线。
    sss

    至此,我们在对主机H的vpn bridge的配置也大功告成。此时主机S与主机H逻辑上已经是同属一个网络,主机S可以直接访问内网192.168.1.0/24网络。所以下一步,我们只要连接到主机S的VPN,我们也就可以和主机S一样,直接访问内网192.168.1.0/24网络的资源了。

5. 用户配置L2TP/IPsec VPN

  1. IOS端设置。
    sss

  2. Android端设置。
    sss

    ————————————————
    连接时填入用户名密码即可。

  3. Windows端设置。
    sss

连接有问题的时候请检查一下主机S的防火墙和安全策略设置。请开启L2TP必要的端口:UDP 500、4500、1701

完结撒花

最后更新: 2019年11月03日 09:51

原始链接: https://silence-linhl.github.io/blog/2019/11/02/softEther/

× 请我吃糖~
打赏二维码