【CyberSecurityLearning 18】ACL及实验演示

目录

一、ACL

5.  ACL主要分为2大类:

6. 标准ACL:(在路由器上写ACL来实现流量过滤)

7.扩展ACL:

8. ACL原理

9.命名ACL:

扩展ACL实验拓扑图

标准ACL实验演示:


一、ACL

1.  Access Control List  访问控制列表(对访问资源的控制)

2.  ACL是一种过滤技术。(主要还是基于三层和四层来过滤)

3.  ACL基于IP包头的IP地址、四层TCP/UDP头部的端口号、[5层数据]

           基于三层IP地址和四层端口号进行过滤

4.  ACL在路由器上配置,也可以在防火墙上配置(一般称为策略

5.  ACL主要分为2大类:

    1)标准ACL
    2)扩展ACL(用的最多)

6. 标准ACL:(在路由器上写ACL来实现流量过滤)

    标准ACL的表号范围:1-99
    特点:只能基于源IP对包进行过滤(没有能力去检查一个包里面的目标IP,也没有能力检查你是什么协议,更没有能力去检查端口号,应用范围非常窄
    命令:
    conf  t
    access-list  表号  permit/deny   源IP或源网段  反子网掩码
    注释:反子网掩码:将正子网掩码0和1倒置
              255.0.0.0  --  0.255.255.255(11111111.0000000.00000000.00000000---00000000.11111111.11111111.11111111)
              255.255.0.0  --  0.0.255.255
              255.255.255.0  --  0.0.0.255
             反子网掩码作用:用来匹配条件,与0对应的需要严格匹配,与1对应的忽略

    例如: access-list   1   deny   10.0.0.0   0.255.255.255
               解释:该条目用来拒绝所有源IP为10开头的!

                         access-list   1   deny   10.1.1.1  0.0.0.0
               解释:该条目用来拒绝所有源IP为10.1.1.1的主机
               简写: access-list   1   deny   host  10.1.1.1

                access-list   1   deny   0.0.0.0  255.255.255.255
               解释:该条目用来拒绝所有所有人
               简写: access-list   1   deny   any


查看ACL表:
show  ip  access-list  [表ID]

将ACL应用到接口:
int  f0/x
   ip  access-group  表号  in/out
   exit

show running-conf

完整的案例:
conf t
acc 1 deny host 10.1.1.1         不允许源IP是10.1.1.1的通过
acc 1 deny 20.1.1.0 0.0.0.255 禁止源IP是20.1.1.0网段的通过
acc 1 permit any

7.扩展ACL:

表号:100-199
特点:可以基于源IP、目标IP、端口号、协议等对包进行过滤
命令:

acc 100 permit/deny  协议  源IP或源网段  反子网掩码  目标IP或源网段  反子网掩码  [eq 端口号](除了可选项,其他都要写 eq=equal)
注释:协议:tcp/udp/icmp/ip


案例:
acc 100 permit tcp host 10.1.1.1 host 20.1.1.3 eq 80(端口号80依赖的是传输层的tcp协议,当后面写端口号时前面只有udp和tcp两种选择)
acc 100 permit icmp host 10.1.1.1 20.1.1.0 0.0.0.255(当后面不加端口号的时候4个都可以选中,如果禁止源访问目标的所有服务,前面写IP)
acc 100 deny ip host 10.1.1.1 20.1.1.0 0.0.0.255
acc 100 permit ip any any

8. ACL原理

1)ACL表必须应用到接口的进或出方向才生效!进出是针对于路由器来讲的,路由器不允许通过的时候会被干掉)
     【ACL表要贴到路由器的接口上才有用,一个接口有两个方向,要指明方向才有用】方向不能写反

2)一个接口的一个方向上永远只能应用一张表
3)进还是出方向应用?取决于流量控制总方向
4)ACL表是严格自上而下检查每一条,所以要注意书写顺序
5)每一条是由条件和动作组成,当某流量没有满足某条件,则继续检查下一条
当检查完表中所有条目之后都没有满足条件,就会被干掉(在所有的访问控制列表的末端,默认有一条隐藏的拒绝所有条目的条目【条件是any,动作是拒绝】)
6)标准ACL尽量写在靠近目标的地方(应用范围非常窄)


7)wencoll小原理:
     ①做流量控制,首先要先判断ACL写的位置(那个路由器?那个接口的哪个方向?)
     ②再考虑怎么写ACL。
     ③如何写?
          首先要判断最终要允许所有还是拒绝所有
          然后写的时候要注意:将详细严格的控制写在前面
8)一般情况下,标准或扩展acl一旦编写号,无法修改某一条,也无法删除某一条,也无法修改顺序,也无法往中间插入新的条目,只能一直在最后添加新的条目
     如想修改或插入或删除,只能删除整张表,重新写!

     conf t
     no  access-list  表号

9.命名ACL:

作用:可以对标准或扩展ACL进行自定义命名
优点:自定义命名更容易辨认,也便于记忆!
          可以任意修改某一条,或删除某一条,也可以往中间插入某一条

命令:
conf t
ip  access-list  standard/extended   自定义表名
      开始从deny或permit编写ACL条目
      exit

删除某一条:
ip  access-list  standard/extended   自定义表名
      no  条目ID
      exit

插入某一条:
ip  access-list  standard/extended   自定义表名
      条目ID   动作   条件
      exit

Router(config)#ip access-list extended kz-80-oa
Router(config-ext-nacl)#permit tcp 192.168.0.0 0.0.255.255 host 10.1.1.1 eq 80
Router(config-ext-nacl)#permit tcp 172.168.0.0 0.0.255.255 host 10.1.1.1 eq 80
Router(config-ext-nacl)#deny ip 192.168.0.0 0.0.255.255 host 10.1.1.0
Router(config-ext-nacl)#exit
Router(config)#do sh ip acc
Extended IP access list kz-80-oa
    10 permit tcp 192.168.0.0 0.0.255.255 host 10.1.1.1 eq www
    20 permit tcp 172.168.0.0 0.0.255.255 host 10.1.1.1 eq www
    30 deny ip 192.168.0.0 0.0.255.255 host 10.1.1.0

Router(config)#ip access-list extended kz-80-oa
Router(config-ext-nacl)#no 20  删除
Router(config-ext-nacl)#exit
Router(config)#do sh ip acc
Extended IP access list kz-80-oa
    10 permit tcp 192.168.0.0 0.0.255.255 host 10.1.1.1 eq www
    30 deny ip 192.168.0.0 0.0.255.255 host 10.1.1.0
Router(config)#

Router(config)#ip access-list extended kz-80-oa
Router(config-ext-nacl)#15 permit tcp 172.168.0.0 0.0.255.255 host 10.1.1.1 eq 80  插入
Router(config-ext-nacl)#exit
Router(config)#do sh ip acc
Extended IP access list kz-80-oa
    10 permit tcp 192.168.0.0 0.0.255.255 host 10.1.1.1 eq www
    15 permit tcp 172.168.0.0 0.0.255.255 host 10.1.1.1 eq www
    30 deny ip 192.168.0.0 0.0.255.255 host 10.1.1.0
Router(config)#

Router(config)#ip access-list extended kz-80-hr
Router(config-ext-nacl)#1000  permit ip any any
Router(config-ext-nacl)#exit
Router(config)#do sh ip ac
Extended IP access list kz-80-oa
    10 permit tcp 192.168.0.0 0.0.255.255 host 10.1.1.1 eq www
    15 permit tcp 172.168.0.0 0.0.255.255 host 10.1.1.1 eq www
    30 deny ip 192.168.0.0 0.0.255.255 host 10.1.1.0
Extended IP access list kz-80-hr
    1000 permit ip any any
Router(config)#

扩展ACL实验拓扑图


标准ACL实验演示:

首先做到全网互通再配ACL
实验要求:(要求以下全部使用标准ACL实现!)
1、要求10网段禁止访问整个50网段,访问其他网段不受限制!
2、要求40.1.1.1PC禁止访问50网段,其他访问均不受限制
3、要求10.1.1.1禁止访问40网段,其他不受影响

实验演示:
1、给PC和路由器配IP(步骤省略)
2、配路由(R1和R3指默认路由,R2配两条静态路由)(步骤省略)
3、验证全网互通(验证完毕)
4、给路由器配置标准ACL

前两个要求在R2的f1/0接口的出方向(out方向):前两个要求最终是允许所有

R2(config)#do sh ip acce

R2(config)#acc 2 deny 10.1.1.0 0.0.0.255
R2(config)#acc 2 deny host 40.1.1.1
R2(config)#acc 2 permit any
R2(config)#int f1/0
R2(config-if)#ip access-group 2 out(最终要应用要路由器的接口)

验证:拿10.1.1.1去ping50.1.1.1——》不通

40.1.1.1PC禁止访问50网段

在一个路由器上不同的表,表号不一样
在不同路由器上就没有影响了

最后一个要求:要求10.1.1.1禁止访问40网段,其他不受影响
给R3的f0/1接口出方向配置:

R3(config)#acc 2 deny host 10.1.1.1
R3(config)#acc 2 permit any
R3(config)#int f0/1
R3(config-if)#ip access-group 2 out

验证10.1.1.1禁止访问40网段

猜你喜欢

转载自blog.csdn.net/Waffle666/article/details/113715364