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

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

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

传统的查看路由表命令 route
linux 多网卡多路由表实现策略路由
新的路由表查看命令 ip route
linux 多网卡多路由表实现策略路由
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这张路由表。

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

The local routing table这张路由表由kernel自动生成和维护,不应该去改动它。路由表中包含的是本地接口路由和广播路由,以及nat路由。
linux 多网卡多路由表实现策略路由
The main routing table这张路由表也是由kernel自动生成和维护。
linux 多网卡多路由表实现策略路由
Routing Policy database
路由策略数据库控制了kernel搜素多个路由表之间的顺序。每一条rule规则都可以定义一个0到32767之间的优先级,数字越小,优先级越高。
当路由表cache为空,新的数据包到达寻找路由时,kernel开始查找最高优先级的rule0。Kernel重复查找匹配路由规则rule。如果kernel没有在rule中找到路由,那么它会尝试查找剩下的其他rule.
查看路由规则ip rule show
linux 多网卡多路由表实现策略路由
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

转载于:https://blog.51cto.com/jsahz/2071949

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值