如何根据 Linux 上的路由可用性动态更改路由?

如何根据 Linux 上的路由可用性动态更改路由?

我有一个奇怪且有些具体的路由问题。我想根据下一跳可用性更改路由/下一跳。

我的设置很奇怪,可能与最佳实践相差甚远。它看起来有点像这样:

                               +---------------+
                               |  VPN Box 1    |   VPN Net 1
                      +-------->  192.168.1.177+---------------------+
                      |        |               |                     |
                      |        +---------------+                     |
                      |                                              |  Remote site
+--------------+      |                                             +v----------------+
|              |      |         +--------------+                    |                 |
|              |      |         | VPN Box 2    |    VPN Net 2       |  VPN Router     |
|    Router    +------+---------+ 192.168.1.178+-------------------->  Terminates all |
| 192.168.1.1  |      |         |              |                    |  VPNs           |
|              |      |         +--------------+                    |  192.168.32.0/24|
+--------------+      |                                             |                 |
                      |                                             |                 |
                      |                                             |                 |
                      |         +---------------+                   |                 |
                      |         |  VPN Box 3    |    VPN Net 3      +--^--------------+
                      +---------+  192.168.1.179+----------------------+
                                +---------------+

我的192.168.1.1路由器是基于Linux的,有如下路由:

192.168.32.0/24 via 192.168.1.179 dev eth1  metric 1
192.168.32.0/24 via 192.168.1.178 dev eth1  metric 2
192.168.32.0/24 via 192.168.1.177 dev eth1  metric 3

我希望我的路由根据 VPN 可用性进行更新。例如,如果 192.168.1.179 VPN 链接断开,我希望增加其度量,或者将其删除/禁用。

远程站点上的 VPN 路由器无法运行 OSPF/RIP/BGP。

是否有可能仅使用 iproute2/iptables/标准 GNU/Linux 实用程序来自动执行某些操作?

附言:我可能能够在 VPN Box 1 和 2 上安装 OSPF/RIP/BGP 守护程序,但我不确定这是否有帮助。

编辑:路由器上的脚本/程序192.168.1.1ping VPN Net 1/2/3 的 VPN IP 并更改度量/删除路由是唯一/最简单/最佳的解决方案吗?

编辑2:PPS:我不介意连接跟踪和已建立连接的优雅故障转移。

相关内容