文章目录
一、策略路由重要的三大工具
- 访问控制列表ACL
- 前缀列表
- 路由图route-map
1.1 访问控制列表ACL
ACL特性:
-
对数据包进行过滤
-
需要在接口调用ACL:如果在vty线路下——针对telnet远程登陆
-
一组按顺序排放的过滤器,从上到下按顺序执行匹配条目,一旦匹配跳出过滤器
-
过滤动作:允许或者拒绝
-
匹配标准:源IP、目的IP、端口号(更精确)、协议类型(也可以不写)
-
路由器不能过滤自己产生的流量
-
标准ACL和扩展ACL删除时,不能删除单独一个条目,要先进入表,否则删除整张列表
-
每个过滤器前都有一个序列号
-
把具有严格限制条件的语句放在最前面
-
隐式拒绝器,最后一台过滤器为deny any
-
正确的访问控制列表都至少应该有一条permit语句并且写在deny语句前面
举个栗子:
1.戴眼镜男生————deny
2.男生————permit(匹配不到)
正确做法:
1.男生————允许(匹配到)
2.戴眼镜男生——拒绝(匹配到)
至少要有一条允许(否则全部拒绝,没意义) -
标准ACL离目的近的地方调用(只能匹配到源不能匹配到目的,否则会过滤掉其他包)
-
扩展ACL离源近的地方调用(有严格的匹配条件,只有源和目的都符合的条件下才会匹配到,减少流量的浪费)
注意:如果反过来,则会出现的情况——假如目的是为了只拒绝最后一台,则过程中所经过的路由器会全部拒绝。
1.1.1 标准ACL
- 基于源IP 地址匹配,定位数据包
- 只能基于源IP地址,不能检查上层协议
- 匹配动作:permit或者deny
- 编号: 1-99,1300-1999
1.1.2 扩展ACL
- 基于源IP、目的IP、端口号、协议等定位数据包
- 可以匹配特定的数据流包
- 匹配动作:permit或者deny
- 编号:100-199,2000-2699
1.1.3 命名ACL
- 可以用英文字符命名列表
- 既可以实现标准ACL也可以实现扩展ACL的功能
- In方向调用:先查找ACL标准访问列表
- Out方向调用:先查看路由条目
- Permit ip any any,允许所有IP协议
1.2 前缀列表
- 用来匹配前缀(网段)和前缀长度(子网掩码)
- ge:大于等于;范围:ge-value-32
- le:小于等于;范围:len-LE-value
- len(掩码)<ge<=le
举个栗子:
- ip prefix-list X permit 1.2.3.0/24——允许前缀1.2.3.0/24
- ip prefix-list X permit 172.0.0.0/8 ge 16 le 24——允许前缀172.0.0.0/8、子网掩码为16-24
- ip prefix-list X permit 192.168.16.0/22 ge 24 le 24——允许前缀192.18.16.0/22、子网掩码为24
- ip prefix-list X permit 0.0.0.0/0 le 32 ——允许全部的条目
- ip prefix-list X permit 0.0.0.0/0 ge 1 ——过滤除了默认路由的所有条目
1.3 路由图-route-map
- 既可以匹配感兴趣流,又可以修改感兴趣流某些特定的属性,本身是工具,但是可以调用其他工具(ACL、前缀列表)
-
路由图特性
末尾隐含deny
Match没写——就是match any
Set没写——就是set nothing
Or的关系:match ip add 1 2 3
And的关系:
match ip add 1
match interface f0/0 -
Route-map 创建
route-map X permit/deny 10————X:名字、10序列号,按顺序匹配
match x1————x1:匹配条件
set y1————y1:设置动作
route-map X permit/deny————20序列号,按顺序匹配
match x1
set y1 -
定义匹配条件与set 动作
match ip address + 列表:ACL或者前缀列表
match interface +f0/0:匹配某个接口
match ip next-hop +下跳IP地址
match metric +匹配具有指定度量值的路由
set metric:设置metric值
set ip next-hop:指定下一跳地址
二、策略路由与路由策略
2.1 PBR(policy based routing)
- 策咯路由:基于数据流的策略。通过策略来决定数据流方向
- 路由策略:通过路由信息决定数据流方向
2.2 策略路由和路由策略的区别
路由策略 | 策略路由 |
---|---|
基于控制平面,会影响路由表表项。 | 基于转发平面,不会影响路由表表项,且设备收到报文后,会先查找策略路由进行匹配转发,若匹配失败,则再查找路由表进行转发。 |
只能基于目的地址进行策略制定。 | 可基于源地址、目的地址、协议类型、报文大小等进行策略制定。 |
与路由协议结合使用。 | 需手工逐跳配置,以保证报文按策略进行转发。 |
常用工具:Route-Policy、Filter-Policy等。 | 常用工具:Traffic-Filter、Traffic-Policy(转发)、Policy-Based-Route(本地)等。 |
- 路由器存在两种类型的表:一个是路由表(routing-table),另一个是转发表(forwarding-table),转发表是由路由表映射过来的,策略路由直接作用于转发表,路由策略直接作用于路由表。由于转发在底层,路由在高层,所以直接作用在转发表的转发优先级比查找路由表转发的优先级高。
- 路由策略是在路由发现的时候产生作用,并根据一些规则,使用某种策略来影响路由发布、接收或路由选择的参数,从而改变路由发现的结果,从而最终改变路由表内容;策略路由是在数据包转发的时候发生作用,不改变路由表中的任何内容,它可以通过设置的规则影响数据报文的转发。
2.3 数据转发过程
-
接口收到一个数据包
先判断接口是否应用策略路由
———没有,根据路由表进行转发
———有,match 语句是否匹配
—————不匹配,根据路由表进行转发
—————匹配,是否permit
———————否,根据路由表进行转发
———————是,执行策略动作set -
路由管理距离AD:
直连=0
静态=1
Ebgp=20
Ospf=110
RIP=120
EIGRP=170
IBGP=200
2.4 路由控制更新方法:
- 汇总
- 被动接口:不发送更新,接收更新。单播更新=被动接口+单播指邻居。OSPF被动接口为禁止建立邻居关系
- 重分发:(环境中至少有一台路由器知道两种协议的条目:ASBR)
为了使多种路由协议协同工作。把直连或者静态路由条目重分发进RIP默认metric值为1,可在命令后加上metric值进行修改。静态路由课改,默认路由不能改。把其他协议的条目重复分发进RIP默认metric是为无穷大。因此,Ospf重分发进RIP需要带上metric值,否则无法学到路由。
重分发进OSPF,直连或者静态路由重分发进OSPF默认只重分发主类条目,要把明细条目重分发进OSPF,要加上subnets参数。重复分发进ospf的条目(外部条目OE2不累加)默认为20。
要把条目重分发进哪个协议,就在哪个协议下做重分发 - 分发列表:控制路由条目的更新(过滤路由信息,不过滤LSA),可调用访问控制列表或者前缀列表。RIP可在in和out方向调用,OSPF只能在in方向调用。
- 修改管理距离
- 偏移列表:入站和出站是可以增大路由的度量值,只能在距离矢量路由协议中使用
三、常见ACL调用的端口号:
端口号 | 关键字 | 描述 | TCP/UDP |
---|---|---|---|
20 | FTP-DATA | 文件传输协议(数据端) | TCP |
21 | FTP | 文件传输协议(控制端) | TCP |
23 | telnet | 终端连接 | TCP |
25 | snmp | 简单邮件传输协议 | TCP |
42 | nameserver | 主机名字服务器 | UDP |
53 | domain | 域名服务器(DNS) | TCP/UDP |
69 | TFTP | 普通文件传输协议(TFTP) | UDP |
80 | http | 万维网 | TCP |
思考:
- IP-Prefix List可以用来过滤IP报文吗?
IP-Prefix List可以用来过滤路由信息,但不能过滤IP报文。 - 常用调整网络流量路径的方式都包括哪些?
常用调整网络流量路径的方式包括:路由策略和策略路由方式。 - 路由引入可能会带来哪些问题?常用的解决办法包括哪些?
路由引入可能会带来次优路径、路由环路等问题,常采用路由过滤、调整协议优先级方式来解决。