OpenWRT - 手动更改默认路由以通过 VPN

OpenWRT - 手动更改默认路由以通过 VPN

这个问题难倒我了。

我已经在站点之间设置了 wireguard:流量按预期流动。我已经绑​​定了 LAN,OpenWRT 设备是互联网网关。

我希望能够使用第二个 OpenWRT 设备作为第一个设备的网关。

当我添加时,效果很好

list allowed_ips '0.0.0.0/0' 

到 /etc/config/network 脚本下

config wireguard_wg0

部分,然后运行

/etc/init.d/firewall restart

但是:我试图通过 mwan3 脚本触发此功能 - 如果我重新启动网络 - 它会触发另一个 mwan3 重新插入事件 - 然后递归启动,事情就不会顺利结束。

所以 - 我尝试手动完成

ip route del default
ip route add default dev wg0 proto static scope link

我从工作配置中复制了路线,然后尝试手动应用它。

我得到的只是

#ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8): 56 data bytes
ping: sendto: No error information

重新启动防火墙没有帮助。

如果我转储路由表和 iptables

ip route show table all
iptables-save

我得到了相同的配置(这已通过 WinMerge 验证)

但有一个区别——“自动”配置有效(通过配置和 /etc/init.d/network restart),而“手动”配置(通过 ip route...)无效。

我被难住了。有人知道我下一步该去哪里吗?

谢谢

答案1

好的——这是一个“逆”问题。

问题是 wireguard 不接受 0.0.0.0/0 目的地数据包。而且我找不到动态配置它以添加特定接口路由的方法。

所以如果0.0.0.0/0路由默认添加到wg0,那么默认不使用。

当默认流量不需要通过 wg0 接口流动时,默认路由将设置为定位设备 - 然后就可以正常工作了。当切换到备份接口(通过 wg)时,只需重新启用到 wg0 接口的默认路由,该接口已经接受“默认”流量。

瞧!成功了。

哦-并重新启动防火墙,这样转发的流量也会流动。

相关内容