DERP是一个中继系统,用于在无法建立直连的情况下中继流量。
Headscale内置DERP
Headscale部署参考:Tailscale开源控制器部署
如果使用Headscale替代Tailscale官方的控制器,可以在Headscale中开启内置的DERP。
Headscale需要一个DERP服务器列表提供给客户端,如果开启了内置的DERP服务,Headscale会将内置DERP节点合并到DERP节点列表剩余部分。
https://tailscale.com/blog/how-tailscale-works/#encrypted-tcp-relays-derp
配置文件如下,一般位于/etc/headscale/config.yaml
。配置DERP需要Headscale开启TLS。
derp:
server:
# 如果启用,运行内置的DERP服务并合并到DERP配置的剩余部分。
# Headscale上面的server_url必须使用https,并且配置好TLS证书。
enabled: true
# 内置DERP服务的区域ID
# 如果本地的DERP区域ID和DERP配置列表中的其他区域ID冲突,则优先使用本地的。
region_id: 999
# 区域代码和名称显示在Tailscale UI中,用于识别DERP区域。
region_code: "headscale"
region_name: "Headscale Embedded DERP"
# 配置UDP监听端口用于STUN连接,实现NAT穿透。
# 当内置的DERP服务启用的时候,必须配置stun_listen_addr。
#
# 关于这如何工作的更多细节,可以查看这个文章:https://tailscale.com/blog/how-tailscale-works/
stun_listen_addr: "0.0.0.0:3478"
# 外部可用的DERP映射列表,JSON格式。
urls: []
# - https://controlplane.tailscale.com/derpmap/default
# 本地可用的DERP映射列表,YAML格式。这个选项对于托管自己的DERP服务的人来说比较有用。
# https://tailscale.com/kb/1118/custom-derp-servers/
# paths:
# - /etc/headscale/derp-example.yaml
paths: []
# If enabled, a worker will be set up to periodically
# refresh the given sources and update the derpmap
# will be set up.
# 如果启用,将给指定的源设置一个刷新周期并且更新DERP映射列表。
auto_update_enabled: true
# DERP列表的刷新周期
update_frequency: 24h
3 条评论
就是我是docker自建的,,,
端口开放8080 和 9090
不开放3478 的话 不能连derp
开发就可以连,
然后内置怎么防白嫖 要怎么设置
ヾ(≧∇≦*)ゝ 感谢,我™傻逼的去把 urls 注释了,结果导致内置的 derp 不生效 也不能 穿透了。
看来字段不能省,不用外部的 就改成 空数组就可以了。
# urls:
# - https://controlplane.tailscale.com/derpmap/default
直接这样注释也可以,
就是我是docker自建的,,,
端口开放8080 和 9090
不开放3478 的话 不能连derp
开发就可以连,
然后内置怎么防白嫖 要怎么设置