headscale通告路由后未生效的解决办法

拓扑图 客户端A通告路由,启动命令为:tailscale up --login-server=https://hs.bokro.cn --accept-routes=true --advertise-routes=192.168.124.0/24 --netfilter-mode=off 客户端B接

拓扑图

客户端A通告路由,启动命令为:tailscale up --login-server=https://hs.bokro.cn --accept-routes=true --advertise-routes=192.168.124.0/24 --netfilter-mode=off
客户端B接收路由,启动命令为:tailscale up --login-server=https://hs.bokro.cn --accept-routes=true

graph LR subgraph 服务端 Headscale["Headscale Server"] end subgraph 客户端A A["客户端A"] LAN["局域网: 192.168.124.0/24"] end subgraph 客户端B B["客户端B"] end Headscale -->|接收路由| B A -->|连接内网| LAN A -->|通告路由| Headscale

检查服务端的节点及路由情况

2.1、使用命令headscale routes list 查看路由情况,如下图可以看到我有4个设备通告了相同的路由(192.168.124.0/24)

2.2、使用命令headscale node list 查看节点情况,检查节点是否在线

2.3、使用命令headscale routes enable 16 --route 10 启用设备16(basicnetwork)通告的第10条路由

2.4、再次查看路由,可以看到已经上线

2.5、测试是否能够访问

结论

笔者在更新后headscale莫名其妙的这一组路由掉了,在排查完了derp状态、客户端网络情况后,在查看headscale路由的时候发现路由未通告...至此,启用后问题得以解决...........

相关链接

headscale搭建:https://bokro.cn/archives/docker-headscale

headscale magic dns配置:https://bokro.cn/archives/headscale-magic-dns-setting

Comment