惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Engineering at Meta
Engineering at Meta
Cloudbric
Cloudbric
云风的 BLOG
云风的 BLOG
A
About on SuperTechFans
The GitHub Blog
The GitHub Blog
IT之家
IT之家
F
Full Disclosure
B
Blog RSS Feed
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Hugging Face - Blog
Hugging Face - Blog
B
Blog
H
Help Net Security
The Cloudflare Blog
Recorded Future
Recorded Future
P
Proofpoint News Feed
P
Proofpoint News Feed
C
Cisco Blogs
T
Tailwind CSS Blog
P
Palo Alto Networks Blog
D
Docker
爱范儿
爱范儿
Know Your Adversary
Know Your Adversary
博客园 - 聂微东
D
Darknet – Hacking Tools, Hacker News & Cyber Security
Y
Y Combinator Blog
雷峰网
雷峰网
AWS News Blog
AWS News Blog
D
DataBreaches.Net
博客园 - 司徒正美
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
博客园 - Franky
C
Cybersecurity and Infrastructure Security Agency CISA
Blog — PlanetScale
Blog — PlanetScale
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Latest news
Latest news
Google DeepMind News
Google DeepMind News
Martin Fowler
Martin Fowler
MongoDB | Blog
MongoDB | Blog
C
CERT Recently Published Vulnerability Notes
阮一峰的网络日志
阮一峰的网络日志
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
C
CXSECURITY Database RSS Feed - CXSecurity.com
酷 壳 – CoolShell
酷 壳 – CoolShell
C
Cyber Attacks, Cyber Crime and Cyber Security
腾讯CDC
小众软件
小众软件
G
Google Developers Blog
Hacker News - Newest:
Hacker News - Newest: "LLM"
Scott Helme
Scott Helme
O
OpenAI News

山岳库博

追光者 快手面经(二〇二四年五月九日) 一文搞懂伪代码 2023 级新生周赛第二周题解 Swpp Backends 官方文档 Butterfly 友链魔改教程 在 MavenCentral 上发布你的项目 控制台游戏引擎开发文档 MI——高级合成表模块 人狼羊菜过河详细题解 蓝桥杯 2023 训练四 Java 全解 蓝桥杯 2023 训练三 Java 全解 蓝桥杯 2023 训练二 Java 全解 全自动博客部署方案 小白也能用的 SW 构建插件 MI—电力系统工作原理 MI文档——自动化GUI绘制 给博客添加追番页面 网站加载速度优化方案总结 给博客添加自定义的通知悬浮窗
自建虚拟局域网实现文明六稳定联机
空梦 · 2026-07-12 · via 山岳库博

警告!!!
请勿对不信任的人提供自己服务器的 IP、密码等任何有关服务器安全的信息!
请提醒玩家不要私下传播 VPN 连接信息!

开始前,你需要具备基本的 Linux 命令行操作能力。本教程仅涉及 Linux 服务端的部署,虽然 SoftEther 也支持 Windows 和 macOS,但操作细节有所不同,无法直接照搬。服务器方面,购买一台轻量云自然最稳妥,不过如果你有大家连接都比较稳定的海外免费服务器,或者自己拥有公网 IP,也可以作为替代方案。
博主不怎么懂网络安全,并不确定这些操作是否会在客户端和服务器上暴露安全漏洞,所以建议服主在不需要的时候,关闭 VPN 或阻断端口(最起码把虚拟 Hub 关了),避免服务器被攻击。不打游戏时也建议直接将客户端关闭。

博主并非计算机网络大佬,下面的操作很多都是根据别人的教程以及 AI 的建议进行的,如果有哪一步有问题或者可以优化还请多多包涵。
客户端打开 VPN 之后,所有流量都会从服务器走一遍(理论上是有办法避免的,但是博主没有这方面的知识储备不清楚应该如何操作),建议游玩时提醒玩家不要使用开启 VPN 的设备刷视频、通语音,降低服务器流量成本。

战略合作

  本战已与下列服务达成战略合作,进入网站即可咨询问题,有 24 小时常驻客服随时答疑解惑:

安装 SoftEther

  这里选择使用 Docker 部署,一条命令即可完成,省去手动编译安装的繁琐步骤:

1
2
3
4
5
6
7
8
sudo docker run -d \
--name softether \
--restart unless-stopped \
--network host \
--cap-add NET_ADMIN \
--device /dev/net/tun \
-v ~/softether/config:/var/lib/softether \
softethervpn/vpnserver:latest

  执行后,Docker 会自动拉取镜像并启动容器,如果出现下载镜像超时的情况,则需要找镜像站或网络代理解决。

  SoftEther 会使用 443/992/1194/5555 四个端口,至少需要让客户端能够连接上其中之一(1194 不推荐使用)。推荐对外暴露 5555,博主未测试其它端口使用方式是否一致。

  常用管理指令(如果你修改了 name,下面指令中的 name 也需要同步修改):

1
2
3
4
// 关闭容器(如果重启策略是 unless-stopped,手动停止容器后,在服务器重启时容器不会自动启动)
sudo docker stop softether
// 启动容器
sudo docker start softether

参数详解

  • -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-adddevice 这三个配置项没有测试是否对联机有影响,如果懒省事的话直接原样照抄就行,或者自己测试一下是否需要开启或部分开启这三个选项。

安装管理软件及客户端

  以下操作在你的本地电脑上进行,而非服务器。

  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 即可打开虚拟 Hub 的管理页:

管理器新建用户

  在这里我们需要给每一个联机的玩家创建用户。

提示:
下文中提到的 NoBroadcastLimiter 大概率是对应这里 “安全策略”中的“无限制广播数量”。
可以选择:

  1. 这里先不设置安全策略,跟博主一模一样的初始化操作去做
  2. 给每个用户设置一下安全策略,把“无限制广播数量”打开,后面可以省一个命令
  3. 可以创建一个用户组,在用户组中添加“无限制广播数量”的配置,然后创建用户时把用户加入到用户组里,这样可以避免每个用户都调一遍策略

启用虚拟 NAT 和 DHCP

  默认情况下,SoftEther 并没有打开 DHCP 服务器,这会导致用户连接到 VPN 后无法自动获取 IP 地址,按如下操作即可打开:

管理器新建用户

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

管理器新建用户

修改用户配置

  默认情况下,SoftEther 并不会转发 UDP 广播消息,这会导致玩家无法在局域网游戏列表里看到房主开的游戏房间,需要手动进行调整。

  这里由于博主并没有确定这两项配置在图形界面中分别对应哪两个选项,以及是否两个选项都必须设置,所以推荐直接无脑两个选项都改了。如果有大佬知道或者有心思去测试的话可以把测试结果发到评论区里。

  接下来的操作需要在 VPN 服务器上进行。

  前面我们使用 Docker 部署了 VPN,在服务器上运行 sudo docker exec -it softether sh 即可进入到容器内执行命令(注意,如果你容器名字不是 softether 需要替换一下名称)。

  按照如下顺序进行(# 开头表示是命令的输出结果,> 开头是需要手动输入的内容):

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
~$ sudo docker exec -it softether sh
> 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
# 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 443 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:

> [输入你的虚拟 Hub 的名称]
# Password:

> [输入虚拟 Hub 创建时设置的密码]
# Connection has been established with VPN Server "localhost" (port 443).
#
# You have administrator privileges for Virtual Hub 'WM' on the VPN Server.

下面的两个命令对每个用户都要执行一遍(上文如果手动设置安全策略了,NoBroadcastLimiter 可以不设置)
> UserPolicySet <用户名> /NAME:NoBroadcastLimiter /VALUE:yes
# UserPolicySet command - Set User Security Policy
# The command completed successfully.

> UserPolicySet <用户名> /NAME:ArpDhcpOnly /VALUE:no
# UserPolicySet command - Set User Security Policy
# The command completed successfully.


  至此服务端的所有配置就全部完成了,但是客户端还有一些配置需要调整。

客户端配置

  接下来的操作是每一个需要连接 VPN 的玩家都需要进行的!

创建虚拟网络适配器

  第一次打开 VPN 客户端需要创建一个虚拟网络适配器,名称为 VPN(其实也可以是其它的,但是建议跟博主使用一样的名称,这样后面其它命令直接复制粘贴就可以了)。

客户端创建虚拟网络适配器

  平时用的梯子的 TUN 模式也是在操作系统中新建一个虚拟网络适配器,所以两者一起使用有可能会打架,建议只开一边,或者打游戏的时候把梯子从 TUN 切换到普通代理模式。

切换虚拟网络适配器网络类型

  该项针对 Windows 用户,MacOS 有没有类似问题不确定。

  SoftEther 创建的虚拟网络适配器的默认网络类型是 Public,这会导致玩家间的 UDP 广播消息无法正常传播,从而导致无法搜索到房间。

  所以需要在 PowerShell 中以管理员身份执行下面的命令来讲适配器调整为 Private

如果前面你的虚拟网络适配器名字不叫 VPN 下面指令里的名字也要修改

1
Set-NetConnectionProfile -InterfaceAlias "VPN - VPN Client" -NetworkCategory Private

实操建议

  由于并不是所有玩家都会玩这一套东西,有可能部分玩家会半天搞不明白该怎么弄,所以如果人少的话,建议服主直接远程操控电脑帮玩家配置。

  另外建议自己下好安装包发给其它玩家,避免版本不一样导致操作路径或细节不同。

  给其它玩家配置前,建议自己把虚拟网络适配器创建好之后,在 PowerShell 执行下面的命令(或者去系统的管理面板),检查适配器的名称是否和教程给出的名称一样,不一样的话自己把命令里面的名称替换一下:

1
Get-NetConnectionProfile

新建连接

  每个用户都需要自己新建一下到服务器的连接:

客户端新建连接

打开或关闭 VPN

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

客户端打开或关闭连接

正式游戏

  服主和所有玩家都执行完操作后,进入游戏,一个玩家在局域网中创建房间,其它玩家就可以搜索到并加入了。

  不过博主测试的时候发现,还是会有部分玩家无法搜索到其他人的房间,但是他创建房间其他人能搜索到,目前暂未发现原因,猜测与操作系统的安全策略有关。因为博主这边只有一个人有这种情况,固定一个人开房间就能勉强解决问题,所以暂未深究问题原因以及解决方案。


创作不易,扫描下方打赏二维码支持一下吧ヾ(≧▽≦*)o

求求了求求了 TAT,研究方案用了好几个小时的 (:qゝ∠)