警告!!!
请勿对不信任的人提供自己服务器的 IP、密码等任何有关服务器安全的信息!
请提醒玩家不要私下传播 VPN 连接信息!
开始前,你需要具备基本的 Linux 命令行操作能力。本教程仅涉及 Linux 服务端的部署,虽然 SoftEther 也支持 Windows 和 macOS,但操作细节有所不同,无法直接照搬。服务器方面,购买一台轻量云自然最稳妥,不过如果你有大家连接都比较稳定的海外免费服务器,或者自己拥有公网 IP,也可以作为替代方案。
博主不怎么懂网络安全,并不确定这些操作是否会在客户端和服务器上暴露安全漏洞,所以建议服主在不需要的时候,关闭 VPN 或阻断端口(最起码把虚拟 Hub 关了),避免服务器被攻击。不打游戏时也建议直接将客户端关闭。
博主并非计算机网络大佬,下面的操作很多都是根据别人的教程以及 AI 的建议进行的,如果有哪一步有问题或者可以优化还请多多包涵。
客户端打开 VPN 之后,所有流量都会从服务器走一遍(理论上是有办法避免的,但是博主没有这方面的知识储备不清楚应该如何操作),建议游玩时提醒玩家不要使用开启 VPN 的设备刷视频、通语音,降低服务器流量成本。
战略合作
本战已与下列服务达成战略合作,进入网站即可咨询问题,有 24 小时常驻客服随时答疑解惑:
安装 SoftEther
这里选择使用 Docker 部署,一条命令即可完成,省去手动编译安装的繁琐步骤:
1 | |
执行后,Docker 会自动拉取镜像并启动容器,如果出现下载镜像超时的情况,则需要找镜像站或网络代理解决。
SoftEther 会使用 443/992/1194/5555 四个端口,至少需要让客户端能够连接上其中之一(1194 不推荐使用)。推荐对外暴露 5555,博主未测试其它端口使用方式是否一致。
常用管理指令(如果你修改了 name,下面指令中的 name 也需要同步修改):
1 | |
参数详解
-d:后台运行容器,终端关闭后容器不会退出。去掉的话容器的日志会直接输出到当前终端,调试时可以删除,正式部署建议保留。--name softether:给容器指定一个名字,方便后续管理。softether可以换成你喜欢的任何名称,不影响功能。--restart unless-stopped:容器退出或服务器重启时自动重新启动(除手动 stop 外)。可选值有always(无论是否是手动 stop 都会在 docker 重启时自启) 和no(默认,不自动重启)。--network host:让容器直接使用宿主机的网络栈,而不是 Docker 默认的桥接网络。--cap-add NET_ADMIN:为容器添加网络管理权限。--device /dev/net/tun:将宿主机的 TUN/TAP 设备映射进容器。-v ~/softether/config:/var/lib/softether:将容器内 SoftEther 的数据目录映射到宿主机的~/softether/config。这样配置和证书都会保存在宿主机上,即使容器被删除,数据也不会丢失。冒号前面的路径可以改成你想要的任意位置,比如/data/softether,改成其他路径后后续操作中的对应路径也需要一并修改。如果不需要持久化的话该参数可删除。softethervpn/vpnserver:latest:指定使用的 Docker 镜像。latest表示最新版本,可以替换为具体版本号,也可以用stable代替latest使用稳定版,不过更新频率低。注意stable目前没有 arm 架构的版本只有 x86。
其中 network cap-add 和 device 这三个配置项没有测试是否对联机有影响,如果懒省事的话直接原样照抄就行,或者自己测试一下是否需要开启或部分开启这三个选项。
安装管理软件及客户端
以下操作在你的本地电脑上进行,而非服务器。
SoftEther 官方提供了带图形界面的管理工具和 VPN 客户端,可以让我们免去命令行的繁琐操作。访问下载页面:
https://www.softether-download.com/cn.aspx
进入后根据你的本地电脑系统选择对应组件:
| 你想做什么 | 下载这个 |
|---|---|
| 远程管理服务器上的 VPN,配置用户、虚拟 Hub 等 | SoftEther VPN Server Manager for … |
| 作为玩家加入虚拟局域网 | SoftEther VPN Client |
两者可以同时安装,互不冲突。如果你同时负责管理服务器和作为玩家联机,两个都装即可。
客户端
作为玩家加入虚拟局域网需要使用客户端,选择 SoftEther VPN Client 后按需选择平台及 CPU 架构即可:

管理器
SoftEther 提供了图形化界面管理 VPN,根据自己电脑的系统选择 SoftEther VPN Server Manager for … 后按需选择即可(安装包或压缩包均可):

管理器安装和使用过程中,可能会提示你安装一些管理器本体以外的内容,这些内容我们是不需要使用的,直接取消即可。
配置服务器
SoftEther 的管理器实测使用的时候容易遇到未响应的情况,耐心等待片刻即可恢复正常,如果长时间无响应可以杀掉重新打开,关闭管理器不会影响服务器的运行。
添加连接
安装并打开 SoftEther 管理器后,点击“新设置”,并在弹出的窗体中如实填写信息:

创建虚拟 Hub
创建完毕后双击新建的连接即可进入管理页,接下来我们需要创建一个虚拟 Hub(如果你想用默认的直接跳过这一步即可)。
注意:我们需要让联机的所有玩家在同一个虚拟 Hub 内,所以不要给每个玩家都建一个虚拟 Hub。

创建用户
双击创建好的虚拟 Hub 即可打开虚拟 Hub 的管理页:

在这里我们需要给每一个联机的玩家创建用户。
提示:
下文中提到的NoBroadcastLimiter大概率是对应这里 “安全策略”中的“无限制广播数量”。
可以选择:
- 这里先不设置安全策略,跟博主一模一样的初始化操作去做
- 给每个用户设置一下安全策略,把“无限制广播数量”打开,后面可以省一个命令
- 可以创建一个用户组,在用户组中添加“无限制广播数量”的配置,然后创建用户时把用户加入到用户组里,这样可以避免每个用户都调一遍策略
启用虚拟 NAT 和 DHCP
默认情况下,SoftEther 并没有打开 DHCP 服务器,这会导致用户连接到 VPN 后无法自动获取 IP 地址,按如下操作即可打开:

一般情况下无需修改 SecureNAT 配置,但如果默认的网段与你局域网网段有冲突则需要手动进去修改一下:

修改用户配置
默认情况下,SoftEther 并不会转发 UDP 广播消息,这会导致玩家无法在局域网游戏列表里看到房主开的游戏房间,需要手动进行调整。
这里由于博主并没有确定这两项配置在图形界面中分别对应哪两个选项,以及是否两个选项都必须设置,所以推荐直接无脑两个选项都改了。如果有大佬知道或者有心思去测试的话可以把测试结果发到评论区里。
接下来的操作需要在 VPN 服务器上进行。
前面我们使用 Docker 部署了 VPN,在服务器上运行 sudo docker exec -it softether sh 即可进入到容器内执行命令(注意,如果你容器名字不是 softether 需要替换一下名称)。
按照如下顺序进行(# 开头表示是命令的输出结果,> 开头是需要手动输入的内容):
1 | |
至此服务端的所有配置就全部完成了,但是客户端还有一些配置需要调整。
客户端配置
接下来的操作是每一个需要连接 VPN 的玩家都需要进行的!
创建虚拟网络适配器
第一次打开 VPN 客户端需要创建一个虚拟网络适配器,名称为 VPN(其实也可以是其它的,但是建议跟博主使用一样的名称,这样后面其它命令直接复制粘贴就可以了)。

平时用的梯子的 TUN 模式也是在操作系统中新建一个虚拟网络适配器,所以两者一起使用有可能会打架,建议只开一边,或者打游戏的时候把梯子从 TUN 切换到普通代理模式。
切换虚拟网络适配器网络类型
该项针对 Windows 用户,MacOS 有没有类似问题不确定。
SoftEther 创建的虚拟网络适配器的默认网络类型是 Public,这会导致玩家间的 UDP 广播消息无法正常传播,从而导致无法搜索到房间。
所以需要在 PowerShell 中以管理员身份执行下面的命令来讲适配器调整为 Private:
如果前面你的虚拟网络适配器名字不叫 VPN 下面指令里的名字也要修改
1 | |
实操建议
由于并不是所有玩家都会玩这一套东西,有可能部分玩家会半天搞不明白该怎么弄,所以如果人少的话,建议服主直接远程操控电脑帮玩家配置。
另外建议自己下好安装包发给其它玩家,避免版本不一样导致操作路径或细节不同。
给其它玩家配置前,建议自己把虚拟网络适配器创建好之后,在 PowerShell 执行下面的命令(或者去系统的管理面板),检查适配器的名称是否和教程给出的名称一样,不一样的话自己把命令里面的名称替换一下:
1 | |
新建连接
每个用户都需要自己新建一下到服务器的连接:

打开或关闭 VPN
右键创建好的连接可以选择“连接”或“断开”VPN。

正式游戏
服主和所有玩家都执行完操作后,进入游戏,一个玩家在局域网中创建房间,其它玩家就可以搜索到并加入了。
不过博主测试的时候发现,还是会有部分玩家无法搜索到其他人的房间,但是他创建房间其他人能搜索到,目前暂未发现原因,猜测与操作系统的安全策略有关。因为博主这边只有一个人有这种情况,固定一个人开房间就能勉强解决问题,所以暂未深究问题原因以及解决方案。
创作不易,扫描下方打赏二维码支持一下吧ヾ(≧▽≦*)o
求求了求求了 TAT,研究方案用了好几个小时的 (:qゝ∠)

























