码迷,mamicode.com
首页 > 系统相关 > 详细

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

时间:2018-02-20 13:26:23      阅读:246      评论:0      收藏:0      [点我收藏+]

标签:查找   data   ica   应该   ip route   多个   base   基于   条目   

linux kernel 2.2 开始支持多个路由表。
routing policy database (RPDB)。

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

传统的查看路由表命令 route

新的路由表查看命令 ip route

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这张路由表。

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

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

Routing Policy database
路由策略数据库控制了kernel搜素多个路由表之间的顺序。每一条rule规则都可以定义一个0到32767之间的优先级,数字越小,优先级越高。
当路由表cache为空,新的数据包到达寻找路由时,kernel开始查找最高优先级的rule0。Kernel重复查找匹配路由规则rule。如果kernel没有在rule中找到路由,那么它会尝试查找剩下的其他rule.
查看路由规则ip rule show

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

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

标签:查找   data   ica   应该   ip route   多个   base   基于   条目   

原文地址:http://blog.51cto.com/jsahz/2071949

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!