梅利333

从无到有,自有至精

导航

ACL

ACL 访问控制列表

 

1什么是ACL?

ACL,就是访问控制列表,通过配置ACL,设置允许或拒绝的数据

 

2有什么用?

ACL,只有两个动作,

允许  permit

拒绝   deny

单纯的可以理解为策略控制,

 

3版本有哪些?

ACL的版本,标准,<1-99>    只针对源IP进行策略限制

           扩展,<100-199>  针对源IP,目的IP ,源端口,目的端口,协议号

 

4具体怎么用?

定义允许或拒绝的数据条目,然后挂接接口

 

5有哪些特点?

ACL访问控制列表中,如果不开启的话,是默认允许所有,

                      只要是开启ACL之后,那就是默认拒绝所有。

 

如图

 

 

 R1为公司GWr3r4模拟两台主机,

现在要求

 R3 不可以pingR1,但是r4可以

那要怎么做?

r1(config)#access-list 1 deny host 192.168.1.2    ////拒绝主机192.168.1.2的数据

r1(config)#access-list 1 permit any            ///允许所有

r1(config)#deny any

r1(config)#inter f0/0

r1(config-if)#ip access-group 1 in              ////进入接口进行挂接

 

Access-list 1 permit any ?????为什么要允许所有?

因为在ACL中,有一条隐藏的条目,所以在前边配置deny之后,后面一定要加上允许所有,不然的话,加上最后这一条系统隐藏式的,就所有数据都无法通过了,

测试:看结果

此时用vpc3,ping R1  (目的不可达)

 

 

VPC4 ping R1 通 !!!!!

 

 

 

 

网络设备中的通与不通

!!!!  

.....   不通,请求超时

U.U.   网络不可达

 

U:造成目的不可达的原因:1 当前设备没有去往目的的路由

                        2 当前设备的下一跳设备上有策略限制

 

......请求超时,这个比较难一些

             1 先测试到网关是否正常,如果正常说明二层局域网环境没有问题

             2 本设备上没有出去的路由条目

             3 中间设备有问题,除下一跳设备,出现了故障,或者是有策略限制

 

总之一句话,不管多大的网络环境,只要是出现问题,就把自己变成一个数据包,进入到路由表中,在数据之间逐条查询。

 

 

 

可以看到,还是立竿见影的,

那么现在升级,

不让VPC3pingGW,但是可以telnet, 怎么办?

出现了协议,可见标准的ACL已经无法实验了,只能启用扩展的了

 

这里需要梳理一下,

不允许ping通,但是允许telnet ,可以以几种方式来呈现呢?(由于我们在摸拟器的环境中相对其它末现象比较难呈现,所以只能用telnet)

1

Deny icmp    拒绝 icmp 协议

Permit telnet  允许telnet协议

 

2 permit telnet  只允许telnet 协议,其它的由系统默认的deny any 来处理

两者比较,哪个对于后期的可扩展性更强,就用哪个,

 

个人意见,在ACL配置的时候,还是以permit允许为好一些,因为可以很直观的看到允许了哪些协议,哪些地址,哪些端口,当然,也要视情况而定,(比如我就不想让员工使用QQ,那么直接deny一个就可以了)

不过话说回来,像这种应用级别的限制,有专门的上网行为管理器,一般现在好多的防火墙都带这些功能,【ACL有它存在的特殊意思,并不仅局限于此,后面会讲到】

SO :

gw(config)#access-list 100 permit tcp host 192.168.1.2 host 192.168.1.1 eq 23

gw(config)#access-list 100 deny any

挂接接口

gw(config)#inter f0/0

gw(config-if)#ip access-group 100 in

 

这里需要注意的是,在一个接口上,只能挂接一个ACL

这里挂接了新的list 100,之前的list 1 会被自动的删除掉

 

ACL原则,只允许我放行的,其它的全部拒绝

 

在这里还要着重的讲一下如何正确的删除ACL

有两种情况 1 删除整条ACL

           2 删除单独ACL的条目

 

删除整条ACL

gw(config)#no access-list 100

这样的话,不管你这个策略下面有多少个条目,只要按下回车,就全都没有了,这里一定要注意一下,

 

那最主要的是如何删除单条,或者是因为之前写的有些不严谨,如何再进行添加呢?

想要删除条目,就要先知道条目里面都有什么

#show access-list     //查看具体都配置了哪些策略,以及详细的条目

 

gw(config)#ip access-list extended 100

                      Extended   (扩展)  gw(config-ext-nacl)#                   

standard   (标准)   gw(config-std-nacl)#

 

gw(config)#do show access-list

Extended IP access list 100

10 permit tcp host 192.168.1.2 host 192.168.1.1 eq telnet (94 matches)

可以看到这个条目前面有一个10,可以在这个配置模式下,直接no10

 

gw(config-ext-nacl)#no 10

在这里no+编号,就可以直接的删除掉其中单条的策略条目

 

gw(config-ext-nacl)#5 deny ip host 192.168.1.2 any   

添加条目,直接在前面写上编号,是在原有的前面还是后面,直接加就可以,

这里要提一下,在配置好的ACL策略条目中,每条会以10相隔,就是为了日后方便添加或者删除使用。

如现在加上这么一条

gw(config-ext-nacl)#5 deny ip host 192.168.1.2 any

那此时还可以telnet GW吗,答案是肯定的,不可以,不可以

 

因为在acl列表中,数值越小的越先执行,

所以在配置的时候也一要注意这一原则,

比如 前面都拒绝了,在后面再允许也是无用功,

这也就是为什么要先允许,后拒绝,这个习惯 的好处了

 

前于ACL的配置实例还有很多,这个得多下去进行一下练习,

想要熟练掌握扩展ACL,还要了解各协议以及各端口

 

Tcp:

FTP:21

TELNET:23

HTTP:80

HTTPS:443

远程桌面:3389

SMTP:25

POP3:110

 

UDP

DNS:53

NTP:123

假设只允许内部进行网页和邮件,那么就可以只允许80,443,53,25,110

再根据不同的需求进行扩展,其它的全部禁止。

 

 

 

------------------------------------------------------------

CCIE成长之路   --- 梅利

 

posted on 2020-07-13 17:52  梅利333  阅读(692)  评论(0编辑  收藏  举报