一、概述
- Tailscale是目前比较流行的异地组网工具,和很多其它工具一样,需要依赖客户端,并且还需要使用指定平台账户进行注册和登录,目前官方支持使用谷歌账号、微软账号、GitHub账号、Apple账号、OpenID Connect (OIDC)的方式。
- 官方提供下载链接Download · Tsilscale和安装方法,支持的客户端包含macOS、IOS、Windows、Linux、Android。
- 本教程重点讲解使用Docker容器化的方式部署tailscale客户端
二、使用容器搭建tailscale
这里我指定了v1.66.4的稳定版本,可根据自己的需求修改版本号
docker run -d \
--name=ts \
--restart=always \
--network=host \
-v /var/lib:/var/lib \
-v /dev/net/tun:/dev/net/tun \
-v /var/run/tailscale/:/var/run/tailscale/ \
--cap-add=NET_ADMIN \
--cap-add=NET_RAW \
--env TS_STATE_DIR=/etc/ts \
--env TS_SOCKET=/var/run/tailscale/tailscaled.sock \
--env TS_USERSPACE=false \
--env TS_ROUTES={网段} \
--env TS_AUTHKEY=1fb8f4f9d4b0c39eba4588d0717c61ec686b1a80c3db3a2c \
--env TS_EXTRA_ARGS="--login-server={登录地址} --accept-routes --accept-dns=true " \
tailscale/tailscale:v1.66.4
参数说明
--network=host
容器网络设置为共享主机网络-v /var/lib:/var/lib
提供持久性存储-v /dev/net/tun:/dev/net/tun
容器必须配备TUN设备--cap-add
用于在容器运行时为容器添加特权-v /var/run/tailscale/:/var/run/tailscale/
自建derp服务必要参数--env TS_STATE_DIR
存储tailscaled状态的目录--env TS_SOCKET
Unix 套接字路径--env TS_USERSPACE
启用用户空间网络--env TS_ROUTES
通告子网路由,等同于tailscale set --advertise-routes--env TS_AUTHKEY
预认证密钥--env TS_EXTRA_ARGS
其它任何CLI参数,比如--login-server={登录地址,headscale协调控制器使用}
、--accept-dns=false
、--accept-routes
等
查看tailscale状态
docker exec -it ts tailscale status
docker exec -it ts tailscale netcheck
1 条评论
哈哈哈,写的太好了https://www.lawjida.com/