跳至主要內容

配置DERP中继

五六零网校大约 2 分钟

增加derp服务端配置

在Headscale项目的config目录下,新建derp.yaml文件存放derp服务的地址

derp.yaml配置如下:

# If you plan to somehow use headscale, please deploy your own DERP infra: https://tailscale.com/kb/1118/custom-derp-servers/
regions:
  900:
    regionid: 900
    regioncode: 560
    regionname: ali-a
    nodes:
      - name: 900a
        regionid: 900
        hostname: derp.aaa.com
        stunport: 3478
        stunonly: false
        derpport: 443
      
  901:
    regionid: 901
    regioncode: 560
    regionname: ali-b
    nodes:
      - name: 901a
        regionid: 901
        hostname: derp.bbb.com
        stunport: 3478
        stunonly: false
        derpport: 443

  902:
    regionid: 902
    regioncode: 560
    regionname: hk
    nodes:
      - name: 902a
        regionid: 902
        hostname: hk.ccc.com
        stunport: 3478
        stunonly: false
        derpport: 443

配置说明

这个配置文件同样用于定义DERP服务器中的三个区域及其节点。在regions部分,有三个区域的配置:

  1. Region 900 - 阿里云地区"a"

    • regionid: 900: 区域唯一标识ID。
    • regioncode: 560: 区域代码,指明所属地区。
    • regionname: ali-a: 区域名称,友好的地区标识。
    • 节点配置:
      • name: 900a: 节点唯一标识名。
      • regionid: 900: 节点所属区域ID。
      • hostname: derp.aaa.com: 节点主机名,用于访问节点。
      • stunport: 3478: STUN协议端口,用于穿越NAT。
      • stunonly: false: 不仅使用STUN,还使用DERP。
      • derpport: 443: DERP协议端口,用于DERP中继通信。
  2. Region 901 - 阿里云地区"b"

    • regionid: 901: 区域唯一标识ID。
    • regioncode: 560: 区域代码,指明所属地区。
    • regionname: ali-b: 区域名称,友好的地区标识。
    • 节点配置:
      • name: 901a: 节点唯一标识名。
      • regionid: 901: 节点所属区域ID。
      • hostname: derp.bbb.com: 节点主机名,用于访问节点。
      • stunport: 3478: STUN协议端口,用于穿越NAT。
      • stunonly: false: 不仅使用STUN,还使用DERP。
      • derpport: 443: DERP协议端口,用于DERP中继通信。
  3. Region 902 - 香港地区

    • regionid: 902: 区域唯一标识ID。
    • regioncode: 560: 区域代码,指明所属地区。
    • regionname: hk: 区域名称,友好的地区标识。
    • 节点配置:
      • name: 902a: 节点唯一标识名。
      • regionid: 902: 节点所属区域ID。
      • hostname: hk.ccc.com: 节点主机名,用于访问节点。
      • stunport: 3478: STUN协议端口,用于穿越NAT。
      • stunonly: false: 不仅使用STUN,还使用DERP。
      • derpport: 443: DERP协议端口,用于DERP中继通信。

这个配置文件同样定义了三个地区的DERP节点,每个节点都有特定的设置,包括主机名、端口以及用于穿越NAT的协议。这样的配置允许在不同地区建立DERP中继通信,确保网络的连接和可靠性。


Headscale配置文件修改

修改Headscale项目的config.yaml文件的内容

只使用自建DERP服务

derp部分的urls修改为

- /etc/headscale/derp.yaml
  • 此路径为Headscale映射的config目录

如图:
Alt text

  • 图例里注释了官方的DERP服务器,只使用自己部署的derp服务器

使用自建和官方DERP服务

同时使用官方的DERP服务器和自建的DERP服务器

Alt text
Alt text