自建 Tailscale DERP 中继服务器
准备证书
创建文件夹
sudo mkdir /usr/local/cert
将1panel下的ssl证书复制到新建目录下
并将文件名修改为 你所使用的域名
derp.annc.cc.crt derp.annc.cc.key
安装 Tailscale
curl -fsSL https://tailscale.com/install.sh | sh
输入 tailscale up,把弹出的网址复制到浏览器中进行授权。
安装 Golang
wget https://go.dev/dl/go1.21.0.linux-amd64.tar.gz
tar -C /usr/local -xzf go1.21.0.linux-amd64.tar.gz
输入vim /etc/profile 并回车,填入以下命令到末尾然后保存并退出:
export GOROOT=/usr/local/go
export GOPATH=/usr/local/gopath
export GOBIN=$GOPATH/bin
export PATH=$PATH:$GOROOT/bin
export PATH=$PATH:$GOPATH/bin
输入source /etc/profile ,然后输入 go version检查有无安装 go 语言成功。
安装 derper 服务
go env -w GOPROXY=https://goproxy.cn,direct
go install tailscale.com/cmd/derper@main
vim /usr/local/gopath/bin/runderper 输入并保存以下内容:(56473 端口修改的记得在这里修改)
#!/bin/sh
cd /usr/local/gopath/bin
nohup ./derper -hostname <你的域名> -c=derper.conf -a :56473 -http-port -1 -certdir /usr/local/cert -
certmode manual -verify-clients -stun > console.log 2>&1 &
echo $! > app.pid
vim /usr/local/gopath/bin/stopderper.sh 输入并保存以下内容:
#!/bin/sh
kill `cat app.pid`
rm -rf app.pid
赋权:
chmod +x /usr/local/gopath/bin/runderper
chmod +x /usr/local/gopath/bin/stopderper.sh
输入 vim /etc/systemd/system/derper.service,输入并保存以下内容:
Description=derper服务
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/gopath/bin/runderper
ExecStop=/usr/local/gopath/bin/stopderper.sh
[Install]
WantedBy=multi-user.target
启动服务
设置开机启动
systemctl start derper
systemctl enable derper
然后打开网址 https://<你的域名>:56473/,出现derp页面就是部署成功。
添加中继节点
回到 Tailscale 网页控制台,打开 Access Controls,修改为下面代码:
"derpMap": {
// OmitDefaultRegions 用来忽略官方的中继节点,一般自建后就看不上官方小水管了
"OmitDefaultRegions": true,
"Regions": {
// 这里的 901 从 900 开始随便取数字
"901": {
// RegionID 和上面的相等
"RegionID": 901,
// RegionCode 自己取个易于自己名字
"RegionCode": "香港轻量",
"Nodes": [
{
// Name 保持 1不动
"Name": "1",
// 这个也和 RegionID 一样
"RegionID": 901,
// 域名
"HostName": "derp.annc.cc",
// 端口号
"DERPPort": 56473,
},
],
},
},
},
参考链接:大内网战略(6.5):自建 Tailscale DERP 中继服务器 海外版
//注意原文的go版本会报错,换最新
暂无标签