linux多路由表,linux 多网卡多路由表实现策略路由

linux kernel 2.2 开始支持多个路由表。

routing policy database (RPDB)。

传统路由表,基于目标地址做路由选择。通过多个路由表,kernel支持实施策略路由,这样就可以基于源IP地址等信息做路由选择。

传统的查看路由表命令 route

0953ab865fb49612791f4055259500dd.png

新的路由表查看命令 ip route

39952e351f1b088c33f5e6a82b48954c.png

Kernel 可以定义0到255标识路由表。

The file /etc/iproute2/rt_tables need not exist, as the iproute2 tools have a hard-coded entry for the main table. 直接用route或者ip route 查看的就是main这张路由表。

8b8fd648b3d0fd59f17a03d5e1bfdfbd.png

The local routing table这张路由表由kernel自动生成和维护,不应该去改动它。路由表中包含的是本地接口路由和广播路由,以及nat路由。

e00bea9cc6a68bdb5516b9bd123b87a0.png

The main routing table这张路由表也是由kernel自动生成和维护。

13b0a12b9918dd85bb066aab82571740.png

Routing Policy database

路由策略数据库控制了kernel搜素多个路由表之间的顺序。每一条rule规则都可以定义一个0到32767之间的优先级,数字越小,优先级越高。

当路由表cache为空,新的数据包到达寻找路由时,kernel开始查找最高优先级的rule0。Kernel重复查找匹配路由规则rule。如果kernel没有在rule中找到路由,那么它会尝试查找剩下的其他rule.

查看路由规则ip rule show

c0e561e83be95b1e28b59a8a43c7207c.png

Ip rule add unicast iif eth7 prio 32766 table

删除某条路由规则rule

Ip rule del prio 32766

Ip route flush 10.38.0.0/16 或者某张路由表中所有路由ip route flush table main

ip route show cache

ip route flush cache

可在 /etc/sysconfig/network-scripts/route-interface 文件中为每个接口保存其静态路由配置。命令提示符后使用 ip 设定的静态路由会在系统关机或重启后丢失。要配置静态路由以便在系统重启后仍可保留,则必须将其放在 /etc/sysconfig/network-scripts/ 目录中。该文件名的格式应为 route-ifname。

route-ifname只是为接口保存的路由配置文件。真正的路由表在rt_tables中定义,定义的路由表各个条目就分散在route-ifname文件中。

Ip rule 也是同样的原理,文件名的格式为rule-XX。

/etc/sysconfig/network-scripts/rule-eth0

/etc/sysconfig/network-scripts/route-eth0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值