共计 545 个字符,预计需要花费 2 分钟才能阅读完成。
宣告了路由却不通
- 检查本机路由是否有问题
ip route
- 确保宣告路由的节点没有冲突
Serving (Primary) 为生效的路由。
docker exec -it headscale headscale nodes list-routes
- 检查子网节点上的 ip 转发
# 查看转发是否开启 (1 为开启)
sysctl net.ipv4.ip_forward
# 如果是 0,临时开启:
sysctl -w net.ipv4.ip_forward=1
# 永久开启:在 /etc/sysctl.conf 中添加或修改 net.ipv4.ip_forward=1,然后执行 sysctl -p
- 检查子网路由器的防火墙
这是最常见的原因。即使内核开启了转发,防火墙也可能拦截了流量。
执行以下命令以允许 Tailscale 流量(
# 假设接口名为 tailscale0
iptables -A FORWARD -i tailscale0 -j ACCEPT
iptables -A FORWARD -o tailscale0 -j ACCEPT
# 开启 NAT(非常关键:如果目标机器不知道把包还给 Tailscale 节点,必须做此设置)
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
# 注意:将 eth0 替换为 mydev 连接 172.21.9.0 网络的真实物理网卡名
提醒:本文发布于935天前,文中所关联的信息可能已发生改变,请知悉!

