使用 SoftEther VPN 搭建虚拟局域网

发布:

前言🔗

我们日常使用网络的过程中,局域网是非常有用的一个技术,它可以让一个范围内的多个设备互相访问、发现,共享一个广域网等。

由于局域网的特性,可以用来做很多事,常见的比如:局域网传输文件、游戏联机。

说起游戏联机,如果想和小伙伴一起玩局域网联机的游戏,小伙伴又没跟我在同一个局域网,这就是件很难解决的事情?这时候就可以用虚拟局域网来解决问题。

最常见的虚拟局域网技术就是 VPN,也就是虚拟私有网络。有了虚拟局域网,就可以非常方便的访问处于同一个虚拟局域网的其他设备,甚至是其他设备所在屋里局域网的其他设备。

因为最近小山跟朋友局域网联机玩游戏,所以找了很多解决方案,最后我选择了 SoftEther VPN,它安装和管理起来相当方便,而且运行稳定,下面就教大家如何使用它来搭建虚拟局域网。

准备工作🔗

需要一台具有可访问公网 IP 的设备,用来作为虚拟局域网的服务器。服务器的性能不需要太高。1G 内存就差不多,但是带宽很重要,带宽的大小、网络的延迟取决于你用虚拟局域网做什么。

如果要玩游戏,网络延迟就很重要了,最好在 50ms 以下,不能超过 100ms。我推荐使用国内的共享 IP 服务器,端口开放也不需要太多,3 个就够了。如果是做其他用途,比如访问远程的文件,就很随意了。

安装 SoftEther VPN 服务端🔗

下面的教程以服务器是 Linux 系统为例,如果服务器是 Windows,那安装过程就更简单了。

访问 SoftEther 下载中心:https://www.softether-download.com/,然后选择组件:SoftEther VPN Server,接下来选择服务器对应的系统和 CPU 架构,最后下载安装包并上传到服务器,如果是 Linux 系统的安装包,安装前需要解压。

Linux 的安装包解压之后会得到一个名为 vpnserver 的文件夹,里面是待链接的预编译文件,使用前需要先执行 make 命令进行处理。

进入 vpnserver 目录,然后执行 make 命令,如果有询问,输入 1 并按回车即可。处理完成后便可以得到二进制文件,一次执行下列命令将文件复制到一个新的目录。

sudo mkdir -p /usr/local/vpnserver
sudo cp -p hamcore.se2 /usr/local/vpnserver/hamcore.se2
sudo cp -p vpncmd /usr/local/vpnserver/vpncmd
sudo cp -p vpnserver /usr/local/vpnserver/vpnserver

启动 VPN 服务器:sudo /usr/local/vpnserver/vpnserver start

停止 VPN 服务器:sudo /usr/local/vpnserver/vpnserver stop

如果需要开机启动 VPN 服务器,可以将启动命令加入到开机执行脚本,或编写 systemd 单元文件进行管理。

安装 SoftEther VPN Server 管理程序🔗

为了更方便的管理 VPN 服务端,我们可以在电脑上安装管理程序来远程管理 VPN 服务器,以下以 Windows 系统为例。

访问 SoftEther 下载中心:https://www.softether-download.com/,然后选择组件:SoftEther VPN Server Manager for Windows,接下来选择电脑对应的 CPU 架构,最后下载安装包并安装即可,安装需要选择组件,选择「SoftEther VPN Server 管理工具(仅限管理工具)」即可。

安装完成后启动管理工具,点击管理工具窗口的「新设置」按钮添加服务器。

「设置名」随意填写,「主机名」填写服务器的 IP 地址,「端口号」可以填写 443、992、1194、5555,这些都是服务器的默认端口号,请确保这些端口没有被其他程序占用且可以访问,管理模式选择「服务端管理模式」,默认没有密码,不需要输入。

首次连接成功后需要设置新密码,然后会弹出「SoftEther VPN Server 简单安装」的窗口,关闭它。接下来可能会询问是否需要设置「IPsec/L2TP」,不需要。

基础设置 SoftEther VPN Server🔗

使用管理工具连接服务器后,点击管理工具主窗口的「OpenVPN / MS-SSTP 设置」,取消选中「启用 OpenVPN 克隆 Server 功能」和「开启 MS-SSTP VPN 克隆 Server 功能」。

点击管理工具主窗口的「加密与网络」,取消选中「使用并保持互联网的连接」。

删除管理工具主窗口左下角的「监听器列表」的多余端口,只保留一个就行,如果想更改端口,先新建一个端口,然后使用新端口连接到服务器,再把旧端口删除。

关闭 SoftEther VPN Server 的 DDNS 功能🔗

SoftEther VPN Server 自带 DDNS 功能,这个功能一般来说没啥用,推荐关闭,关闭此功能需要编辑配置文件,按照下面的步骤操作。

点击管理工具主窗口右下角的「编辑设置」,点击「保存到文件」保存到本地,使用文本编辑器打开保存的文件。

在文件开头前几行找到 declare DDnsClient,然后把它下面的 bool Disabled false 改成 bool Disabled true

点击管理工具主窗口右下角的「编辑设置」,点击「导入文件并应用」选择并导入修改后的文件。

SoftEther VPN Server 会自动重启,管理程序也会自动关闭,等待数秒后重新连接服务器即可。

创建虚拟局域网🔗

在 SoftEther VPN 中,每个虚拟局域网对应一个虚拟 HUB,同一个 HUB 内的所有设备可以互相访问,不同的 HUB 之间不可以互相访问。

SoftEther VPN Server 默认有一个名为「DEFAULT」的虚拟 HUB,将其删除,创建一个全新的。

点击「创建虚拟 HUB」-> 为其起一个名字并填写到「虚拟 HUB 名」输入框 -> 密码视需要决定是否填写,如果有密码,可以使用这个密码单独管理 HUB 而不是整个服务器 -> 选中「不要向匿名用户枚举」-> 点击「确定」。

创建好以后,选中创建好的虚拟 HUB,然后点击「管理虚拟 HUB」。

首先把 DHCP 服务器打开,这样客户端连接之后会自动分配 IP 地址,点击「虚拟 NAT 和虚拟 DHCP 服务器」-> 点击「启用 SecureNAT」-> 点击「SecureNAT 配置」-> 取消选中 [使用虚拟 NAT 功能]。

最后,清空「默认网关地址」和「DNS 服务器地址」输入框 -> 点击「确定」-> 关闭「虚拟 NAT 和虚拟 DHCP 服务器」窗口。

如果不清空默认网关地址,当客户端连接 SoftEther VPN 之后,可能所有网络流量都会经过 SoftEther VPN Server。

虚拟 HUB 设置窗口

创建用户🔗

点击管理虚拟 HUB 窗口的「管理用户」按钮 -> 点击「新建」-> 填写用户名和密码 -> 完成创建。如果只有自己一个人用,创建一个用户就可以了,如果是多个人用,推荐一人一个用户。最后关闭「管理用户」和「管理虚拟 HUB」的窗口

设置 L2TP 功能(可选)🔗

由于 SoftEther VPN 没有官方手机客户端,为了可以在手机上使用,需要启用 L2TP 功能,以便在手机上进行连接。

点击主窗口的「IPsec / L2TP 设置」按钮 -> 选中「启用 L2TP 服务器功能(L2TP over IPsec)」-> 在下方的「IPsec 预共享密钥」填写 8 个字符,最好是随机的 -> 点击「确定」。

注意:L2TP 不支持自定义端口,服务器必须开启 500 和 4500 端口,对于共享 IP 的服务器来说,L2TP 就无法使用了。

如何在 Windows 上连接到服务器🔗

Windows 使用 SoftEther VPN 非常的方便,因为有官方客户端。

访问 SoftEther 下载中心:https://www.softether-download.com/,然后选择组件:SoftEther VPN Client,接下来选择 Windows 系统和电脑对应的 CPU 架构,最后下载安装包并安装即可。

安装完成后打开客户端,点击客户端主窗口的「添加新的 VPN 连接」,首次添加时需要创建 VPN 网卡,耐心等待创建完成即可。

为连接取一个名字并填写到「连接设置名」输入框,填写服务器 IP 地址到「主机名」输入框,填写服务器的监听端口到「端口号」输入框,填写刚才创建的虚拟 HUB 的名字到「虚拟 HUB 名」输入框,在右侧的「用户名」和「密码」输入框填写刚刚创建的用户信息,推荐取消选中「断开后自动重连」。

连接创建完成后,鼠标右键单击创建好的连接并点击「连接」,如果提示已连接并出现 IP 分配的提示则表示成功。

Windows 使用时需要注意,VPN 默认属于公用网络,如果需要让 VPN 访问程序的服务,Windows 防火墙弹出提示时,记得勾选公用网络,再点击允许访问。

如何在 Android 上连接服务器🔗

由于 Android 没有官方客户端,只能使用系统的 VPN 功能来创建 L2TP 连接,以下操作以 Android Pie 为例。

找到手机的 VPN 设置,新建一个 VPN 连接。协议选择「L2TP/IPsec PSK」,然后分别填写「服务器地址」和「IPsec 预共享密钥」。用户名填写格式为「用户名@虚拟 HUB 名」,例如刚才创建的虚拟 HUB 名为「GameLAN」,创建的用户名为「test」,那么 L2TP 用户名就是「test@GameLAN」,密码依旧是对应用户的密码。

选择「显示高级选项」,然后填写虚拟 HUB 的 IP 段到「转发路线」输入框,虚拟 HUB 的 IP 段就是 DHCP 服务器设置的 IP 段,默认为 192.168.30.0/24,务必要设置「转发路线」,否则所有流量都会经过 VPN。

设置完成之后,就可以连接并测试是否正常工作。

Android 设置 L2TP 界面


评论由 giscus 驱动,基于 GitHub Discussions。