zixiba

zixiba

自建 Tailscale DERP 中继服务器 海外版

原文地址:大内网战略 (6.5):自建 Tailscale DERP 中继服务器 海外版
大内网战略 (6):自建 Tailscale DERP 中继服务器 保姆级教程
作者:凉拖捞佬 Pro

先决条件#

  • 有一台在海外的 VPS(我用的是在 RackNerd 购买的乞丐版 VPS)。
  • 已经购买了域名(建议在 namesilo 购买会比较便宜),并且 DNS 解析到了 cloudflare 上。
  • 域名解析到了 VPS 上。不一定要是二级域名(http://xxx.com),可以是三级域名(http://yyy.xxx.com)。
  • 有基础的 linux 操作知识。
    注意:Cloudflare 域名解析不要开启代理。如下图:

image

防火墙设置#

首先需要永久放行端口:TCP 56473(可以自己随意修改成自己想要的) 和 UDP 3478(不要修改),并且暂时关闭防火墙(acme 申请 SSL 证书完成后再开回来)。

Linux 常用的防火墙可能有:iptables、UFW 和 VPS 提供的网络安全组,按照自己的情况放行,这里就没有教程了。

申请 SSL 证书#

逐步输入以下命令申请 SSL 证书,三种申请证书的方式任选其一,申请失败则更换方式 。用你的域名替换掉命令中的 <你的域名> 字样。

如果你的 VPS 上面跑了 nginx 或者 apache,你需要将命令里面的 --standalone 改为 --nginx 或者 --apache ,或者暂时停止这两个服务。

导出证书:

安装 Tailscale#

输入 tailscale up,把弹出的网址复制到浏览器中进行授权。

安装 Golang#

卸载旧版本#

如果你的服务器上有其他软件依赖旧版本的 go,将其升级为新版本可能会发生不可预料的后果,请务必仔细评估与衡量。

旧版本 golang 会极大概率导致 derp 安装失败。如果你运行 go version 显示的是旧版本:

image
那就要卸载重安;如果显示命令不存在或者是最新版本(怎么看在后面),就可以忽略这步。

卸载:rm -rf /usr/local/go
最好重新启动服务器。

查看最新版本#

打开网址 https://go.dev/doc/install
下面截图里显示最新版本是 1.21.1

image

下载最新版本#

输入vim /etc/profile 并回车,填入以下命令到末尾然后保存并退出:

输入source /etc/profile ,然后输入 go version 检查有无安装 go 语言成功。

安装 derper 服务#

建立目录:sudo mkdir -p /usr/local/gopath/bin

安装:

vim /usr/local/gopath/bin/runderper 输入并保存以下内容:(56473 端口修改的记得在这里修改)

vim /usr/local/gopath/bin/stopderper.sh 输入并保存以下内容:

赋权:

输入 vim /etc/systemd/system/derper.service,输入并保存以下内容:

启动服务#

设置开机启动

然后打开网址 https://<你的域名>:56473/,出现以下页面就是部署成功。

image

添加中继节点#

回到 Tailscale 网页控制台, 打开 Access Controls,添加下面代码在ssh前面:

不要忘记保存

查看连接节点#

在连接设备的 CMD 中输入tailscale netcheck查看连接节
点和延迟。
image

加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。