ACL
ACL 访问控制列表
1什么是ACL?
ACL,就是访问控制列表,通过配置ACL,设置允许或拒绝的数据
2有什么用?
ACL,只有两个动作,
允许 permit
拒绝 deny
单纯的可以理解为策略控制,
3版本有哪些?
ACL的版本,标准,<1-99> 只针对源IP进行策略限制
扩展,<100-199> 针对源IP,目的IP ,源端口,目的端口,协议号
4具体怎么用?
定义允许或拒绝的数据条目,然后挂接接口
5有哪些特点?
在ACL访问控制列表中,如果不开启的话,是默认允许所有,
只要是开启ACL之后,那就是默认拒绝所有。
如图
R1为公司GW, r3和r4模拟两台主机,
现在要求
R3 不可以ping通R1,但是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 中间设备有问题,除下一跳设备,出现了故障,或者是有策略限制
总之一句话,不管多大的网络环境,只要是出现问题,就把自己变成一个数据包,进入到路由表中,在数据之间逐条查询。
可以看到,还是立竿见影的,
那么现在升级,
不让VPC3ping通GW,但是可以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,可以在这个配置模式下,直接no掉10
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成长之路 --- 梅利