使用 Docker 部署 Tailscale

参考教程:方便、安全远程访问 fnOS - Tailscale

我的需求如下,如果你的想法和我类似,本篇文章才有参考价值

  • 使用 Docker 部署,通用性好,对系统的改动最小
  • 尽量不折腾运营商网关
  • 自带加密,无需额外配置防火墙

注意事项

  1. 本教程适用的系统包括但不限于 FnOS(飞牛)、CasaOS、UGOS(绿联)等带有 Docker 管理面板的 Linux 系统
  2. 选择 Tailscale 还是 ZeroTier 请参考韩风Talk 的视频:能与ZeroTier齐名的内网穿透工具Tailscale,比ZeroTier还好用?
  3. 其他 Linux 系统,请参考 Docker 入门教程进行部署,需要自行使用命令行实现

安装过程

获取 Auth key

  1. 打开 Tailscale 网站,点击右上角的 Get started​ 注册登录,我使用 Github 登录
  2. Machines​ → Add device​ → Linux Server​ → Generate install script​,复制 --auth-key=​ 后面的部分

image

安装 Tailscale(以飞牛 OS 为例)

  1. 在 Docker 应用中选择 Compose → 新增项目

  2. 路径选择 docker/tailscale,没有就新建
    image

  3. 选择 创建 docker-compose.yml​ 粘贴以下内容,按注释修改,其中 TS_ROUTES​ 配置好后可以在外网访问该网段下的主机,只需要使用局域网地址

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    version: '3.7'
    services:
    tailscale:
    container_name: tailscale
    volumes:
    - /vol1/1000/docker/tailscale/var/lib:/var/lib
    - /vol1/1000/docker/tailscale/dev/net/tun:/dev/net/tun
    network_mode: host
    restart: unless-stopped
    environment:
    - TS_AUTHKEY= #填写第一步生成的 Auth key
    - TS_EXTRA_ARGS=--advertise-exit-node
    - TS_ROUTES=192.168.1.0/24 #修改为主机所在的网段
    - TS_HOSTNAME= #填写主机名 例如 FnOS
    - TS_STATE_DIR=./state/
    image: tailscale/tailscale
  4. 勾选创建项目后立即启动,点击完成

授权网段

  1. 打开 Tailscale 网站,点击设备名称
  2. 点击 Awaiting Approval 下面的 Edit
  3. 勾选自己的网段,点击 save​ 即可

image

Exit node(可选)

  • 在不了解这个功能的情况下,不建议启用
  • 启用后其他 Tailscale 节点将通过你配置的网段接入网络
  • 简单来说,就是通过家里的宽带上网

使用 Docker 部署 Tailscale
https://1doublehelix.github.io/docker-tailscale
作者
Feizhong
发布于
2024年10月14日
许可协议