linux系统要配置两个路由,Linux系统下通过策略路由实现多默认路由

问题简述

一般地说,在Linux系统路由表内只能有一条默认路由。当出站数据包根据目的IP地址选路失败后,执行默认路由,交默认路由指向的下一跳路由器(默认网关)转发数据包。

现需要同时存在两条默认路由。数据包通过何种默认路由,由程序指定(或根据规则)。数据包通过特定的路由规则转发到对应的路由器。

在下文中,我们以如下的拓扑为例,介绍如何通过策略路由来实现上述需求。

服务器上安装有两块网卡,分别为p7p1和p7p2;

网卡p7p1:192.168.1.1/24,连接至路由器R1;

网卡p7p2:192.168.2.1/24,连接至路由器R2;

路由器R1:192.168.1.254/24;

路由器R2:192.168.2.254/24。

我们要实现的选路策略:

根据源IP地址选路,所有源IP地址为192.168.1.1的报文,通过eth0转发到路由器R1,所有源IP地址为192.168.2.1的报文,通过eth0转发到路由器R2;

进一步地,本机程序发送IP报文,由程序选择从何出口转发到对应的路由器。

实现思路

通过多张路由表和策略路由实现上述的配置需求。

路由表1:默认路由指向R1,即192.168.1.254;

路由表2:默认路由指向R2,即192.168.2.254

策略路由,优先级高于local路由表:

源IP为192.168.1.1的报文,

你可能感兴趣的:(linux系统要配置两个路由)