首先感谢 @韩风 大佬提供的方法
大佬B站主页:韩风Talk的个人空间-韩风Talk个人主页-哔哩哔哩视频
打洞原理详解:[译] NAT 穿透是如何工作的:技术原理及企业级实践(Tailscale, 2020)
apt update && apt upgrade
apt install -y wget git openssl curl
wget https://go.dev/dl/go1.21.5.linux-amd64.tar.gz
rm -rf /usr/local/go && tar -C /usr/local -xzf go1.21.5.linux-amd64.tar.gz
export PATH=$PATH:/usr/local/go/bin
go version
echo "export PATH=$PATH:/usr/local/go/bin" >> /etc/profile
source /etc/profile
go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,direct
go install tailscale.com/cmd/derper@main
cd 刚才复制的路径
go build -o /etc/derp/derper
cd
ls /etc/derp
openssl req -x509 -newkey rsa:4096 -sha256 -days 3650 -nodes -keyout /etc/derp/derp.myself.com.key -out /etc/derp/derp.myself.com.crt -subj "/CN=derp.myself.com" -addext "subjectAltName=DNS:derp.myself.com"
cat > /etc/systemd/system/derp.service <
systemctl daemon-reload
systemctl restart derp
reboot
"derpMap": {
"OmitDefaultRegions": true,
"Regions": {
"901": {
"RegionID": 901,
"RegionCode": "Myself",
"RegionName": "Myself Derper",
"Nodes": [
{
"Name": "901a",
"RegionID": 901,
"DERPPort": 33445,
"IPv4": "服务器IP",
"InsecureForTests": true,
},
],
},
},
},
1、经过测试发现如果云服务器是国内的
初次打洞时要确保这两个客户端的网络也是国内的 反之亦然
2、检查防火墙设置
如果还是ping不通 进入端口查询网站 检查所需端口是否真正放行
有些云服务商提供的云服务器服务有两层防火墙
网页端的防火墙(安全组策略)和主机内的系统防火墙
这时就要两层防火墙都放行所需端口才行
例如:Debian系统放行 “33445” 端口命令:ufw allow 33445
放行端口后可能需要重启一下服务器或DERP服务
如果服务器IP地址和端口泄露了 那么是可以被别人白嫖的,为了防止白嫖
curl -fsSL https://tailscale.com/install.sh | sh
nano /etc/systemd/system/derp.service
快捷键:Ctrl + X ,输入 “y”,最后回车
systemctl daemon-reload
systemctl restart derp
reboot
好 这样操作完后 别人就无法白嫖了
END