配置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
部分,有三个区域的配置:
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中继通信。
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中继通信。
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目录
如图:
- 图例里注释了官方的DERP服务器,只使用自己部署的derp服务器
使用自建和官方DERP服务
同时使用官方的DERP服务器和自建的DERP服务器