如何通过默认系统网关路由特定的 IP 地址?

如何通过默认系统网关路由特定的 IP 地址?

我通过 Wireguard VPN 发送所有流量,但我需要设置例外。指向我自己的公共 IP 的数据包必须通过系统的默认网关。

如果我将其添加到内核路由中,它就会按预期工作: route add X.X.X.X gw 192.168.1.254。但是,当然,这里我对路由器的网关进行了硬编码,如果我连接到任何其他网络,它将无法工作。我如何概括这种行为,以便始终通过默认网关发送定向到 XXXX 的数据包?也许使用 iptables 而不是添加内核路由会更好?

答案1

您可以使用变量:

defaultGW=$(/sbin/ip route | awk '/default/ { print $3 }')

然后:

route add X.X.X.X gw $defaultGW


也许你应该开始使用ip route,它是的现代替代品route

相关内容