抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

Tailscale 是一个组网神器,可以将远在天南地北的多台电脑组成一个局域网。但由于节点基本在国外,在国内使用延迟非常高,所以借助 Tailscale 提供的自建中转节点方案,我们可以使用一台有公网服务的电脑例如云服务器进行中转提高速度。

一、安装 Derper

1. 使用 docker 快速

此处使用 https://github.com/yangchuansheng/ip_derper 提供的镜像快速搭建,请提前安装好 docker 服务

新建 docker-compose.yml 文件,填入以下内容

1
2
3
4
5
6
7
version: "3.8"
services:
derper:
image: yangchuansheng/ip_derper
ports:
- 43443:443
- 43478:3478/udp

使用命令运行

1
docker compose up -d

2. 暴露防火墙端口

进入云服务商安全组管理后台,暴露 43443 TCP 端口和 43478 UDP 端口。
若在家自建,获取到宽带公网IP后,进入路由器 NAT 配置中暴露 43443 TCP 端口和 43478 UDP 端口。

3. 访问面板

浏览器访问 https://<服务器公网ip>:43443,忽略证书安全看到下面内容表示安装成功

1
2
3
4
5
6
7
8
9
DERP

This is a Tailscale DERP server.

Documentation:

- About DERP
- Protocol & Go docs
- How to run a DERP server

二、配置 Tailscale

1. 修改 Access controls

进入 Tailscale 管理后台,选择 Access controls 标签栏,在 "ssh" 节点下方增加以下内容并保存。

需注意将ip改成你自己的实际情况。

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
45
46
47
48
49
50
51
52
53
54
55
56
57
{
// ...
"ssh": [
// ...
]

// 增加下方这部分
"derpMap": {
"Regions": {
"912": { // 这个节点里面的912随便填,900以上即可
"RegionID": 912,
"RegionCode": "derper_self",
"RegionName": "Derper Self",
"Nodes": [
{
"Name": "derper_self",
"RegionID": 912,
"DERPPort": 43443, // 更换为自己的端口号
"STUNPort": 43478,

// "HostName": "derper.example.com", // 若使用域名,可去掉IPv4,改为使用此 HostName 参数
"IPv4": "112.xx.xx.xx", // 更换为自己的 公网IP

"InsecureForTests": true,
},
],
},
"1": null,
"2": null,
"3": null,
"4": null,
"5": null,
"6": null,
"7": null,
"8": null,
"9": null,
"10": null,
"11": null,
"12": null,
"13": null,
"14": null,
"15": null,
"16": null,
"17": null,
"18": null,
"19": null,
// "20": null, # 注释掉其他默认节点,保留20这个香港节点,可避免自建的derper挂掉后tailscale无法使用
"21": null,
"22": null,
"23": null,
"24": null,
"25": null,
},
},


}

2. 验证

重启 Tailscale 客户端后,在控制台输入 tailscale netcheck 看到有 Derper Self 节点并且显示了延迟,表示搭建成功。

1
2
3
4
5
6
7
8
9
10
11
12
13
PS C:\Users\admin> tailscale netcheck

Report:
* UDP: true
* IPv4: yes, 10.0.0.2:43761
* IPv6: yes, [2408:xx:24:xxxx:xxxx:xxxx:xxxx:fcc4]:65346
* MappingVariesByDestIP: true
* PortMapping:
* CaptivePortal: false
* Nearest DERP: Derper Self
* DERP latency:
- derper_self: 4.7ms (Derper Self)
- hkg: 143ms (Hong Kong)

三. 开启安全验证

搭建成功后,其他所有知道你自建 Derper 的 IP和端口的人都可以使用你的节点,因此我们需要确保只有自己可以使用

1. 服务器安装 Tailscale

此步骤忽略,查看官网 https://tailscale.com/download 即可

安装后启动 Tailscale 并登录

2. 修改 Derper 安装配置

修改 docker-compose.yml 文件并重启即可

1
2
3
4
5
6
7
8
9
10
11
12
version: "3.8"
services:
derper:
image: yangchuansheng/ip_derper
ports:
- 43443:443
- 43478:3478/udp
volumes:
# 映射本地 tailscale 客户端验证连接
- /var/run/tailscale/tailscaled.sock:/var/run/tailscale/tailscaled.sock
environment:
- DERP_VERIFY_CLIENTS=true # 启动客户端验证

四. 完整配置

1. 创建配置文件

直接复制以下内容,创建 docker-compose.yml 文件即可

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
version: "3.8"
services:
tailscale:
image: tailscale/tailscale:v1.76.1
environment:
- TS_HOSTNAME=tailscale-docker
- TS_AUTH_ONCE=true
- TS_STATE_DIR=/data
volumes:
- tailscale:/var/run/tailscale
- tailscale_data:/data

derper:
image: yangchuansheng/ip_derper
ports:
- 43443:443
- 43478:3478/udp
environment:
- DERP_VERIFY_CLIENTS=true
volumes:
- tailscale:/var/run/tailscale
depends_on:
- tailscale

volumes:
tailscale:
tailscale_data:

2. 运行并登录

通过命令 docker compose up -d 执行后,再通过 docker compose logs -f 查看日志,会发现tailscale容器的日志出现一个登录的链接地址,复制到浏览器打开登录即可。

评论