一、靠山先容

ACL全称access control list,作为一种路由选择工具更多的是应用于路由过滤,凭据ACL编号可以分为:

  1. 基础接见控制列表
  2. 高级接见列表
  3. 指定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上也能学习到R1环回口路由

    
    [R3]display ip routing-table protocol ospf 
    Route Flags: R - relay, D - download to fib

Public routing table : OSPF
Destinations : 3 Routes : 3

OSPF routing table status : <Active>
Destinations : 3 Routes : 3

Destination/Mask Proto Pre Cost Flags NextHop Interface

    1.1.1.0/24  OSPF    10   2           D   23.0.0.1        GigabitEthernet

0/0/1
11.11.11.0/24 OSPF 10 2 D 23.0.0.1 GigabitEthernet
0/0/1
12.0.0.0/24 OSPF 10 2 D 23.0.0.1 GigabitEthernet
0/0/1

OSPF routing table status : <Inactive>
Destinations : 0 Routes : 0

建立一个尺度的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网段

[R2]dis ip routing-table protocol ospf
Route Flags: R - relay, D - download to fib

Public routing table : OSPF
Destinations : 1 Routes : 1

OSPF routing table status : <Active>
Destinations : 1 Routes : 1

Destination/Mask Proto Pre Cost Flags NextHop Interface

 11.11.11.0/24  OSPF    10   1           D   12.0.0.1        GigabitEthernet

0/0/0

OSPF routing table status : <Inactive>
Destinations : 0 Routes : 0

但在R3上还能学习到通往1.1.1.0/24网段的路由  

<R3>display ip routing-table protocol ospf
Route Flags: R - relay, D - download to fib

Public routing table : OSPF
Destinations : 3 Routes : 3

OSPF routing table status : <Active>
Destinations : 3 Routes : 3

Destination/Mask Proto Pre Cost Flags NextHop Interface

    1.1.1.0/24  OSPF    10   2           D   23.0.0.1        GigabitEthernet

0/0/1
11.11.11.0/24 OSPF 10 2 D 23.0.0.1 GigabitEthernet
0/0/1
12.0.0.0/24 OSPF 10 2 D 23.0.0.1 GigabitEthernet
0/0/1

OSPF routing table status : <Inactive>
Destinations : 0 Routes : 0

只管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网段的信息  

[R2]display ospf lsdb router 1.1.1.1

 OSPF Process 1 with Router ID 2.2.2.2
             Area: 0.0.0.0
     Link State Database 

Type : Router
Ls id : 1.1.1.1
Adv rtr : 1.1.1.1
Ls age : 899
Len : 60
Options : E
seq# : 8000000a
chksum : 0xc320
Link count: 3

  • Link ID: 12.0.0.1
    Data : 12.0.0.1
    Link Type: TransNet
    Metric : 1
  • Link ID: 1.1.1.0
    Data : 255.255.255.0
    Link Type: StubNet
    Metric : 0
    Priority : Low
  • Link ID: 11.11.11.0
    Data : 255.255.255.0
    Link Type: StubNet
    Metric : 0
    Priority : Low
    
    以是关于ACL过滤路由的本质就是:
    1. ACL不会过滤lsa信息,且同一个area内所有路由器的lsdb一致,这就注释了为什么R3上有1.1.1.0/24网段的路由  
    2. ACL过滤是发生在内陆路由凭据lsa盘算的效果上,再一次印证了链路状态型协议是内陆盘算路由这一特征  
    3. 至于为什么要设置在入偏向(import),缘故原由就是链路状态型协议对外发送的lsa,他并不受ACL约束,以是设置在出偏向(export)并不会发生现实作用  
    4. 然则对于rip,BGP这种宣告路由条目的距离矢量型协议,他们对外宣告的路由会受到ACL的影响  

三、掩码、反掩码、通配符

本实验在设置时,宣告ospf接口用的是反掩码,宣告ACL时使用的是通配符,IP地址使用的是掩码,他们之间区别如下:

  1. 掩码——在掩码中,1示意正确匹配,0示意随机,1和0永远不交织,1永远在左边,0永远在右边,在设置IP地址以及路由的时刻,会使用掩码
  2. 反掩码——在反掩码中,1示意随机,0示意正确匹配,0和1永远不交织,0永远在左边,1永远在右边,在ospf的设置中,通过network下令举行网段宣告时,会使用反掩码
  3. 通配符——在统配符中,1示意随机,0示意正确匹配,0和1的位置没有任何的牢固限制,可以延续,可以交织,在ACL中,使用的通配符