tailscale内网穿透之自建的derper服务器,无需域名,无需备案,全流程教程

tailscale的默认中转节点全都在境外,延迟很高,但官方提供了自建中赚服务器的方法,可参阅官方参考文档。
官方提供的教程仅适用于已经有域名的用户搭建,但通常我们所购买的云服务器只提供了一个固定的IP,这就需要在官方提供的教程基础上做一下修改。

第一步:购买云服务器

  • 云服务器尽量买在离自己所在地附近的城市,可大大减少延迟;带宽根据自己的需求选择,仅需要SSH的话1Mbps即可,若有远程桌面的需求,请最少选择4Mbps带宽;服务器的核数最低即可,derper中继对性能要求不高。我购买的是腾讯云的4Mbps带宽的轻量应用服务器,活动时仅需112元/年,腾讯云链接
  • 选择系统Ubuntu 20.04 LTS
  • 等待系统创建完成后,控制台会出现刚刚创建的系统,记录下公网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站视频教程,里面有操作视频。

版权声明:本文为博主作者:David’deer原创文章,版权归属原作者,如果侵权,请联系我们删除!

原文链接:https://blog.csdn.net/weixin_43522198/article/details/132300597

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
青葱年少的头像青葱年少普通用户
上一篇 2024年4月10日
下一篇 2024年4月10日

相关推荐