使用 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