tailscale自建derper服务器中转,使用自定义端口

使用自定义端口需要自己有域名 并且申请了SSL证书,域名没有进行备案的化 云服务器80会被劫持 443端口会被封禁!!!这就是为啥百度云 腾讯云 和阿里云 国内云服务器厂商无法安装官方脚本搭建成功的原因 官方脚本默认在443启动会自己申请证书 !!!!!!!

如果自己生成证书,需要改生成证书之后的名字为域名!!!!!!否则不认!

所以 在本教程之前请准备域名 端口就可以使用任意端口(443也可以

域名非必须 如果你要防止白嫖则需要域名 否则进行ip构建即可

1.域名自动证书申请

安装如下docker

docker run --restart always --name=nginxWebUI -itd \
  -v /volume1/docker/nginxWebUI:/home/nginxWebUI \
  -v /usr/local/bin/docker:/usr/local/bin/docker \
  -v /run/docker.sock:/run/docker.sock \
  -e BOOT_OPTIONS="--server.port=8888" \
  --privileged=true \
  --net=host \
  chengxudong2020/nginxwebui

注意上述的nginxwebui是本人魔改版本的 可以通过内部的自动申请证书 续签成功后自动重启derper容器

上述路径可以修改 本人群晖中的路径是/volume1/docker/nginxWebUI 根据实际情况进行修改

根据上面的提示进行操作添加 证书 添加成功把自动续签勾选上

2.安装derper

首选查看 上面设置的 /volume1/docker/nginxWebUI/.acme.sh/你的域名 (我的域名是www.dubux.ltd)

是否存在证书

因为要防止白嫖 所以还要在服务器上安装tailscale官方的客户端,根据官网的提示进行安装 并登录 同一账号登录才能使用本derper服务器 不是一个账号登录无法使用 这样防止白嫖!!

然后在服务器上执行命令找到tailscaled.sock

find / -name tailscaled.sock

我找到的路径是 /run/tailscale/tailscaled.sock

最后执行如下命令创建derper容器

docker run --restart always --net host --privileged --name derper -d  -v /usr/local/nginxWebUI/.acme.sh/www.dubux.ltd:/app/certs \
-v /run/tailscale/tailscaled.sock:/var/run/tailscale/tailscaled.sock \
-e DERP_HOST=www.dubux.ltd -e DERP_VERIFY_CLIENTS=true \
chengxudong2020/ip_derper_for_synology_domain

创建成功后访问 https://你的域名:18889 可以访问网址没有红色的x提示则表示创建成功如下图:

最后开始配置 续签证书之后nginxwebui重启derper 这样保证证书永不过期!!!

首先在 /volume1/docker/nginxWebUI/ 目录中创建reload.sh脚本 (名字一定要是这个reload.sh!!!)

输入以下内容:

#!/bin/bash
docker restart derper

输入之后保存并赋予可执行权限

chmod+x reload.sh

最后在nginxwebui中 证书管理中点击续签证书 之后

然后执行命令

docker ps -a

观察结果

如果这个时间显示1分钟或者几分钟则表示 联动成功。

最后登录官方tailscale设置如下代码 

代码如下

// Example/default ACLs for unrestricted connections.
{
  // Declare static groups of users beyond those in the identity service.
  "Groups": {
    "group:example": [ "[email protected]", "[email protected]" ],
  },
  // 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":"你的域名",
          "DERPPort": 18889,
          "InsecureForTests": false,
      }]
    }}
  }
}

打开如下详情页观察

Relays #900 只有这一条说明已经连上了你的derper 并且只启用了你的derper服务器 

注意 DERPPort 18889

"OmitDefaultRegions": true 只使用你自己的derper服务器屏蔽官方的服务器

重启客户端 然后相互ping通过则说明服务器正常 否则请反馈给我 本人centos8搭建测试成功

服务器需要开启tcp 18889 端口 udp 3478

本文参考了如下博客,同时加入了自己的设置保证自定义端口可用

tailscale部署私有中继服务器 - 芒果的博客 - 芒果的个人博客 (mangoroom.cn)

猜你喜欢

转载自blog.csdn.net/opopop880/article/details/122125430