使用 Tailscale 配置服务器中转的过程(树莓派)

697 阅读2分钟

使用 Tailscale 配置服务器中转的过程(树莓派)

1. 下载与注册

此部分略过,假设你已完成注册和下载过程。

2. 登录

要访问的所有设备都需要登录到 Tailscale。

3. 配置华为云服务器为 Tailscale 子节点

3.1 启用网络转发

在华为云服务器上,首先需要启用网络转发功能。编辑 /etc/sysctl.conf 文件,确保如下设置:

bash
复制编辑
net.ipv4.ip_forward = 1

然后运行以下命令应用更改:

bash
复制编辑
sudo sysctl -p

3.2 配置服务器为子节点

使用以下命令将华为云服务器设置为 Tailscale 子节点(通过广告路由):

bash
复制编辑
sudo tailscale up --advertise-routes=100.71.77.0/24

3.3 确认是否设置成功

通过 tailscale status 命令检查服务器是否正确配置。输出应该类似如下:

bash
复制编辑
100.71.77.76    flexusx-346373       hnian2337@   linux   (ExitNode)

如果遇到 "Pv6 forwarding is disabled" 的错误,说明服务器未启用 IPv6 转发。此时需要编辑 /etc/sysctl.conf 文件,启用 IPv6 和 IPv4 转发:

bash
复制编辑
net.ipv4.ip_forward = 1
net.ipv6.conf.all.forwarding = 1

然后运行:

bash
复制编辑
sudo sysctl -p

再次执行以下命令,启用出口节点:

bash
复制编辑
sudo tailscale up --advertise-exit-node

4. 配置树莓派客户端设备使用出口节点

在树莓派上,使用以下命令配置 Tailscale 客户端设备通过出口节点进行访问:

bash
复制编辑
sudo tailscale up --exit-node=100.71.77.76 --accept-routes

输出应显示类似以下内容:

bash
复制编辑
100.71.77.76    flexusx-346373       hnian2337@   linux   (ExitNode)

5. 禁止 Tailscale 密码变化

为防止树莓派自动连接时出现密码错误,在 Tailscale 浏览器端设置禁止密码变化。

6. 禁用 MagicDNS 设置

在 Tailscale 浏览器端禁用 MagicDNS,否则在树莓派端访问其他域名时(如 www.baidu.com)可能会出现错误。

如果依然无法正常访问,可以尝试以下步骤:

Tailscale 启动时会更改 /etc/resolv.conf,手动添加 DNS 服务器:

bash
复制编辑
nameserver 8.8.8.8
nameserver 8.8.4.4

为了防止 /etc/resolv.conf 被重写,可以设置文件为不可修改:

bash
复制编辑
sudo chattr +i /etc/resolv.conf

7. 设置 Tailscale 开机自启

7.1 创建 Tailscale 服务文件

在树莓派上创建一个系统服务文件:

bash
复制编辑
sudo nano /etc/systemd/system/tailscale.service

7.2 添加以下内容

将以下内容粘贴到服务文件中:

ini
复制编辑
[Unit]
Description=Tailscale
After=network.target

[Service]
ExecStart=/usr/bin/tailscale up
Restart=always
RestartSec=3
User=pi

[Install]
WantedBy=multi-user.target

7.3 启用并启动服务

保存并退出编辑器后,启用并启动服务:

bash
复制编辑
sudo systemctl enable tailscale.service
sudo systemctl start tailscale.service

7.4 检查服务状态

使用以下命令检查服务是否正常运行:

bash
复制编辑
sudo systemctl status tailscale.service