目录
路由控制方式了解到,ACL、IP-Prefix List都为路由控制中的条件工具
ACL
基本概念
ACL访问控制列表是由一条或者多条规则组成的集合;本质上是一种报文过滤器,可以用于数据流量(报文)与路由信息的过滤
在对于数据流量过滤时需要注意
ACL不会过滤设备自身产生的访问其它设备的流量,只过滤转发的流量(包括其它设备访问其它设备的、其他设备访问本设备的流量)
ACL分类
基于ACL标识方法进行划分
数字型ACL(使用唯一数字标识ACL)
命名型ACL(使用名字/名字+数字来标识ACL)
基于对IPv4和IPv6支持情况划分
ACL4:也叫做ACL,仅支持对IPv4报文进行过滤的ACL
ACL6:也叫做IPv6 ACL,仅支持对IPv6报文进行过滤的ACL
根据ACL功能划分
编号范围 ACL类型 过滤内容 2000~2999 基本ACL 仅使用报文的源IP地址、分片信息、生效时间来过滤 3000~3999 高级(扩展)ACL 使用报文的源目IP地址、IP协议类型、ICMP类型
TCP/UDP源目端口号、生效时间来过滤4000~4999 二层ACL 使用以太网帧头部信息(例如:源目MAC、二层协议类型)来过滤 5000~5999 用户自定义ACL 可根据报文偏移位置和偏移量来定义规则 6000~6999 用户ACL 使用报文的源目IP地址、源目UCL组、IP协议类型、ICMP类型
TCP/UDP源目端口号、生效时间来过滤
基本ACL的组成
ACL编号:标识ACL。可以使用数字标识,也可以使用名字+数字标识
规则编号:标识ACL规则,默认每个规则的间隔是5(即第一个规则是5,下一个为10依次递增),也可以手动指定编号。
源地址:由IP地址+通配符组成
动作: 包括允许、拒绝两种动作
匹配项:不同的ACL类型匹配项不一致。最基础的就是匹配源IP地址
ACL匹配顺序
一条ACL可以由多条deny/permit语句组成,每条语句描述一条规则,并使用唯一的规则编号
设备支持两种ACL匹配顺序:
- 配置顺序(config模式)
- 自动排序(auto模式)
配置顺序:
- 如果配置规则指定了规则编号,根据规则编号由小到大顺序匹配
- 如果没有配置规则没有指定规则编号,则由系统自动分配(由编号5开始,每条规则编号递增5)
- 一旦匹配上一条规则就停止匹配。没有匹配到规则就匹配默认规则。
没有任何匹配,则默认丢弃该数据包(默认有一条拒绝所有的ACL)
自动排序:
- 系统使用“深度优先”的原则,将规则按照精确度从高到低进行排序、匹配。
- 如果使用“深度优先”原则没有分辨出优先级,则使用配置顺序方式来匹配。
AC类型 深度优先原则 基本ACL 1、先看规则中是否带VPN实例,带VPN实例的规则优先。
2、再比较源IP地址范围,源IP地址范围小(IP地址通配符掩码中“0”位的数量多)的规则优先。
3、如果源IP地址范围相同,则规则编号小的优先(配置匹配)。高级ACL 1、先看规则中是否带VPN实例,带VPN实例的规则优先。
2、再比较协议范围,指定了IP协议承载的协议类型的规则优先。
3、如果协议范围相同,则比较源IP地址范围,源IP地址范围小(IP地址通配符掩码中“0”位的数量多)的规则优先。
4、如果协议范围、源IP地址范围相同,则比较目的IP地址范围,目的IP地址范围小(IP地址通配符掩码中“0”位的数量多)的规则优先。
5、如果协议范围、源IP地址范围、目的IP地址范围相同,则比较四层端口号(TCP/UDP端口号)范围,四层端口号范围小的规则优先。
6、如果上述范围都相同,则规则编号小的优先(配置匹配)。二层ACL 1、先比较二层协议类型通配符掩码,通配符掩码大(协议类型通配符掩码中“1”位的数量多)的规则优先。
2、如果二层协议类型通配符掩码相同,则比较源MAC地址范围,源MAC地址范围小(MAC地址通配符掩码中“1”位的数量多)的规则优先。
3、如果源MAC地址范围相同,则比较目的MAC地址范围,目的MAC地址范围小(MAC地址通配符掩码中“1”位的数量多)的规则优先。
4、如果源MAC地址范围、目的MAC地址范围相同,则规则编号小的优先(配置匹配)。用户ACL 1、先比较协议范围,指定了IP协议承载的协议类型的规则优先。
2、如果协议范围相同,则比较源IP地址范围。如果规则的源IP地址均为IP网段,则源IP地址范围小(IP地址通配符掩码中“0”位的数量多)的规则优先。
3、如果协议范围、源IP地址范围相同,则比较目的IP地址范围。如果规则的目的IP地址均为IP网段,则目的IP地址范围小(IP地址通配符掩码中“0”位的数量多)的规则优先。
4、如果协议范围、源IP地址范围、目的IP地址范围相同,则比较四层端口号(TCP/UDP端口号)范围,四层端口号范围小的规则优先。
5、如果上述范围都相同,则规则编号小的优先(配置匹配)。注意:在创建ACL是可以更改匹配顺序,通过acl [编号] math-order [auto/config] 命令进行匹配顺序更改
ACL如何匹配IP地址
ACL使用通配符来匹配IP地址,通配符0表示匹配,1表示不匹配。0和1之间可以不连续
规则中由参照地址和通配符一同来确定IP地址的范围
匹配特殊地址
0.0.0.0 255.255.255.255 匹配任意IP地址
1.1.1.1 0.0.0.0 仅匹配1.1.1.1这一个地址
不过需要注意的是
在匹配IP地址时,只能匹配IP地址的网络号,无法匹配子网掩码
即ACL可以灵活的匹配IP地址的前缀,无法匹配掩码长度。例如:
- Rule 5 permit source 1.1.1.0 0 此条规则匹配的是网络号为1.1.1.0的地址
1.1.1.0/24 1.1.1.0/25 都被匹配
1.1.1.128/25不被匹配,因为此网络号为1.1.1.128
- Rule 5 permit source 1.1.1.0 24 此条规则匹配的是网络号为1.1.1.X的地址
1.1.1.0/24 1.1.1.128/25 都被匹配
1.1.1.0/16不被匹配,因为此网络号为1.1.0.0
ACL应用方式
1.在接口应用
入方向:inbound
出方向:outbound
2.在import-route或者策略路由中引用,作为匹配条件
3.做NAT时在出接口引用
4.在Telnet中应用
5.在FTP中应用
注意:ACL默认规则为全允许
IP-Prefix List
基本概念
IP-Prefix Lis地址前缀列表,能够同时匹配IP前缀以及掩码长度,更加精确的匹配到路由,而ACL不可以
不能用于IP报文过滤,只可用于路由信息过滤
前缀列表的配置
ip ip-prefix [名字] index [序号] permit/deny [IP地址] [length(掩码)]
掩码后还有选项可添加:
greater-equal 24 掩码大于等于24
less-equal 32 掩码小于等于32
基本常见类型的例子:
- ip ip-prefix qwer index 10 permit 1.1.1.0 24
····精确匹配网络号为1.1.1.0,子网掩码为24的路由
- ip ip-prefix qwer index 10 permit 1.1.1.0 8 less-equal 24
····匹配网路号为1.x.x.x,掩码大于等于8,小于等于24的路由
- ip ip-prefix qwer index 10 permit 1.1.1.0 8 greater-equal 24
····匹配网路号为1.x.x.x,掩码大于等于24,小于等于32的路由
- ip ip-prefix qwer index 10 permit 1.1.1.0 8 greater-equal 16 less-equal 24
····匹配网路号为1.x.x.x,掩码大于等于16,小于等于24的路由
- ip ip-prefix qwer index 10 permit 0.0.0.0 0
····匹配缺省路由
- ip ip-prefix qwer index 10 permit 0.0.0.0 0 less-equal 32
····匹配所有路由
- ip ip-prefix qwer index 10 permit 0.0.0.0 1 greater-equal 8 less-equal 8
····匹配A类网段的所有路由(第一比特位为0的网络号,也就是1到127。掩码为8)
注意事项
- ip-prefix-list默认拒绝所有路由
- 子网掩码范围遵循 :length(必配)<= greater <= less
- ip-prefix-list方式无法匹配奇偶路由,ACL可以
- 前缀列表一般在import-route、路由策略、策略路由中引用,作为匹配条件