目 录CONTENT

文章目录

Tailscale

moke
2024-10-18 / 0 评论 / 0 点赞 / 68 阅读 / 0 字

常用命令

常用命令

查看版本

tailscale version

查看网络状态

tailscale status

测试网络

ailscale ping 主机名orIP
  • 可以ping其他子网的IP或者主机名
  • 通过tailscale status命令可查看所有在网的主机

检查当前主机的路由表

tailscale netcheck

更新客户端版本

tailscale update

申请加入服务端(单机)

tailscale up --accept-dns=false --login-server=https://xxx.5xxx.com --accept-routes
  • https://xxx.5xxx.com为服务端的地址
  • dns=false 表示不使用服务器DNS,只使用本地DNS

申请加入服务端,并且将本地网络加入路由

tailscale up --accept-dns=false --accept-routes --login-server=http://xxxx.560e.com:56000 --advertise-routes=192.168.1.0/24 --force-reauth
  • http://xxxx.560e.com:56000为服务端的地址
  • 192.168.1.0/24 为对应子网的本地网段

其他命令

命令描述
up连接到 Tailscale,如果需要的话进行登录
down从 Tailscale 断开连接
set更改指定的首选项
login登录到 Tailscale 帐户
logout从 Tailscale 断开连接并使当前节点密钥失效
switch切换到不同的 Tailscale 帐户
configure配置主机以启用更多的 Tailscale 功能
netcheck显示本地网络条件的分析
ip显示 Tailscale IP 地址
status显示 tailscaled 及其连接的状态
ping在 Tailscale 层 ping 主机,查看其路由情况
nc连接到主机上的端口,连接到 stdin/stdout
sshSSH 到 Tailscale 机器
funnel在互联网上提供内容和本地服务器
serve在您的 tailnet 上提供内容和本地服务器
version显示 Tailscale 版本
web运行用于控制 Tailscale 的 Web 服务器
file发送或接收文件
bugreport显示一个可共享的标识符,以帮助诊断问题
cert获取 TLS 证书
lock管理 tailnet 锁定
licenses获取开源许可信息
update将 Tailscale 更新到最新/不同版本

Openwrt客户端

注意:

当前教程使用的环境为Openwrt系统,并且Openwrt为旁路由状态

项目地址

Tailscale客户端Openwrt版
openwrt-tailscale-enableropen in new window

一键安装

登录Openwrt的SSH,直接复制代码运行即可

latest_release_url=$(curl -s https://api.github.com/repos/adyanth/openwrt-tailscale-enabler/releases/latest | jq -r '.assets[0].browser_download_url') && \
latest_version=$(basename "$latest_release_url" | cut -d'-' -f 5) && \
wget "$latest_release_url" -O "openwrt-tailscale-enabler-$latest_version.tgz" && \
tar xzvf "openwrt-tailscale-enabler-$latest_version.tgz" -C / && \
opkg update && \
opkg install libustream-openssl ca-bundle kmod-tun && \
/etc/init.d/tailscale start && \
/etc/init.d/tailscale enable && \
tailscale update && \
tailscale version

手动安装

下载最新的版本并自动解压

latest_release_url=$(curl -s https://api.github.com/repos/adyanth/openwrt-tailscale-enabler/releases/latest | jq -r '.assets[0].browser_download_url')
latest_version=$(basename "$latest_release_url" | cut -d'-' -f 5)

wget "$latest_release_url" -O "openwrt-tailscale-enabler-$latest_version.tgz"
tar xzvf "openwrt-tailscale-enabler-$latest_version.tgz" -C /

注意:此命令会自动下载最新的版本

更新系统并安装依赖

opkg update && opkg install libustream-openssl ca-bundle kmod-tun

设置开机启动,验证开机启动

# 启动 tailscale 守护进程
/etc/init.d/tailscale start

//将服务设置开机启动
/etc/init.d/tailscale enable

//验证开机启动
ls /etc/rc.d/S*tailscale*

验证是否安装成功

tailscale version

加入Headscale服务端

加入节点,同时开启子网映射

tailscale up --accept-dns=false --accept-routes --login-server=http://www.sap560.com:56000 --advertise-routes=192.168.1.0/24 --force-reauth

注意:

  • 将域名修改为服务端的域名
  • 192.168.1.0/24填写Openwrt同网段的内网IP段

检查加入网络的状态

tailscale status

Openwrt添加接口

在OpenWrt上新建一个接口

  • 协议选静态地址
  • 设备选tailscale0
  • 地址为Taliscale管理页面上分配的地址
  • 掩码255.0.0.0
  • 防火墙区域选lan区域。

Alt text

配置完成后如下图所示:

添加防火墙规则

将以下内容,加到防火墙的自定义规则当中,并重启防火墙。

iptables -I FORWARD -i tailscale0 -j ACCEPT
iptables -I FORWARD -o tailscale0 -j ACCEPT
iptables -t nat -I POSTROUTING -o tailscale0 -j MASQUERADE

现在各个Tailscale节点之间已经可以正常互访了

Liunx客户端

官方安装

官方的一键安装脚本

curl -fsSL https://tailscale.com/install.sh | sh

说明:

  1. 官方一键安装脚本可以自动识别当前系统并且自动安装
  2. 缺点是如果网络无法访问tailscale的官网可能无法安装

国内加速安装

使用官方的安装脚本因网速问题会比较慢,这里提供一个国内的加速安装脚本
基于xEdge官方tailscale软件源镜像,国内速度优:

curl -fsSL https://ts-mirror.xedge.cc/install.sh | sh

注意:

特殊情况下,可以手动安装,但是不太建议

手动安装

注意:

手动安装教程根据不同系统有不同的命令,请注意选择

Debian系统安装

  1. 添加 Tailscale 的软件包签名密钥和存储库:
apt-get install apt-transport-https
curl -fsSL https://pkgs.tailscale.com/stable/debian/stretch.gpg | sudo apt-key add -
curl -fsSL https://pkgs.tailscale.com/stable/debian/stretch.list | sudo tee /etc/apt/sources.list.d/tailscale.list
  1. 安装 Tailscale:
apt-get update
apt-get install tailscale
  1. 检查安装是否完成
tailscale version

其他系统安装

参考官网教程
https://tailscale.com/download/linux

加入服务端

tailscale up --login-server=https://xxx.xxx.com --accept-routes=true --accept-dns=false
  • 替换xxxx为Headscale的服务端地址
  • accept-dns=false表示使用本地的DNS

通过秘钥加入服务端

每次加入都需要在服务端认证,如果已创建秘钥,可直接加入

tailscale up --login-server=https://head.xxx.com --accept-routes=true --accept-dns=false --authkey=xxxxx

卸载客户端

Debian12

注意:

注意:该命令适用于Debian12系统,其他系统命令可能不同

要在 Debian 12 系统下卸载 Tailscale,你可以使用以下步骤:

  1. 停止 Tailscale 服务:

    sudo tailscale down
    
  2. 卸载 Tailscale 软件包:

    sudo apt-get remove tailscale
    
  3. 删除配置文件和数据:

    sudo rm -rf /var/lib/tailscale
    
  4. 清理残余文件:

    sudo rm /etc/apt/sources.list.d/tailscale.list
    

一键卸载命令

sudo tailscale down && sudo apt-get remove tailscale && sudo rm -rf /var/lib/tailscale && sudo rm /etc/apt/sources.list.d/tailscale.list

Windows客户端

安装客户端

安装步骤:

  1. 从官网下载Windows客户端
  2. 安装客户端
  3. 修改注册表

安装教程

下载客户端

  1. 官网下载
    https://pkgs.tailscale.com/stable/#windows

连接Headscale服务端

Headscale部署完成后,可访问地址获取对应的客户端安装教程

地址为:

https://xxx.xxx.com/windows

  • 一般为Headscale部署域名+ /Windows

访问后可看到加入服务端命令

tailscale login --login-server https://xxx.xxx.com

如图:

修改注册表

注意:

Tailscale 在 1.34.0 以上的版本,支持直接访问Headscale服务。
只有在1.32.0及更低的版本,才需要修改注册表

添加Headscale服务端地址

修改注册表,新建字符串,填写对应的值

  • 路径HKEY_LOCAL_MACHINE\SOFTWARE\Tailscale IPN
  • LoginURL=Headscale服务器的地址
  • UnattendedMode=always

如图:

  1. 修改注册表后,需要重启电脑才能生效。
  2. 登录tailscale客户端,点击login,会弹出网页,即可看到申请加入服务端的地址

弹出的网页如图

  1. 返回Headscale服务端,复制网页上显示的地址批准加入即可。

一键修改注册表

  1. 新建修改注册表.reg文件 (注意后缀为.reg)
  2. 双击运行即可。

修改注册表.reg代码:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Tailscale IPN]
"UnattendedMode"="always"
"LoginURL"="http://XXXX.XXXX.com"
  • 注意替换为Headscale服务器的网址

网络测试

提示:

在Windows系统下要使用tailscale命令,需要在系统变量内把tailscale的安装目录加入到Path变量内

加入系统变量

打开命令提示符或 PowerShell 以管理员权限运行。右键单击命令提示符或 PowerShell,然后选择 "以管理员身份运行",输入命令:

setx PATH "%PATH%;C:\Program Files\Tailscale" /M
  • tailscale的默认安装路径为C:\Program Files\Tailscale
  • 如果修改了安装路径,请自行替换实际的安装路径

检查已登录的客户端

tailscale status

检查路由表

tailscale netcheck

ping其他节点

tailscale ping 100.64.0.1
  • ping后面为其他节点分配的IP
博主关闭了所有页面的评论