关于虚拟局域网组队的方案分享
台服dnf吧
全部回复
仅看楼主
level 9
匿名人士@ 楼主
这就是一个给游戏用的虚拟局域网支持ipv6/ipv4/域名
所有机器先通过公网入口接进来,然后每台机器拿一个虚拟内网 IP,之后大家就按这个虚拟 IP 通信。
整体结构
- 公网入口:xx.xxxxx.com:xxxxx
- 虚拟网段:10.0.11.0/24
- 网关:10.0.11.1
- 网关机上的本地服务节点:10.0.11.2
- 其他远端节点:比如 10.0.11.5
- 普通客户端:动态分配,比如 10.0.11.7
软件到底干了什么
1. 客户端先连公网入口
2. 向服务端申请一个虚拟 IP
3. 本机创建一张虚拟网卡
4. 把发往虚拟网段的流量都送进这张虚拟网卡
5. 软件把这些 IP 包通过隧道发到服务端
6. 服务端再按目标虚拟 IP 转发给对应机器
结果
所有接入的机器,逻辑上就像在同一个局域网里。
比如:
- 玩家客户端拿到 10.0.11.7
- 网关机上的游戏节点是 10.0.11.2
- 远端 Linux 游戏节点是 10.0.11.5
那客户端就可以直接访问:
- 10.0.11.2
- 10.0.11.5
就像访问内网机器一样。
几个关键地址分别代表什么
- tunnel_server_ip
- 公网入口地址
- 用来先接入这个虚拟局域网
- tunnel_port
- 公网入口端口
- 用来建立隧道连接
- virtual_subnet
- 整个虚拟局域网的网段
- virtual_gateway
- 这个虚拟局域网里的网关地址
- server_virtual_ip
- 某个节点自己在虚拟局域网中的固定地址
bind_on_gateway 是什么
- true
- 这个节点 IP 直接绑定在公网入口服务器本机
- false
- 这个节点 IP 留给远端 Linux 节点连接后使用
Windows 客户端做什么
- 自动连公网入口
- 自动申请虚拟 IP
- 自动创建虚拟网卡
- 自动建立隧道
- 自动重连
Linux 客户端做什么
- 认领一个固定节点 IP
- 加入这个虚拟局域网
- 让远端 Linux 服务器也成为局域网中的一个节点
你现在得到的效果
- 客户端可以 ping 服务端虚拟 IP
- 客户端之间可以互通
- Linux 节点和 Windows 客户端都在同一个虚拟内网里
- 游戏直接连虚拟 IP 即可
2026年03月12日 04点03分 1
level 9
匿名人士@ 楼主
2026年03月12日 04点03分 2
aHR0cHM6Ly93d3cuMTIzODY1LmNvbS9zL3lzRWVWdi1WZ0dmdg==
2026年03月12日 04点03分
@trimuipro 没过期
2026年03月12日 07点03分
level 9
匿名人士@ 楼主
aHR0cHM6Ly93d3cuMTIzODY1LmNvbS9zL3
lz
RWVWdi1WZ0dmdg==
2026年03月12日 04点03分 3
过期了,没有文件
2026年03月13日 02点03分
@给个赞阿 aHR0cHM6Ly9yMmQuZG5vZi5uZXQvZmlsZS9tbW12Zmc5ZWxjOTNycm43
2026年03月13日 03点03分
level 11
不就是vpn么,我以前测试过,可以
2026年03月12日 05点03分 4
[大拇指]
2026年03月12日 05点03分
level 13
经验+3
2026年03月12日 17点03分 5
1