阅读量:0
tailscale的默认中转节点全都在境外,延迟很高,但官方提供了自建中赚服务器的方法,可参阅官方参考文档。
官方提供的教程仅适用于已经有域名的用户搭建,但通常我们所购买的云服务器只提供了一个固定的IP,这就需要在官方提供的教程基础上做一下修改。
第一步:购买云服务器
云服务器尽量买在离自己所在地附近的城市,可大大减少延迟;带宽根据自己的需求选择,仅需要SSH的话1Mbps即可,若有远程桌面的需求,请最少选择3Mbps带宽;服务器的核数最低即可,derper中继对性能要求不高。我购买的是阿里云的3Mbps带宽的轻量应用服务器,一年99元,如果想要更高画质可选择一年199元的5Mbps带宽服务器。打开链接第一个就是:阿里云链接
选择距离自己最近的服务器地址
选择系统Ubuntu 20.04 64位
其余设置保持默认,点击确认下单。等待系统创建完成后,控制台会出现刚刚创建的系统,记录下公网IP地址,后面会用到
安装go环境
在控制台进入服务器控制界面,依次运行以下命令。
- 安装go
apt install -y wget git openssl curl wget https://golang.google.cn/dl/go1.21.0.linux-amd64.tar.gz sudo rm -rf /usr/local/go && sudo tar -C /usr/local -xzf go1.21.0.linux-amd64.tar.gz
- 将go的路径添加到环境变量
export PATH=$PATH:/usr/local/go/bin
- 检查go是否安装成功
go version
- 将添加环境变量输出到profile文件内,这样每次开机可以自动添加环境变量
echo "export PATH=$PATH:/usr/local/go/bin" >> /etc/profile source /etc/profile
- 以下命令都要在管理员账户下运行,先进入管理员账户
su -
- 增加go安装的国内镜像,加快go install的安装速度(国内必要)
go env -w GO111MODULE=on go env -w GOPROXY=https://goproxy.cn,direct
安装derper
- 下载derper
go install tailscale.com/cmd/derper@main
- 进入~/go/pkg/mod/[tailscale]/cmd/derper文件夹内,执行go编译
go build -o /etc/derp/derper
编译完成后要修改cert.go文件,注释以下三行代码。
cert.go文件位于~/go/pkg/mod/[tailscale]/cmd/derper然后再次进入derper文件夹内编译一次
go build -o /etc/derp/derper
- 检查derper是否安装成功,成功的话会有derper文件夹
ls /etc/derp
配置derper服务器
- 生成ssl证书,其中CN=derp.test.com中的网址可以任意填写
openssl req -x509 -newkey rsa:4096 -sha256 -days 3650 -nodes -keyout /etc/derp/derp.test.com.key -out /etc/derp/derp.tset.com.crt -subj "/CN=derp.test.com" -addext "subjectAltName=DNS:derp.test.com"
- 生成derper的配置文件
sudo nano /etc/systemd/system/derp.service
- 将以下内容写入到derp.service文件中
[Unit] Description=TS Derper After=network.target Wants=network.target [Service] User=root Restart=always ExecStart=/etc/derp/derper -hostname derp.test.com -a :12345 -http-port 33446 -certmode manual -certdir /etc/derp --verify-clients RestartPreventExitStatus=1 [Install] WantedBy=multi-user.target
- 启动derper
systemctl enable derp systemctl start derp
- 检验是否设置成功
在启动derp后可以在浏览器中进入https://IP:PORT,如果看到以下网页则说明成功。其中IP是第一步中记录的服务器公网IP,PORT是derp.service中设置的,默认为12345
在服务器上安装taiscale
- 运行自动安装脚本
curl -fsSL https://tailscale.com/install.sh | sh
- 启动tailscale并登陆
tailscale up
进入登陆网页登陆tailscale账号
- 重启derp服务
systemctl daemon-reload systemctl restart derp
在tailscale中增加derper服务器
- 打开tailscale的网页console,在access control里的’ssh’之前粘贴以下内容:
"derpMap": { //"OmitDefaultRegions": true, "Regions": { "900": { "RegionID": 900, "RegionCode": "test", "RegionName": "Test Derper", "Nodes": [ { "Name": "900a", "RegionID": 900, "DERPPort": 12345, //更换为自己的PORT "IPv4": "192.168.1.1", //这里更换为自己的PI "InsecureForTests": true, }, ], }, "1": null, "2": null, "3": null, "4": null, "5": null, "6": null, "7": null, "8": null, "9": null, "10": null, "11": null, "12": null, "13": null, "14": null, "15": null, "16": null, "17": null, "18": null, "19": null, //"20": null, "21": null, "22": null, "23": null, "24": null, "25": null, }, },
检测是否配置成功
- 在自己的电脑上输入以下命令:
tailscale netcheck
如果在DERP latency中出现自己刚才设置的服务器Test Derper,即为安装成功。
至此自建derper服务器已全部搭建完成,该教程还参考了B站视频教程,里面有操作视频。