假装网络工程师13——路由选择工具ACL
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了假装网络工程师13——路由选择工具ACL相关的知识,希望对你有一定的参考价值。
一、背景介绍ACL全称access control list,作为一种路由选择工具更多的是应用于路由过滤,根据ACL编号可以分为:
- 基础访问控制列表
- 高级访问列表
-
指定2层接口组
[R1]acl number ? INTEGER<2000-2999> Basic access-list(add to current using rules) INTEGER<3000-3999> Advanced access-list(add to current using rules) INTEGER<4000-4999> Specify a L2 acl group
其中基础ACL只能指定源地址,高级ACL可以指定源、目的的IP地址,端口号与协议等五元组,不同于前缀列表,ACL可以过滤路由及数据包,而前缀列表仅能过滤路由条目。
二、实验拓扑
如上图所示,当启动ospf后(步骤略),此时在R2上能看到已成功建立全毗邻[R2]display ospf peer OSPF Process 1 with Router ID 2.2.2.2 Neighbors Area 0.0.0.0 interface 12.0.0.2(GigabitEthernet0/0/0)‘s neighbors Router ID: 1.1.1.1 Address: 12.0.0.1 State: Full Mode:Nbr is Slave Priority: 1 DR: 12.0.0.2 BDR: 12.0.0.1 MTU: 0 Dead timer due in 40 sec Retrans timer interval: 5 Neighbor is up for 00:00:47 Authentication Sequence: [ 0 ] Neighbors Area 0.0.0.0 interface 23.0.0.1(GigabitEthernet0/0/1)‘s neighbors Router ID: 3.3.3.3 Address: 23.0.0.2 State: Full Mode:Nbr is Master Priority: 1 DR: 23.0.0.2 BDR: 23.0.0.1 MTU: 0 Dead timer due in 36 sec Retrans timer interval: 5 Neighbor is up for 00:00:03 Authentication Sequence: [ 0 ]
但在R3上还能学习到通往1.1.1.0/24网段的路由
创建一个标准的ACL[R2]acl number 2000 [R2-acl-basic-2000]rule 0 deny source 1.1.1.0 0.0.0.255 [R2-acl-basic-2000]rule 5 permit
将ACL用到R2路由器ospf进程的入方向,为什么不能是R1的出方向,下文中会回答
[R2-ospf-1]filter-policy 2000 ? export Filtering outgoing routing updates import Filtering incoming routing updates
此时会发现一个奇怪的现象:R2上已经过滤掉了1.1.1.0/24网段
但在R3上还能学习到通往1.1.1.0/24网段的路由
尽管R3上有路由,但是此时R3却无法ping同R1的1.1.1.0/24网段,原因就是R3的路由表上通往1.1.1.0/24网段的下一跳指向R2的23.0.0.1/24接口,但此时R2由于ACL的关系,过滤掉了1.1.1.0/24网段的路由,所以无法ping通,尽管R2上没有1.1.1.0/24网段的路由条目,但是lsdb中却有R1的1类lsa(1.1.1.1)[R2]display ospf lsdb OSPF Process 1 with Router ID 2.2.2.2 Link State Database Area: 0.0.0.0 Type LinkState ID AdvRouter Age Len Sequence Metric Router 2.2.2.2 2.2.2.2 706 48 80000009 1 Router 1.1.1.1 1.1.1.1 757 60 8000000A 1 Router 3.3.3.3 3.3.3.3 716 36 80000004 1 Network 23.0.0.1 2.2.2.2 706 32 80000003 0 Network 12.0.0.1 1.1.1.1 760 32 80000003 0
其中就包含了1.1.1.0/24网段的信息
所以关于ACL过滤路由的本质就是:- ACL不会过滤lsa信息,且同一个area内所有路由器的lsdb一致,这就解释了为什么R3上有1.1.1.0/24网段的路由
- ACL过滤是发生在本地路由根据lsa计算的结果上,再一次印证了链路状态型协议是本地计算路由这一特性
- 至于为什么要配置在入方向(import),原因就是链路状态型协议对外发送的lsa,他并不受ACL约束,所以配置在出方向(export)并不会产生实际作用
- 但是对于rip,BGP这种宣告路由条目的距离矢量型协议,他们对外宣告的路由会受到ACL的影响
三、掩码、反掩码、通配符
本实验在配置时,宣告ospf接口用的是反掩码,宣告ACL时使用的是通配符,IP地址使用的是掩码,他们之间区别如下:
- 掩码——在掩码中,1表示精确匹配,0表示随机,1和0永远不交叉,1永远在左边,0永远在右边,在配置IP地址以及路由的时候,会使用掩码
- 反掩码——在反掩码中,1表示随机,0表示精确匹配,0和1永远不交叉,0永远在左边,1永远在右边,在ospf的配置中,通过network命令进行网段宣告时,会使用反掩码
- 通配符——在统配符中,1表示随机,0表示精确匹配,0和1的位置没有任何的固定限制,可以连续,可以交叉,在ACL中,使用的通配符
以上是关于假装网络工程师13——路由选择工具ACL的主要内容,如果未能解决你的问题,请参考以下文章