关于策略路由、系统路由以及多线路的关系
  

高俊洪_广州办_技术支持 272222

{{ttag.title}}
本帖最后由 高俊洪_某公司_技术支持 于 2015-3-6 16:17 编辑

                                  关于策略路由、系统路由以及多线路的关系
1、基础知识
Linux系统支持同时维护多张路由表,最多可以支持到255张,其中有3张表是内置的,分别是local、main以及default表。
1.jpg

Linux每张路由表都有对应的优先级,系统执行路由选路的时候根据路由表的优先级从高到低进行匹配,当在某张路由表匹配到对应的路由之后就不再继续配合,系统直接执行对应的路由。系统默认local表优先级别最高,default表级别最低。
通过ip rulelist命令可以看到路由规则,通过路由规则可以看到当前系统有几张路由表,路由表对应的优先级,以及执行路由表的条件,如图,
2.jpg

上图是Linux的路由规则表,第一列的数字代表优先级,数字越小,优先级越高,路由规则查找顺序是按照优先级从高到低依次查找;最后一列是当前系统中的路由表的编号或名称,而from all fwmark 0x1则表示根据源IP地址(all),标记(0x1)等查找指定路由表。以上图路由规则举个例子,一个打了0x2的数据包进入路由规则查找路由,在前面的路由表local、main以及200,没有找到匹配的路由(原因是细化路由没有匹配到,并且没有默认网关),则会直接跳过0x1对应的路由表1,直接查找0x2对应的路由表2。
2、策略路由
系统路由根据目标IP地址进行选路的,而策略路由可以基于源和目的IP地址进行选路。某公司的策略路由是通过在系统添加对应的标记路由规则实现的。
拿AD举个例子,AD的智能路由,实际上也是一种策略路由。假设AD网关部署,外联2条公网线路分别是电信、联通,客户做了对应的智能路由,分别是电信走电信线路,访问联通走联通线路。
此时在AD系统会添加对应的路由规则,如下图,
3.jpg

上图中新增了table 1和table 2,分别对应两台外网线路,具体哪一条对应电信或者联通,可以通过查看table具体的路由内容判断,这里table1对应电信线路,table2对应联通线路。路由表内容都只有一条,就是默认网关是对应接口的下一条网关。
4.jpg

以上图为例,我们来看一下策略路由(智能路由)是怎么生效的。
首先我们来看一下优先级别比table1和table2高的路由表local、main以及200的内容都是什么,会不会影响到智能路由(电信走电信,联通走联通)。
Local表里面放的均是设备本地接口地址、广播地址,可以理解为设备本身与直连网络进行通信的路由表;
Main表放的是AD设备的静态路由以及直连路由(提供转发使用),如图,58.248.176.200/29是eth3直连网络,59.41.7.64/29是eth2直连网络,192.168.0.0/16、10.0.0.0/8是内网的静态路由
5.jpg

200表内容为空,对路由没有影响。
6.jpg

到这里基本可以了解到,在策略路由(智能路由)对应的路由表(table1、table2)之前的路由基本是本地路由,没有默认路由也没有具体的远端路由。那智能路由是怎么生效的呢。
举个例子,内网一个用户第一次访问联通dns:202.106.0.20的时候,智能路由选路模块对数据包的源和目的进行匹配,经过查看,发现这个用户访问的IP是属于定义的联通网段,匹配到联通走联通线路的智能路由(策略路由),选路模块会对这个数据包打上联通线路的0x2标记,当这个打上0x2标志的数据包走到路由规则,从上往下匹配,当在local、main、200中都没有查找到去往联通(202.106.0.20)的路由,则继续往下匹配,此次会直接跳过table1,因为匹配table1的前提是数据包必须具备0x1标志,所以继续往下匹配到table2,查找table2的路由,发现有一条default路由,则直接匹配该路由,走联通接口出去。实现智能选路。
3、多线路选路
多线路选路可以理解为策略路由的辅助,当策略路由对应的线路出现问题策略路由失效的情况下,多线路选路根据规则给新连接的数据包打线路标志,数据包走到路由模块根据路由规则进行选路,选路过程同策略路由。
4VPN路由
    Vpn路由在选路方面实现原理相同,均是查找路由规则,VPN模块对匹配了VPN规则的数据包打上对应的标志,数据包走到路由模块根据路由规则进入VPN接口。一般VPN对应的路由表的优先级最高,可以理解为仅次于local路由表。
5、优先级关系
目前了解到某公司设备的优先级关系一般为(WOC策略路由优先级最高):
VPN路由优先系统路由,系统路由优先策略路由,策略路由优先多线路选路。

打赏鼓励作者,期待更多好文!

打赏
2人已打赏

携手旅游 发表于 2017-10-24 13:26
  
膜拜大神。。。
yl2352 发表于 2018-4-28 11:29
  
学习学习。
nihongliang 发表于 2018-4-28 12:00
  
学好linux路由表,就理解了
一骑绝尘 发表于 2018-6-13 08:47
  
看的有点蒙,不过还是谢谢楼主的分享
包斌 发表于 2018-9-11 11:33
  
好的资料,谢谢分享。
友谊之门 发表于 2019-1-18 08:43
  
学习中,请勿打扰。。。。
玖零网络 发表于 2019-1-20 12:58
  
感谢分享
友谊之门 发表于 2019-1-20 20:29
  
棒棒哒。。。
会飞的癞蛤蟆 发表于 2019-1-27 15:04
  
谢谢分享
发表新帖
热门标签
全部标签>
每日一问
GIF动图学习
信服课堂视频
项目案例
产品连连看
技术笔记
在线直播
技术咨询
SDP百科
专家分享
原创分享
VPN 对接
安装部署配置
技术圆桌
功能体验
新版本体验
答题自测
每日一记
畅聊IT
专家问答
SANGFOR资讯
MVP
网络基础知识
升级
安全攻防
上网策略
测试报告
日志审计
问题分析处理
流量管理
运维工具
云计算知识
用户认证
解决方案
sangfor周刊
技术顾问
信服故事
标准化排查
功能咨询
终端接入
授权
设备维护
资源访问
地址转换
虚拟机
存储
迁移
加速技术
排障笔记本
产品预警公告

本版达人

新手61940...

本周建议达人

zhao_HN

本周分享达人

ZSFKF

本周提问达人