Tailscale丨使用容器方案自建 DERP 节点

前提

  • 服务器的 80 443 端口未被占用
  • 已经安装好 docker
  • 做好域名解析

申请证书

docker run -it --rm --name certbot -v "/etc/letsencrypt:/etc/letsencrypt" -v "/var/lib/letsencrypt:/var/lib/letsencrypt" -p 80:80 certbot/certbot certonly

启动 DERP

docker run --restart always \
  --name derper -p 443:443  -p 3478:3478/udp \
  -e DERP_CERT_MODE=manual \
  -v /etc/letsencrypt/live/example.com/fullchain.pem:/app/certs/example.com.crt \
  -v /etc/letsencrypt/live/example.com/privkey.pem:/app/certs/example.com.key \
  -e DERP_ADDR=:443 \
  -e DERP_STUN=true \
  -e DERP_DOMAIN=example.com \
  -e DERP_HTTP_PORT=-1 \
  -d ghcr.io/fredliang44/derper:latest

配置 DERP

登录控制台:https://login.tailscale.com/admin/acls

{
...
//添加如下:
    "derpMap": {
        "OmitDefaultRegions": false, // 是否忽略默认的服务器,在测试时可以设为 true 方便观察。
        "Regions": {"902": {
            "RegionID":   902,
            "RegionCode": "hongkong", // 服务器区域代码,随便填
            "RegionName": "self-hosted", // 服务器名字,随便填
            "Nodes": [{
                "Name":     "1",
                "RegionID": 902,
                "HostName": "example.com", // 域名,不能错。
                "DERPPort": 443, // 端口,这里用的是 443
            }],
        }},
    },
}

查看状态

# 应该显示你自建的 DERP 服务器
tailscale netcheck

# 除了显示你所有连接上 tailscale 的设备外,不应该有其它任何提示
tailscale status

# 调试你的 DERP 服务器,在 INFO 中显示成功建立连接,并返回 IPv4 STUN response。Errors 中显示 IPv6 错误是正常的。
sudo tailscale debug derp hongkong

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注