https://youtu.be/p9gnpKuyRzQ
https://www.bilibili.com/video/BV1zLaPz6Ep3/
首先使用SSH远程登录到云服务器(VPS),然后在其命令行执行下面的指令。
切换至超级管理员用户
sudo su
进入root用户目录
cd ~
更新包管理工具,获取最新软件列表
apt update
进入root用户目录
apt install wget git openssl curl -y
检测是否已经安装有Go环境
go version
下载Go语言压缩包(海外地区)
wget https://go.dev/dl/go1.25.0.linux-amd64.tar.gz
下载Go语言压缩包(大陆地区)
wget https://golang.google.cn/dl/go1.25.0.linux-amd64.tar.gz
移除可能存在的Go语言文件残余
rm -rf /usr/local/go
解压Go压缩包到/usr/local/路径下
tar -C /usr/local -xzf go1.25.0.linux-amd64.tar.gz
将Go语言持久化加入系统环境变量,并立即生效
echo "export PATH=$PATH:/usr/local/go/bin" >> /etc/profile source /etc/profile
检查Go语言是否已经安装好
go version
*大陆地区切换使用内地下载源(Go 1.13 及以上)
go env -w GO111MODULE=on go env -w GOPROXY=https://goproxy.cn,direct
编译并安装tailscale derper模块
go install tailscale.com/cmd/derper@latest
创建文件夹并移动derper到合适位置
mkdir /usr/local/derp mkdir /usr/local/derp/bin mv /root/go/bin/derper /usr/local/derp/bin
创建系统服务配置文件(务必完整复制粘贴这串多行指令,并替换自己服务器的IPv4地址)
cat > /etc/systemd/system/derper.service << EOF [Unit] Description=Tailscale DERP Server After=network.target Wants=network.target [Service] User=root Group=root ExecStart=/usr/local/derp/bin/derper -certmode=manual -certdir=/usr/local/derp -hostname=你的服务器公网IPv4地址 -a :33331 -http-port=33332 --verify-clients Restart=on-failure RestartSec=5s [Install] WantedBy=multi-user.target EOF
启用并立即启动Derp服务
systemctl enable derper systemctl start derper
检查Derp服务运行状态,并点击键盘q键退回命令行
systemctl status derper
进入Derp目录检查生成的HTTPS证书密钥
cd /usr/local/derp ls
安装ufw防火墙
apt install ufw
检查防火墙状态
ufw status
开放必要端口,如果你的云服务器上还自定义了其他服务,请开放对应的端口
ufw allow 22 ufw allow 33331 ufw allow 33332 ufw allow 3478
启用ufw防火墙
ufw enable
在服务器控制台,找到配置防火墙的菜单,按照以下配置手动开放这几个端口

在浏览器访问以下网址,忽略不安全提示,点击继续访问,若出现Derp页面,说明服务已上线
https://你的服务器公网IPv4地址:33331
安装Tailscale
curl -fsSL https://tailscale.com/install.sh | sh
开启Tailscale
tailscale up
复制命令行中出现的https://login.tailscale.com/x/xxxxxxxx网址,粘贴到浏览器中,登录后即可将服务器加入Tailscale网络
进入Tailscale控制台,点击顶部菜单栏的“Access controls”,点击“JSON editor”,在第一层大括号内粘贴以下内容,之后点击底部“Save”保存更改
"derpMap": { "OmitDefaultRegions": true, "Regions": { "900": { "RegionID": 900, "RegionCode": "myRegion1", "Nodes": [ { "Name": "900", "RegionID": 900, "DERPPort": 33331, "IPv4": "你的服务器公网IPv4地址", "InsecureForTests": true, }, ], }, }, },
将各个设备加入Tailscale局域网后,可以使用设备的Tailscale局域网IP地址对其进行跨互联网访问,若P2P直连可以建立,那么网速和延迟都可以达到最好的效果。若不能建立直连,使用自建Derp进行中继仍能提供可接受的效果。家庭运营商可以提供公网IPv6地址,借助公网IPv6,设备可以实现P2P直连,这需要在家庭路由器和光猫中开启公网IPv6(IPv6 WAN),并保证Windows网卡已开启IPv6协议支持,有兴趣的朋友可以尝试。借助Tailscale实现基于IPv6的P2P直连比直接使用IPv6进行远程访问要安全很多,因为不需要将IPv6设备直接暴露到公网,也不需要手动开放防火墙或是做端口映射或端口转发。