自建tailscale derp服务器


本文距离上次更新已过去 0 天,部分内容可能已经过时,请注意甄别。
文章转载
浅探 Tailscale DERP 中转服务 | Kiprey’s Blog
本篇主要是记录一下配置derp的过程,基本上所有的内容都是来源于上面的文章,有需要的可以直接查阅上面的文章,写的非常好,过程剖析的很到位,吾辈楷模!
配置要求
- 公网ip
- 允许tcp/udp进站
配置derp服务器
安装golang
1 | # 需要最新版的golang |
配置Derp服务并用systemd管理
1 | # 配置环境变量 |
配置iptables允许端口流量入站并配置安全组
1 | # iptables 配置8888/tcp,8889/udp允许入站 |
配置ACL
Tailscale登录管理控制台,选择Access Controls
- 添加单个中转服务器
注意:HostName配置和上面的DERP_HOST配置的要相同1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28...
{
...
"acls": [...],
...
"ssh": [...],
...
"derpMap": {
"Regions": {
"900": {
"RegionID": 900,
"RegionCode": "Dawnz1",
"Nodes": [
{
"Name": "dawnz-derp1",
"RegionID": 900,
"HostName": "dawnz-derp",
"IPv4": "xx.xx.xx.xx",
"DERPPort": 8888,
"STUNPort": 8889,
"InsecureForTests": true,
},
],
},
},
},
...
} - 添加多个中转服务器
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44...
{
...
"acls": [...],
...
"ssh": [...],
...
"derpMap": {
"OmitDefaultRegions": false,
"Regions": {
"900": {
"RegionID": 900,
"RegionCode": "Dawnz1",
"Nodes": [
{
"Name": "dawnz-derp1",
"RegionID": 900,
"HostName": "dawnz-derp",
"IPv4": "xx.xx.xx.xx",
"DERPPort": 8888,
"STUNPort": 8889,
"InsecureForTests": true,
},
],
},
"901": {
"RegionID": 901,
"RegionCode": "Dawnz2",
"Nodes": [
{
"Name": "Dawnz-derp2",
"RegionID": 901,
"HostName": "danwz-derp2",
"IPv4": "xx.xx.xx.xx",
"DERPPort": 8888,
"STUNPort": 8889,
"InsecureForTests": true,
},
],
},
},
},
...
}
检查中转服务器的状态
- 任意一台节点上利用
$ tailscale netcheck
命令即可查看derp上线情况,有看到延迟即配置完成。 - 因为公用服务器延迟很大,我不想用公用服务器,可以配置
"OmitDefaultRegions": true,
看上节的多个derp配置即可
Enjoy!
tailscale的组网能力是真的可以呀,各方面都非常的完全和健壮,免费基本够个人使用了,非常的Nice!
唯一的问题是我用电信5g的手机打洞回家600m的联通宽带,测速的上限一直是50m的带宽,不知道是不是udp限制了,不过也足够使用了。
评论
评论插件加载失败
正在加载评论插件