Tailscale玩法之内网穿透、异地组网、全隧道模式、纯IP的双栈DERP搭建

DERP 服务搭建,腾讯云轻量服务器(国内)Ubuntu 22.04 交作业了。
按照视频一步步弄完了(headscale 没需求就没弄)说一些注意的地方:
- 如果没有权限记得使用sudo 或者用 sudo sh -c '{原来的命令}' 来包裹执行
- 在 09:29 完成 derp 服务器编译后,重新修改 cert.go 文件,并重新编译 `go build -o /etc/derp/derper` 这里会遇到几个问题
- 你没有权限,那么你要用sudo 包裹;
- 文件夹没有创建或不能读写,那么你可以` sudo mkdir -p /etc/derp/derper`
- 上面的命令 `go build -o /etc/derp/derper` 会导致你成功编译的derper文件的实际路径错误(额外套了一层)因此,需要修改命令为:`go build -o /etc/derp` (我是后面发现的所以最后是选择去 `/etc/systemd/system/derp.service ` 的`ExecStart`修改为`ExecStart=/etc/derp/derper/derper --verify-clients -hostname derp.myself.com -a :33445 -http-port 33446 -certmode manual -certdir /etc/derp`)
- 在创建 ipv6 访问时,如果你按照视频会发现 /etc/nerwork/interfaces 文件不存在。这是因为22.04 就没用这个了。改为用 netplan,因此你需要去 /etc/netplan/ 中去创建一个yaml,(名称随意,例如我是 tunnel-ipv6.yaml) 里面的内容填写格式也变了(其实你可以直接让chatgpt帮你改),改为如下格式:

特别注意,local地址必须要用内网ip,不要用公网ip,否则你会ping不通
最后一步,up 贴的命令 --verify-clients 不对的(最开头多了一个短横线,要删掉)应该是 -verify-clients,完整的 /etc/systemd/system/derp.service
配置内容如下:
[Unit]
Description=TS Derper
After=network.target
Wants=network.target
[Service]
User=root
Restart=always
ExecStart=/etc/derp/derper/derper --verify-clients -hostname derp.myself.com -a :33445 -http-port 33446 -certmode manual -certdir /etc/derp
RestartPreventExitStatus=1
[Install]
WantedBy=multi-user.target