|
|
# Tailscale 启动指南
|
|
|
|
|
|
本文档用于在本项目部署/联调环境中启动与验证 Tailscale 连接。覆盖两类常见环境:
|
|
|
|
|
|
- 机器/VM 有 systemd,可用 `systemctl` 管理 `tailscaled`
|
|
|
- 容器/受限环境无 systemd(例如 PID 1 不是 systemd),使用 userspace networking 启动 `tailscaled`
|
|
|
|
|
|
## 1. 前置检查
|
|
|
|
|
|
确认已安装:
|
|
|
|
|
|
```bash
|
|
|
which tailscale
|
|
|
tailscale version
|
|
|
```
|
|
|
|
|
|
查看当前状态:
|
|
|
|
|
|
```bash
|
|
|
tailscale status
|
|
|
```
|
|
|
|
|
|
如果提示 `failed to connect to local tailscaled`,说明 `tailscaled` 没有运行或 socket 不对。
|
|
|
|
|
|
## 2. 方式 A:systemd 环境启动(推荐)
|
|
|
|
|
|
启动并设置开机自启:
|
|
|
|
|
|
```bash
|
|
|
sudo systemctl start tailscaled
|
|
|
sudo systemctl enable tailscaled
|
|
|
```
|
|
|
|
|
|
登录并启用(首次需要网页登录授权):
|
|
|
|
|
|
```bash
|
|
|
sudo tailscale up --accept-dns=false --accept-routes=false
|
|
|
```
|
|
|
|
|
|
验证:
|
|
|
|
|
|
```bash
|
|
|
tailscale status
|
|
|
tailscale ip -4
|
|
|
```
|
|
|
|
|
|
## 3. 方式 B:无 systemd / 容器环境启动(userspace networking)
|
|
|
|
|
|
当 `systemctl` 不可用(例如 PID 1 不是 systemd),用 userspace networking 启动 `tailscaled`:
|
|
|
|
|
|
```bash
|
|
|
sudo tailscaled \
|
|
|
--tun=userspace-networking \
|
|
|
--socket=/var/run/tailscale/tailscaled.sock \
|
|
|
--state=/var/lib/tailscale/tailscaled.state
|
|
|
```
|
|
|
|
|
|
为了让其在后台运行且不占用终端,可使用:
|
|
|
|
|
|
```bash
|
|
|
sudo nohup tailscaled \
|
|
|
--tun=userspace-networking \
|
|
|
--socket=/var/run/tailscale/tailscaled.sock \
|
|
|
--state=/var/lib/tailscale/tailscaled.state \
|
|
|
>/tmp/tailscaled.log 2>&1 &
|
|
|
```
|
|
|
|
|
|
首次登录(会输出一个 URL,打开后完成授权):
|
|
|
|
|
|
```bash
|
|
|
sudo tailscale up --accept-dns=false --accept-routes=false
|
|
|
```
|
|
|
|
|
|
验证:
|
|
|
|
|
|
```bash
|
|
|
tailscale status
|
|
|
tailscale ip -4
|
|
|
```
|
|
|
|
|
|
## 4. 常用参数说明
|
|
|
|
|
|
- `--accept-dns=false`:避免 Tailscale 接管系统 DNS(更稳妥,减少联调环境干扰)
|
|
|
- `--accept-routes=false`:不接收其它节点宣告的子网路由(除非明确需要)
|
|
|
|
|
|
如果你看到 `Some peers are advertising routes but --accept-routes is false` 属正常提示。
|
|
|
|
|
|
## 5. 常见问题
|
|
|
|
|
|
### 5.1 `Logged out.` / `NeedsLogin`
|
|
|
|
|
|
执行:
|
|
|
|
|
|
```bash
|
|
|
sudo tailscale up --accept-dns=false --accept-routes=false
|
|
|
```
|
|
|
|
|
|
根据输出提示访问登录链接完成授权。
|
|
|
|
|
|
### 5.2 `failed to connect to local tailscaled`
|
|
|
|
|
|
说明 `tailscaled` 未运行或 socket 路径不一致:
|
|
|
|
|
|
- systemd 环境:确认 `sudo systemctl status tailscaled`
|
|
|
- 无 systemd 环境:确认 `tailscaled` 进程存在,以及 `--socket` 路径与 `tailscale` 命令一致
|
|
|
|
|
|
### 5.3 退出/停止
|
|
|
|
|
|
退出网络:
|
|
|
|
|
|
```bash
|
|
|
sudo tailscale down
|
|
|
```
|
|
|
|
|
|
停止守护进程:
|
|
|
|
|
|
- systemd:`sudo systemctl stop tailscaled`
|
|
|
- 无 systemd:`sudo pkill tailscaled`
|
|
|
|