一般地说在Linux系统路由表内只能囿一条默认路由。当出站数据包根据目的IP地址选路失败后执行默认路由,交默认路由指向的下一跳路由路由器(默认网关)转发数据包
现需要同时存在两条默认路由。数据包通过何种默认路由由程序指定(或根据规则)。数据包通过特定的路由规则转发到对应的路由器
在下文中,我们以如下的拓扑为例介绍如何通过策略路由来实现上述需求。
-
服务器上安装有两块网卡分别为p7p1和p7p2;
我们要实现的选蕗策略:
-
根据源IP地址选路,所有源IP地址为192.168.1.1的报文通过eth0转发到路由器R1,所有源IP地址为192.168.2.1的报文通过eth0转发到路由器R2;
-
进一步地,本机程序发送IP报文由程序选择从何出口转发到对应的路由器。
通过多张路由表和策略路由实现上述的配置需求
-
策略路由,优先级高于local路由表:
2.配置路由表添加默认路由
# 本机与默认网关的路由,否则会显示路由不可达
为了方便通过静态ARP配置,模拟下一跳路由路由器