Linux: Linux 中基于条件的网络路由
Linux: conditions based network routing in Linux
我有以下设置:家庭网络中同一子网 (192.168.178.0/24) 中的 2 个虚拟机
- VM_Gateway 使用 Debian 192.168.178.100
- VPN_Gateway 使用 Debian 192.168.178.102 使用 运行 VPN
网络网关在 192.168.178.1
请告知解决以下任务的体系结构和解决方案:
来自所有家庭设备的流量进入 VM_Gateway。此 VM 正在检查 VPN_Gateway 是否可以解析(up 和 运行)。如果没问题 - 所有流量都重定向到 VPN_Gateway,如果没有 - 流量重定向到 192.168.178.1
上的网络网关
谢谢
静态路由
一种方法是使用静态路由和 VIP。
在您的 VPN 网关和网络网关上配置类似 Keepalive 或 Pacemaker/Corosync 的设置。配置在两个设备上共享的虚拟 IP,例如 192.168.178.254。如果 VPN 机器启动,VIP 将被分配给 VPN 节点,否则它将故障转移到网络网关。
然后,更改您的 VM_Gateway 默认网关,指向您的 VIP。
Keepalived 可能比 Pacemaker/Corosync 更容易,尤其是实现优先级(如果两个节点都已启动,谁获得 IP)...甚至确保您的 VPN link 已启动,然后 VPN_Gateway 将接管。
动态路由
也许矫枉过正,但根据您的上下文可能有意义...使用 OSPF 之类的东西?
VM_Gateway、VPN_Gateway 和网络网关都是 运行 OSPF(在 Debian 中,你会有 Quagga,OpenBSD 有自己的 OSPFd 守护进程,...)。
VPN_Gateway 和网络网关只会通告默认路由(quagga 不会更改这些主机上的路由配置)。一方面指向您的 VPN 服务器,另一方面指向您实际的默认网关。
定义适当的 link 指标,您应该能够将 VPN 优先于常规网关。
然后 VM_Gateway 可以从一个切换到另一个。
我有以下设置:家庭网络中同一子网 (192.168.178.0/24) 中的 2 个虚拟机
- VM_Gateway 使用 Debian 192.168.178.100
- VPN_Gateway 使用 Debian 192.168.178.102 使用 运行 VPN
网络网关在 192.168.178.1
请告知解决以下任务的体系结构和解决方案: 来自所有家庭设备的流量进入 VM_Gateway。此 VM 正在检查 VPN_Gateway 是否可以解析(up 和 运行)。如果没问题 - 所有流量都重定向到 VPN_Gateway,如果没有 - 流量重定向到 192.168.178.1
上的网络网关谢谢
静态路由
一种方法是使用静态路由和 VIP。
在您的 VPN 网关和网络网关上配置类似 Keepalive 或 Pacemaker/Corosync 的设置。配置在两个设备上共享的虚拟 IP,例如 192.168.178.254。如果 VPN 机器启动,VIP 将被分配给 VPN 节点,否则它将故障转移到网络网关。
然后,更改您的 VM_Gateway 默认网关,指向您的 VIP。
Keepalived 可能比 Pacemaker/Corosync 更容易,尤其是实现优先级(如果两个节点都已启动,谁获得 IP)...甚至确保您的 VPN link 已启动,然后 VPN_Gateway 将接管。
动态路由
也许矫枉过正,但根据您的上下文可能有意义...使用 OSPF 之类的东西?
VM_Gateway、VPN_Gateway 和网络网关都是 运行 OSPF(在 Debian 中,你会有 Quagga,OpenBSD 有自己的 OSPFd 守护进程,...)。
VPN_Gateway 和网络网关只会通告默认路由(quagga 不会更改这些主机上的路由配置)。一方面指向您的 VPN 服务器,另一方面指向您实际的默认网关。
定义适当的 link 指标,您应该能够将 VPN 优先于常规网关。
然后 VM_Gateway 可以从一个切换到另一个。