ACL总结与实验探讨

来源:互联网 发布:土拨鼠装修怎么样 知乎 编辑:程序博客网 时间:2024/06/09 22:29


ACL的作用:
1、分类数据流
*2层流分类项
以太网帧承载的数据类型
源/目的MAC地址
以太网封装格式
Vlan ID
入/出端口
*3/4层流分类项
协议类型
源/目的IP地址
源/目的端口号
注:可用于debug时匹配源目IP,减少cpu的负荷
DSCP
2、过滤数据包
ACL的分类:
标准ACL:序列号0--99,针对数据包的源IP进行策略控制
扩展ACL:序列号100--199,针对数据包的五元组进行策略控制
命名ACL:所谓命名的IP访问控制列表是以列表名代替列表编号来定义IP访问控制列表
因为一般访问控制列表,我们只要删除其中一个,那么所有的都已经被删除了,所以增加了我们修改的难度,而名称列表可以达到这种任意添加修改的效果。
Router(config)#ip access-list extended ?
  <100-199>    Extended IP access-list number
  <2000-2699>  Extended IP access-list number (expanded range)
  WORD         Access-list name
通配符的使用:
ACL里的掩码也叫inverse mask(反掩码)或wildcard mask(通配符掩码),由32位长的2进制数字组成,4个八位位组.其中0代表必须精确匹配,1代表任意匹配(即不关心) 反掩码可以通过使用 255.255.255.255 减去正常的子网掩码得到,比如要决定子网掩码为255.255.255.0的IP地址172.16.1.0的反掩码: 255.255.255.255-255.255.255.0=0.0.0.255 即172.16.1.0的反掩码为0.0.0.255 注意: 反掩码为255.255.255.255的0.0.0.0代表any,即任意地址 反掩码为0.0.0.0的10.1.1.2代表主机地址10.1.1.2
汇总ACL:
存在网络:192.168.32.0/24
                   192.168.33.0/24
                   192.168.34.0/24
                   192.168.35.0/24
                   192.168.36.0/24
                   192.168.37.0/24
                   192.168.38.0/24
                   192.168.39.0/24
要过滤以上网络,如何使用一条ACL实现?
ACL的应用位置:
标准:ACL置于离目标最近原则,为了不产生副作用!
扩展:ACL置于离源最近原则,为了减少网络中不必的流量!

ACL的使用规则:
1)、匹配顺序:自上而下的
2)、一旦匹配,马上终止匹配
3)、细化的、常用的ACL写在前面
4)、缺省ACL末端有一个deny all
5)、ACL至少有一个permit 语句
6)、不同ACL使用不同的号码来区分
7)、每协议、每方向、每接口只能使用一个ACL
8)、添加ACL、删除ACL
9)、ACL只能过滤经过路由器的数据而不能过滤本身发起的数据
实验演示:
拓扑:R1----R2----R3
基本命令解析:
Router(config)#access-list 1 permit ?
  Hostname or A.B.C.D  Address to match           //指定的一台主机或一个网络                  
  any                  Any source host                      //匹配所有主机,相当0.0.0.0 255.255.255.255
  host                 A single host address              //匹配唯一一台主机

Router(config)#access-list 101 permit ?
  <0-255>  An IP protocol number                                     //根据协议号匹配操作
  ahp      Authentication Header Protocol
  eigrp    Cisco's EIGRP routing protocol
  esp      Encapsulation Security Payload
  gre      Cisco's GRE tunneling
  icmp     Internet Control Message Protocol
  igmp     Internet Gateway Message Protocol
  ip       Any Internet Protocol
  ipinip   IP in IP tunneling
  nos      KA9Q NOS compatible IP over IP tunneling
  ospf     OSPF routing protocol
  pcp      Payload Compression Protocol
  pim      Protocol Independent Multicast
  tcp      Transmission Control Protocol
  udp      User Datagram Protocol
1、使用规则验证实验
2、协议数据控制实验
常见协议的协议号回顾:
    1     ICMP        Internet Control Message           [RFC792]
    2     IGMP        Internet Group Management         [RFC1112]
    4     IP          IP in IP (encapsulation)          [RFC2003]
    6     TCP         Transmission Control               [RFC793]
    8     EGP         Exterior Gateway Protocol     [RFC888,DLM1]
    9     IGP         any private interior gateway         [IANA]
                      (used by Cisco for their IGRP)
   17     UDP         User Datagram                  [RFC768,JBP]
   41     IPv6        Ipv6                              [Deering]
   47     gre
   50     esp
   88     EIGRP       EIGRP                           [CISCO,GXS]
   89     OSPF       OSPFIGP                      [RFC1583,JTM4]        
  112     VRRP       Virtual Router Redundancy Protocol [Hinden]
  115   L2TP        Layer Two Tunneling Protocol        [Aboba]
  121     SMP       Simple Message Protocol            [Ekblad]
  124     ISIS over IPv4      [Przygienda]
  132     SCTP   Stream Control Transmission Protocol   [Stewart]
  135-254             Unassigned                           [IANA]
  255                 Reserved                             [IANA]
演示实验:
通过控制TCP或更准确控制TCP 23号端口达到控制TELNET的目的
Router(config)#access-list 101 deny tcp ?
  A.B.C.D  Source address
  any      Any source host
  host     A single source host
3、通配符的使用
设计一个ACL,实现允许192.168.1.0/24网段中IP地址为单数的主机可以访问
命令:Router(config)#access-list 1 permit 192.168.1.1 0.0.0.254
探讨内容:
1、设计ACL,实现ping出现time out(超过限定时间2s没有收到ICPM包回复)  
实现:运用扩展ACL对icmp包的类型进行控制,在源的入口deny掉echo reply包
2、设计ACL,实现ping出现unreachabel(中间路由器返回一个ICMP回应包告诉目标不可达)
实现:禁止ping或者禁止中间学习到达目的网段得路由!
3、设计一个扩展ACL,实现允许192.168.3.0网段的机器能够ping192.168.1.0网段的机器,但是 192.168.1.0网段的机器不能ping通192.168.3.0网段的机器的功能。
提示:方法一:运用扩展ACL对icmp包的类型进行控制,deny掉echo包
方法二:在中间路由器上:
Router#sho ip access-lists
Reflexive IP access list icmp
     permit icmp host 192.168.1.1 host 192.168.2.2  (121 matches) (time left 287)
//动态生成一条允许回去的语句并且有时间限制

Extended IP access list inban
    10 evaluate icmp
    20 deny ip any any (630 matches)
Extended IP access list outban
    10 permit icmp any any reflect icmp (69 matches)
    20 permit ip any any
Router(config-if)#ip access-group outban out   
Router(config-if)#ip access-group inban in   
注意:要用静态路由,因为以上ACL配置会把动态路由协议的通告信息deny掉!
4、反码练习:
ACL反掩码练习:
1.)允许192.168.1.0/24的所有的主机
2.)只允许192.168.1.1到192.168.1.15以下的主机
3.)只允许192.168.1.80-95
4.)只允许192.168.1.112-115
5.)只允许192.168.1.0/24所有的奇数主机
6.)只允许192.168.1.0/24所有的偶数主机
7.)只允许192.168.1.16到31的所有奇数:
0 0
原创粉丝点击