在容器中设置 Tailscale
镜像链接:
docker pull tailscale/tailscale:stable
快速创建并运行容器:
docker run -d --name=tailscaled -v /usr/local/app/tailscale:/var/lib/tailscale -v /dev/net/tun:/dev/net/tun --network=host --cap-add=NET_ADMIN --cap-add=NET_RAW tailscale/tailscale
( 若要支持长期服务,其中容器在重启时保留其设置和标识,需要执行以下几项操作: 必须为容器提供持久性存储,例如-v /var/lib/tailscale:/var/lib/tailscale 将 TS_STATE_DIR 设置为持久性存储的挂载位置,例如-e TS_STATE_DIR=/var/lib/tailscale )
设置Tailscale节点作为流量出口使用
声明advertise-exit-node,意思是节点可以作为流量出口使用。
tailscale up --advertise-exit-node --accept-dns=false
设置Tailscale作为子网路由器
设定安装了 TailScale 服务的设备充当子路由(Subnet Route),其他所有的外网的 TailScale 装置都可以透过此安装了 TailScale 服务作为网关访问家里内网所有的设备。
执行以下命令(注意替换自己的内网网段)
tailscale up --advertise-routes=192.168.0.0/24
或
tailscale up --advertise-routes=192.168.0.0/24 --accept-dns=false --advertise-exit-node
参考资料:
ailscale:基于 WireGuard 异地组建虚拟局域网
在 Linux 上设置 Tailscale
Tailscale 适用于各种 Linux 发行版。通常,您可以在 Linux 机器上安装 Tailscale 使用一个命令:
curl -fsSL https://tailscale.com/install.sh | sh
执行后等待Tailscale安装完成:
将计算机连接到 Tailscale 网络并在浏览器中进行身份验证:
sudo tailscale up
复制登录链接到浏览器完成登录验证:
你已连接!您可以通过运行以下命令找到 Tailscale IPv4 地址:
tailscale ip -4
如果添加的设备是服务器或远程访问的设备,则可能需要考虑禁用密钥过期,以防止需要定期重新进行身份验证。
设置Tailscale自动更新:
tailscale set --auto-update
设置Tailscale作为流量中继节点
前序准备,启用IP转发:
echo 'net.ipv4.ip_forward = 1' | sudo tee -a /etc/sysctl.conf
echo 'net.ipv6.conf.all.forwarding = 1' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p /etc/sysctl.conf
设置Tailscale作为出口节点:
tailscale up --advertise-exit-node --accept-dns=false
设置Tailscale作为子网路由器
播发子网路由:
tailscale up --advertise-routes=192.168.111.0/24 --accept-dns=false --accept-routes=true --advertise-exit-node
Tailscale子网路由器设置恢复:
tailscale up --reset