我们在没有内网穿透,本地机器也没有公网IP,同时无法连接服务器,各大虚拟局域网都很卡顿,联机mod无法使用的情况下可以通过自建虚拟局域网来游玩我的世界,同时这个局域网也适用于其他可以局域网联机的游戏。

需要的软硬件

  • 方案一:
    1. 一个有公网IP的服务器
    2. 使用ZeroTier连接服务器
    3. ZeroTier服务器
  • 方案二:
    1. 一个有公网IP的服务器
    2. 使用Tailscale连接服务器
    3. headscale
  • 方案三:
    1. 一个有公网IP的Windows或Linux设备
    2. 使用方案一或方案二中的Docker方案

前置准备工作

示例使用的系统是Debian12.10的版本,全程都在命令行中运行。

同时别的系统也可以进行同样的操作,只不过是命令有些许不一样。

如果你不知道自己是什么系统,可以通过安装Fastfetch或者前往设置,在系统信息处查看。

参考文档:

基础环境安装

我们执行下面的命令安装一些软件

1
2
sudo apt update
sudo apt install git wget curl -y

然后安装Docker

设置 Docker 的 apt 存储库

1
2
3
4
5
6
7
8
9
10
11
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

安装最新版本Docker

1
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

通过运行 hello-world 镜像来验证安装是否成功:(这一步可能会因为网络问题无法运行成功,判断方法是只要弹出Unable to find image 'hello-world:latest' locally就算Docker安装完成了)

1
sudo docker run hello-world

然后配置一下Docker镜像加速

1
2
3
4
5
6
7
8
9
10
11
12
13
sudo tee /etc/docker/daemon.json <<EOF
{
"registry-mirrors": [
"https://docker.m.daocloud.io"
"https://docker.mirrors.aster.edu.pl",
"https://docker.mirrors.imoyuapp.win"
"https://docker.1ms.run"
]
}
EOF

sudo systemctl daemon-reload
sudo systemctl restart docker

PS:如果你闲得蛋疼的话可以在配置Docker镜像加速以后再运行一遍sudo docker run hello-world

方案一

服务器安装

克隆一下项目的源码

1
git clone https://ghfast.top/https://github.com/xubiaolin/docker-zerotier-planet.git

然后进入项目

1
cd docker-zerotier-planet

然后运行项目脚本

1
./deploy.sh

随后会弹出这样的界面

1
2
3
4
5
6
7
欢迎使用zerotier-planet脚本,请选择需要执行的操作:
1. 安装
2. 卸载
3. 更新
4. 查看信息
5. 退出
请输入数字:

然后输入1进行安装

然后端口默认就可以了。

安装完成以后是这样的:

然后我们复制链接下载planet跟moon文件。

创建网络

访问 http://你的ip:3443 进入controller页面

使用默认账号为:admin

默认密码为:password

登录后点击”Networks”菜单,然后点击”Add Network”按钮创建新网络。

在创建网络页面中,输入一个便于识别的网络名称,其他选项可保持默认。点击”Create Network”按钮完成创建。

创建成功后系统会自动生成一个网络ID,这个ID在后续客户端配置时会用到,点击Network,在网络名称后面括号里就是你的ID

在Network里点击easy setup,然后点击Generate network address,然后点击Submit就可以了。

客户端连接

可以查看ZeroTier官方文档或者查看ZeroTier服务器文档

授权设需要在http://你的ip:3443 的Network里查看并授权。

方案二

服务器安装

我们执行下面的命令:

1
2
3
4
5
6
sudo apt update
wget --output-document=headscale.deb \
"https://github.com/juanfont/headscale/releases/download/v0.25.1/headscale_0.25.1_linux_amd64.deb"
sudo apt install ./headscale.deb
sudo mkdir -p /etc/headscale
sudo wget -O /etc/headscale/config.yaml https://raw.githubusercontent.com/juanfont/headscale/main/config-example.yaml

随后执行命令:

1
vim /etc/headscale/config.yaml

然后将headscale_url修改为服务器IP。

然后启动handscale

1
2
sudo systemctl enable --now headscale
sudo systemctl status headscale

然后创建一个用户

1
headscale user create name

查看用户列表

1
headscale user list

客户端连接

可以查看Tailscale 基础教程:Headscale 的部署方法和使用教程或者Headscale文档

连接的过程大概是这样的:

连接服务器:



注册节点:



连接成功:

方案三

方案三的操作步骤其实和一二的差别不大,只不过一个是在服务器部署,一个是在本地部署而已。所以就拿Windows和方案二来进行演示了,因为方案二也有Docker安装的办法,也正好对应了一开始所说的“别的系统也可以进行同样的操作,只不过是命令有些许不一样”

首先我们要确认自己有没有公网IP,如果不知道自己的公网IP是多少,或者不知道自己有没有公网IP,可以win+r然后输入cmd并回车,最后在终端输入下面这个命令查看:

1
curl cip.cc

当然了,这个IP也不一定是你自己的,还需要输入下面这个命令查看:

1
ipconfig

如果可以看到和curl cip.cc里输出的IP,那就是你有公网IP,反则就是没有。

服务器安装

首先我们去Docker Desktop下载一个Docker,然后去Git下载一个64-bit Git for Windows Setup,将Docker和Git安装完成,

然后新建一个文件夹,然后右键并选择在终端中打开,然后输入下面的命令:

1
2
3
mkdir .\headscale\config
mkdir .\headscale\data
curl https://raw.githubusercontent.com/juanfont/headscale/main/config-example.yaml -o ./headscale/config/config.yaml

然后修改headscale_url为你的公网IP或者0.0.0.0

修改 listen_addr 为 0.0.0.0

1
notepad ./headscale/config/config.yaml

然后创建一个一个Docker compose文件

1
notepad docker-compose.yml

然后输入下面的内容

1
2
3
4
5
6
7
8
9
10
11
12
13
services:
headscale:
image: docker.m.daocloud.io/headscale/headscale:stable
container_name: headscale
restart: always
ports:
- "8080:8080"
volumes:
- ./headscale/config:/etc/headscale
- ./headscale/data:/var/lib/headscale
command: [ "serve" ]
environment:
- TZ=Asia/Shanghai

然后运行命令:

1
docker-compose up

稍等片刻以后出现下面的输出就说明你已经安装完成了。

然后新建一个终端,输入下面的命令:

1
docker exec -it headscale headscale user create 你的用户名

客户端连接

可以查看Tailscale 基础教程:Headscale 的部署方法和使用教程或者Headscale文档

连接的过程大概是这样的:

连接服务器:



注册节点:



连接成功: