2024年1月9日星期二

Tailscale容器使用方法

在容器中设置 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