策略路由/路由表/ip rule/ ip route --全网最清晰解释

策略路由的由来: 
    最初,路由仅依据目的地址,采用最长匹配原则来决定下一跳。 后来 人们还希望通过其他项来选择下一跳, 比如源地址, 传输协议, 端口等。。因此策略路由应运而生。 根据不同的条件(源地址, 传输协议, 端口)选择路由表, 然后在路由表中根据目的地址选择下一跳。 

 

策略路由样貌:


它是由三部分组层,

part1:  优先级,也就是上图中的0, 32766, 32767, 数字越小优先级越高。 新增路由策略的时候,如果不通过pref指定优先级会在找个除零以外最小的优先级。 如下所示:

[root]# ip rule del from 135.105.115.149 lookup 231
[root]# ip rule
0:      from all lookup local
32765:  from 135.105.115.149 lookup 231
32766:  from all lookup main
32767:  from all lookup default

part2: 条件, 比如from  all, from 135.105.115.149.   

part3: 操作, 比如lookup main 、 lookup 231。

综上:

32765:  from 135.105.115.149 lookup 231 代表的含义是, 源地址是135.105.115.149的IP包,根据231号路由表进行路由。 

 

路由策略工作原理:
会根据优先级依次遍历,直到决策出下一跳。

例如:一个IP报文源地址是135.105.115.180, 目的地址是155.18.49.20

1)判断路由策略0, 符合条件from all, 去查找local 路由表(本地路由表,存有本地接口地址,广播地址,以及NAT地址)。 local表中根据目的地址,最长匹配原则找不到路由。2)进而判断路由策略路由32765, 该策略源地址是135.105.115.149的, 去查找231号表。 不满足。 3)进而判断32766, 该路由策略的条件是from all满足。去查找路由表main(主路由表,传统路由表,ip route若没指定表即操作表254), 其中可以找到下一跳, 进而转发IP包。 到此结束。 

 

路由表:
只能根据目的路由

系统初始,给创建了4张路由表:

0表                      系统保留表
255                       local 本地路由表,存有本地接口地址,广播地址,以及NAT地址。
                           local表由系统自动维护,管理员不能操作此表。
254                       main 主路由表,传统路由表,ip route若没指定表即操作表254。
                           注:平时用route查看的亦是此表设置的路由。
253                        default  默认路由表一般存放默认路由。
                           注:rt_tables文件中表以数字来区分表,保留最多支持255张表。

路由表查看的方法:

 ip route list table [table_id/table_name]

例如查看main 路由表:ip route list table 254、 ip route list table main

注:平常我们用的netstat -rn 或者route 查看的都是主路由表(254号表)

       route  [add|del] [-net|-host] target [netmask Nm] [gw Gw] [[dev] If]增加的路由也是在254号表。 

 

增加/删除路由策略:

可以参考https://blog.csdn.net/bytxl/article/details/9850803

需要执行ip route flush cache, 让路由策略立马生效。 

 

其他学习链接:

https://segmentfault.com/a/1190000000638244

最长匹配原则:

https://www.juniper.net/documentation/en_US/junos/topics/reference/configuration-statement/longest-match-next-hop-edit-static-routing-options.html

pref字段使用:

https://unix.stackexchange.com/questions/424314/changing-default-ip-rule-priority-for-main-table

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值