一、资料准备(本例是阿里云服务器)
1.云服务器
2.域名备案(亲测广东公司主体需要10个工作日左右)
3.Linux系统
4.docker
二、服务器篇
1.在阿里云官网申请子域名,绑定公网IP地址,本例主域名是xxx.top,子域名是derp.xxx.top
2.根据子域名申请SSL证书,下载nginx版本的证书,把pem后缀修改为crt,并上传到服务器文件夹本例是 /lxd/software/crypt/
3.服务器安装docker,最好也安装1panel,界面化管理docker https://1panel.cn/
4.安全组开启443端口
三、tailscasle篇
1.注册账号,https://login.tailscale.com
2.需要远程的电脑都安装tailscasle客户端,并登录同一个账号,这样子就都可以通讯了,只是速度太慢,安装完后执行sudo tailscale up
,点击连接会自动打开浏览器,登录同一个账号
4.执行命令sudo tailscale up --netfilter-mode=off --accept-dns=false
,否则网络会中断,无法ping百度等网站
四、depr篇
1.根据官网教程在服务器安装tailscasle,速度比较慢
2.通过find / -name tailscaled.sock
找到tailscaled.sock,我的路径是 /run/tailscale/tailscaled.sock
3.通过容器安装depr
docker run --restart always --net host --privileged --name derper -d -v /lxd/software/crypt/:/app/certs
-v /run/tailscale/tailscaled.sock:/var/run/tailscale/tailscaled.sock
-e DERP_HOST=derp.xxx.top -e DERP_VERIFY_CLIENTS=true
chengxudong2020/ip_derper_for_synology_domain
1234
/lxd/software/crypt/是我的SSL证书位置
查看启动日志,看到端口TCP是18889,UDP是3478,需要再阿里云安全组开通这两个端口
4.创建成功后访问 https://derp.xxx.top:18889 可以访问网址没有红色的x提示则表示创建成功
五、整合
1.在tailscasle官网的Access Controls粘贴以下内容
// Example/default ACLs for unrestricted connections.
{
// Declare static groups of users beyond those in the identity service.
"Groups": {
"group:example": ["user1@example.com", "user2@example.com"],
},
// Declare convenient hostname aliases to use in place of IP addresses.
"Hosts": {
"example-host-1": "100.100.100.100",
},
"ACLs": [
// Match absolutely everything. Comment out this section if you want
// to define specific ACL restrictions.
{"Action": "accept", "Users": ["*"], "Ports": ["*:*"]},
],
"derpMap": {
"OmitDefaultRegions": true,
"Regions": {"900": {
"RegionID": 900,
"RegionCode": "mangoderp",
"Nodes": [{
"Name": "1",
"RegionID": 900,
"HostName": "derp.xxx.top",
"DERPPort": 18889,
"InsecureForTests": false,
}],
}},
},
}
123456789101112131415161718192021222324252627282930
注意重点是derpMap这块
OmitDefaultRegions:true //关闭官网自带服务器
RegionID:自定义ID
RegionCode:编号
Nodes:节点,节点的RegionID要和上面的一样
HostName:子域名
DERPPort:derp端口
InsecureForTests:可有可无
2.保存后再服务器执行tailscale netcheck --verbose
# resolv.conf(5) file generated by tailscale
# For more info, see https://tailscale.com/s/resolvconf-overwrite
# DO NOT EDIT THIS FILE BY HAND -- CHANGES WILL BE OVERWRITTEN
nameserver 100.100.100.100
nameserver 100.100.2.111
nameserver 100.100.2.222
search tail688d21.ts.net
12345678910
正常如下图所示:
注意:
0.阿里安全组开放需要的端口
1.如果UDP block、IPV4是空的,查看是否可以ping百度,否则执行命令sudo tailscale up --netfilter-mode=off --accept-dns=false
,再次ping,反正要保证正常
2.在本地电脑上,如果ping不了其他电脑detailscale的IP,则需要检查/etc/resolv.conf的内容,正确内容如下:
nameserver 100.100.100.100 detailscale的DNS
nameserver 100.100.2.111 、 100.100.2.222是自己服务器的DNS
search tail688d21.ts.net 在detailscale官网上面看自己的