CCIE之ACL



ACL------通常总的分为两大类:standardextended

Standard:只能匹配一个地址(源地址)

Extended:能匹配两个地址(源和目的),之外extended还可以匹配协议,四层端口号等

当做过acl之后,若测试时出现u,则为管理性不可达,是由于acl有问题

另外:在写acl时要按照从小到大写(覆盖面积),按金字塔结构

Standard

Access-list 1 permit/deny 1.1.1.1(后不加反掩码,则为全0匹配,host匹配)

写的过程中有两种方法,反掩码和通配符

反掩码:必须是连续的1,连续的0,如:

         00000000.00000000.11111111.11111111

通配符:不必连续,如:

         11001110.00000000.11111101.11111000

但两种方法都是0匹配,1不匹配

 

例如:想同时匹配 192.168.1.0/24  192.168.3.0/24  192.168.5.0/24

若用反掩码需要写三条,但如果用通配符,一条就可以完成

192.168.1.0-----------192.168.00000001.0

192.168.3.0-----------192.168.00000011.0

192.168.5.0-----------192.168.00000101.0

找出对应位,相同照写,不同写** ,则:192.168.00000**1.0**可以在已知ip中写任意一个,不过ios会以最小匹配),之后相同的写0,不同写1,可以得到通配符: 0.0.6.0

因此:permit 192.168.1.0 0.0.6.0

Aclany相当于全1host相当于全0

在标准acl中若金字塔反了会出错,而在extended acl中不一定出错

 

小知识:在cisco设备中允许ping 网络号和子网广播,ping之后,设备会发5个包,去测试这个网段是否存在主机

 

 

Extended

若想让一台主机去访问一个网段内的一台主机,而不能访问其网段内的其他主机,standard acl不能满足要求,此时必须使用extended acl来实现

图一:

 

 

图二:

 

 

 

在图一中,想让PC1 访问PC2,但不能访问PC3,则standard acl就不能满足

                 数据层面:数据流层下的一种调用方式----in/out接口调用(数据的流向)

注:acl的调用   

                 控制层面:路由时调用,可以在策略时使用,同时可以用在**--map等协议中

在做acl时,如图二,若想限制R1的环回到R3的数据包,则可以在R2IN/OUTR3IN都可以,但在R1OUT不行,因为R1的环回是由R1始发,在ciscoios中,不能在始发上调用acl ,只能在途经和终点调用,若确实想在始发上调用,则用:control-plane(控制层面命令,如其中的service-policy 可以限速,控制发多少等)

接口下调用,是决定包是否发,其他技术(如**-map)下调用,只做匹配(包和路由等),接口调用时,要考虑不良影响范围,则:standard acl中,离目标越近越好,但在extended acl中却是离源越近越好(因为反正不可达,就早点限制,以便减少带宽使用)

匹配路由:

  想要匹配一条路由,反掩码和通配符为320

但在下面情况,可能会分不清,如:

192.168.1.0/24   

               192.168.1.0 0.0.0.0 ,用access-list 1 permit 192.168.1.0

192.168.1.0/30   

此时就不知道是几个路由,因此想路由的同时抓掩码,则用 extended  acl

Access-list 100 permit ipip路由)192.168.1.0 0.0.0.0 255.255.255.0 0.0.0.0

 

同时抓掩码和ip的一些例子:

192.168.1.0/24------192.168.00000001.0/24

192.168.2.0/24------192.168.00000010.0/24

则:access-list 100 permit ip 192.168.1.0 0.0.3.0 255.255.255.0 0.0.0.0 

172.16.1.0/30-------172.00010000.1.0/30

172.20.1.0/30-------172.00010100.1.0/30

则:access-list 100 permit ip 172.16.1.0 0.4.0.0 255.255.255.252 0.0.0.0

10.1.1.0/27----------00001010.1.00000001.0 255.255.255.11100000

20.1.2.0/29----------00010100.1.00000010.0 255.255.255.11111000

则:access-list 100 permit ip 10.1.1.0.30.3.0 255.255.255.224 0.0.0.24

 

Standard           条目

           route

Extended          条目,掩码 

 

 

1Prefix-list:在大型列表查找和加载比acl的性能更好,命名时无限制,但不能以S SE SEQ命名,因为ios会误以为是sequence(序列号),可以动态的删除,或增加某个路由条目

Ip access-listip acl):命名时不能以特殊字符,数字开头,但可以放在中间或末尾,但注意将?放在末尾时,需要先敲ctrl+v ,松开后再敲问号

Ip acl中有一个resequence(重排序),prefix-list中没有

Ip access-list resequence nat(列表名)100(始序列号) 20(间隔) 200(尾),有的里没有尾

 

小知识:找某类地址时,只能用aclprefix-list只能找路由,并且是extended acl的优化),找地址(数据包):只能用acl 找路由:acl prefix-list都可以

例如:现要找出公司所有的A类(B类 C类)地址,有aclprefix-list ,该用那个?条目如何写?

2:基于时间的acl

   Access-list 100 permit ip XX.XX.XX.XX XX.XX.XX.XX time range XX:XX

……

3:基于动态的acl:需要配合auto-command(登录后,在权限内执行某命令)

 Autocommandline vty 0

               Login local

               Autocommand +某条命令

               Username XX privilege XX password XX

 

基于动态acl 整个命令:line vty 0

                   Atuocommand access-enable(开启动态acl功能)

                Ip access-list extended XX

                  Permit tcp host XX.XX.XX.XX HOST XX.XX.XX.XX EQ 23

                  Dynamic XS(名字)permit ip any any

注意:两个acl不能敲反,因为如果两者存在覆盖问题,或者依赖关系,则会影响后续acl的效果

动态acl就是先登到网关,在登到网关的基础上,网关设定你干什么,你就能干什么

在图一中,若pc3要登录到r2的网关才能访问pc1,则在配置access-enable时,需在后加上host,否则,pc3在访问后,pc2不做策略也可以访问pc1,但host上网,其他人可以伪装其ip上网,所以无安全性

 

extended acl中,基于命名的和编号的都可以用在time-rangedynamic中,但自反acl只能用在命名extended

4:自反acl:自己发出的数据包可以回来,其他人发出的不能回来

 

小知识:在tcp的报头中,存在established bit ,类似于自反acl,它是只有在数据包中的established位为1的数据包才能回,但他不安全,容易伪装,而且非tcp就无established 位,则也回不来

                        内网允许出去的acl

自反acl3acl组成: 外网拒绝所有的acl

                        外网自动生成的acl

 

 

 

命令:      ip access-list extended R1-R3

            Permit ip any any refect bj(开启自反acl并命名为bj)

            Int f1/0

            Ip access-group R1-R3 in(接口调用)

            Int f1/1

            Ip access-group delay-any in(外网acl

            Evalude bj   进入bj,配置条件

            Deny ip any any

注:自反acl中,若端口变了,就不能用了,所以不利于端口变化的协议中,如:ftp

 

Acl featrue:

  

 

 

 

 

 

Acl中:log(日志)的作用很大,能显示出匹配项

   Egaccess-list 1 permit any log

此时log只能显示一个(就算ping很多次,也只显示一条,防止log刷屏),过多久显示一次,不同ios不同,一般是3-5分钟,此时若想查看有多少个包,可以将acl no掉,系统会弹出log(里面有总数);写log时,若前面不是any,则只会显示匹配项的log,所以一般都写any

standardacl中,log只能定位ip,所以不精确,但extended acl 可以精确定位(ip,协议,mac,连接接口)

  Access-list 100 permit ip any host 4.4.4.4 log-input(若后写的是log,则和standard效果一样)

 

Log-update:只能基于条数,loggin inter :基于速率

所有的log都会受到logging rate-limit 的限制

No logging console:不能通过console看到log日志

Logging buffered XX:对某个log进行缓存,cisco中有(0-78个级别(通常称为几级警告),要特别关注 012告警

Logging buffered 5(记录0-5级告警),<=5的告警

Logging history

小知识:#terminal monitor(关闭会导致在console下的日志通过远程不显示)

        默认开启,关闭方法:terminal no monitor

注意:这些方法都只是初步检测网络

其中还有一些其他参数:

  Dscp/precedence都和ip首部中的tos有关  

  fragments分片(是否允许分片/未分片的包)

  Option:只能在命名acl

  Tcp中也有相关参数,也是根据tcp首部而来

 

Remark:注释

Access-list 100 remark r1-2-r2-icmp-deny

Access-list 100 deny icmp host 1.1.1.1 host 2.2.2.2

 

 

 

Ip acl;helper-address:将广播以单播发送

 

 

                             p

 

Pc1                                                        pc3

 

 

Pc2                                                       pc4

 

Pc通过dhcp获取ip,开始会发广播包,查询dhcp sever,因此sever不能放在r1后面(p点),但用两个sever造价太大,因此可以买一个性能好的,放在p点,统一用pserver下放ip,但需要开启help-address

 

Access-list dynamic-extended:把动态acl的密钥延长到6min

Access-list compiled(就是turbo acl)加快aclsystem中查询速率,超过19个开,小于不用开

Protocol type-code acl200-299):一般用于三层交换机

Egaccess-list 211 permit 0x1116进制表示)

 

Mac acl

 

          E3/0         f0/1        f0/9         e0/0     

 

            Ip acl:控制ip协议栈

使用位置          

           Mac acl:控制非ip协议栈懂得流量

 

R aclrouter):2层交换机变3层时使用

P aclport):过滤功能

V aclvlan):vlan acl

注意:r acl只能用于ip,出/入向调用皆可;p acl 能用于ipmac,只能在入向调用

 

如:                                                     

 

 

Ip acl---------deny 1  permit any 1ping 2不能通

Mac acl------deny 1  permit any1 ping2 能通(mac acl只能在交换机的接口调用)

 

交换机的mac acl1,可在接口下调用 2,除了700-7991100-1199还有基于命名的

 

2层接口挂一个3层的acl的调用,

cisco交换机上有一个feature,不管是2层还是3层交换机(最好为企业级),在其上调用acl。他都有能力抓ip包,查ip

2层交换机没有3层的转发功能,但有3层的过滤功能

交换机上一般只能做入向调用,因为一般交换机上只有一个入向buffere,不是交换机上不能做出向调用,只要在交换机上有出向buffer,就可调用

写了int vlan 1 就只能有ipr acl),因为已经变为三层口

 

实验:       12.1.1.1           12.1.1.2        13.1.1.1         13.1.1.2

 

                                 Vlan2       vlan3

 

r1 ping r2能通后,利用r aclp acl 使r1r2不能通

  方法:1,在交换机上使用p acl(物理接口上)2,在交换机的swi上用r acl

Access-list 8 deny 12.1.1.1  permit any 

     int vlan2 

     ip access-list 8 in

或者:access-list 9 deny 13.1.1.1  permit any 

      int vlan2

      Ip access-list 9 out

两种方法都可,一种控制发包,一种控制回包,但 在第二种方法调用时若用in就不行了

对于access 9 in向调用能通的原因:

   

 

           

 

 

         Vlan2                    vlan3

因为回流量不是给vlan,而是给三层引擎,不经过svi2口,进出引擎都匹配acl

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值