访问控制列表(ACL)
一、ACL的根本概念
- 随着网络的飞速发展,网络安全和网络服务质量QoS(Quality of Service)问题日益突出。
- 企业重要服务器资源被随意访问,企业机密信息轻易走漏,造成安全隐患。
- Internet病毒肆意侵略企业内网,内网环境的安全性堪忧。
- 网络带宽被各类业务随意挤占,服务质量要求最高的语音、视频业务的带宽得不到保障,造成用户体验差。
以上种种问题,都对正常的网络通信造成了很大的影响。因此,进步网络安全性服务质量迫在眉睫。ACL就在这种环境下应运而生了。
目的:
- 实现对网络中报文流的精确辨认和控制,达到控制网络访问举动、防止网络攻击和进步网络带宽利用率的目的
- 保障网络环境的安全性和网络服务质量的可靠性。
1.什么是ACL
- 是一种基于包过滤的访问控制技能(拆网络层IP地点),广泛应用于路由器和三层交换机中,重要基于数据包的五元组进行过滤
- 去读取三层(网络层源、目的IP)和四层(传输层源、目的端口)的流量
2.工作原理
- 数据的流量走向(确定路由器的入口或出口,发起是将ACL应用在入口,淘汰路由器路由的工作量)
- 现在入口处,就查看信息的三四层信息,看完过后答应进入,然后路由器再使用路由功能将其转发
- 工作过程
3.访问控制列表的分类(思科装备)
- 标准
- 扩展
- 基于源IP、目的IP、指定协议、端标语、标志位类过滤
- 表号:100~199
- 定名
- 没有标号,使用名字作为表号
- 直接使用 standard标识标准ACL,extended标识扩展ACL
二、(标准)ACL
- en
- conf t
- access-list ?
- <1-99> IP standard access list #标准ACL
- <100-199> IP extended access list #扩展ACL
- access-list 1 ?
- deny Specify packets to reject 拒绝
- permit Specify packets to forward 允许
- remark Access list entry comment 注意 进入列表访问注释
- access-list 1 deny ?
- A.B.C.D Address to match #IP地址
- any Any source host #所有主机
- host A single host address #单个主机
- access-list 1 deny host ?
- A.B.C.D Host address
- access-list 1 deny host 192.168.10.10 0.0.0.0 拒绝单个主机 主机IP地址 子网掩码(反码)
- #建立列表 采用标准ACL,表号1
- 或者拒绝某个网段
- access-list 1 deny host 192.168.10.0 0.0.0.255
- access-list 1 permit any #还需要加一条规则
- 因为ACL检查时,是从上到下,如果该主机不是被拒绝的主机,则刚才设置的第一个规则不符合,系统自动检查下一跳规则,下一条规则是允许,则该主机顺利进入
- exit 将ACL应用到某个接口
- int g0/0
- ip access-group 1 in 在0/0接口的进入方向启用ACL “1”是组号,与刚才access-list后面的数字相同
- #in代表此接口为入口,out代表此接口为出口
复制代码
- 这里必要注意:
- 标识单个主机:
- 用 IP地点 + 255.255.255.255(取反码)就是:IP地点 + 0.0.0.0
- 大概用 只用IP地点
- 标识一个网段:
- 用 网络地点 + 255.255.255.0(取反码)就是:IP地点 + 0.0.0.255
- 规则设置:
三、ACL的应用规则
- 在一个接口的一个方向上只能应用一个访问控制列表
- 设置在离主机近的路由器上,淘汰线蹊径路上无用的数据流量
- 尽量设置在一个ACL表中
四、(扩展)ACL

将ACL设置设置在路由器0上,可以制止路由器0到1之间出现无用的数据流量
- en
- conf t
- access-list 100 deny icmp any host 192.168.30.30
- #拒绝 协议 源 目的主机的IP ping是基于ICMP协议
- 设置第二条 (dns是基于传输层的UDP协议的)
- 拒绝 协议 源主机 IP 目的主机 IP
- access-list 100 deny udp host 192.168.10.10 host 192.168.30.30 ?
- dscp Match packets with given dscp value
- eq Match only packets on a given port number #等于
- gt Match only packets with a greater port number #大于
- lt Match only packets with a lower port number #小于
- neq Match only packets not on a given port number #不等于
- precedence Match packets with given precedence value
- range Match only packets in the range of port numbers #范围
- access-list 100 deny udp host 192.168.10.10 host 192.168.30.30 eq ? #直接等于我们设置的端口号
- 系统提示:
- <0-65535> Port number
- bootpc Bootstrap Protocol (BOOTP) client (68)
- bootps Bootstrap Protocol (BOOTP) server (67)
- domain Domain Name Service (DNS, 53) #可以看到我们需要解决的dns服务在53端口上
- isakmp Internet Security Association and Key Management Protocol (500)
- non500-isakmp Internet Security Association and Key Management Protocol
- (4500)
- snmp Simple Network Management Protocol (161)
- tftp Trivial File Transfer Protocol (69)
-
- access-list 100 deny udp host 192.168.10.10 host 192.168.30.30 eq 53
- access-list 100 deny tcp host 192.168.20.20 host 192.168.30.30 eq 80 #拒绝PC1的http服务
- access-list 100 permit ip any any #允许任何网络协议,任何源,任何目的
- int g0/2
- ip access-group 100 out #将ACL应用于路由器0的g0/2接口的出方向
复制代码 五、(定名)ACL
1.好处
- 可以在某一个表内删除或插入一条ACL,为每一条ACL定名(编号),想要删除哪一个就标注哪一个的编号,想要在哪个编号之前插入一个新的,就将这个新的ACL编号设置为一个中间值
2.设置
还是上面的那个案例
改为:pc0无法访问服务器,pc1无法访问服务器的http服务,且无法ping通
- 路由器0
- en
- conf t
- ip access-list extended woniu #设置扩展类型,命名为woniu
- 系统提示
- Router(config-std-nacl)# #可见已经进入了命名ACL:nacl
- deny ip host 192.168.10.10 host 192.168.30.30 #pc0无法访问服务器
- deny tcp host 192.168.20.20 host 192.168.30.30 eq 80 #pc1无法访问服务器的http服务
- deny icmp host 192.168.20.20 host 192.168.30.30 #pc1无法ping通服务器
- exit
- int g0/2
- ip access-list woniu out #注意这里写的是ACL的命名:woniu
- end
- show ip access-list
- Extended IP access list woniu #可以看到ACL中的条目
- 10 deny ip host 192.168.10.10 host 192.168.30.30
- 20 deny tcp host 192.168.20.20 host 192.168.30.30 eq www
- 30 deny icmp host 192.168.20.20 host 192.168.30.30
- 40 permit ip any any
复制代码 1.删除某一条
- en
- conf t
- ip access-list extended woniu #进入该命名列表
- no 10 #删除编号为10的条目
复制代码 2.插入某一条
- en
- conf t
- ip access-list extended woniu
- 1 deny icmp host 192.168.10.10 host 192.168.30.30 #序号设置为1 增加了一条拒绝pc0 ping通服务器的规则
- end
- show access-lists
- 系统提示
- Extended IP access list woniu
- 1 deny icmp host 192.168.10.10 host 192.168.30.30 #可见增加到了第一条
- 20 deny tcp host 192.168.20.20 host 192.168.30.30 eq www (16 match(es))
- 30 deny icmp host 192.168.20.20 host 192.168.30.30 (4 match(es))
- 40 permit ip any any (23 match(es))
复制代码 六、删除ACL
- 在删除ACL之前起首在对应接口上取消应用
- en
- conf t
- int g0/2
- no ip access-group 100 out #取消应用
复制代码 - 在标准和扩展的ACL中如果执行删除下令,整个ACL表会被删除
- no access-list 100 deny udp host 192.168.10.10 host 192.168.30.30 eq 53
- 看语句上删的是这一条规则,实际上整个ACL都被删除了
复制代码 七、华为装备设置ACL
display acl all ——查看交换机的全部ACL设置列表
1.设置实例
- [HuaWei-SWitch] acl ?
- INTEGER<2000-2999> Basic access-list —— 基本访问列表
- INTEGER<3000-3999> Advanced access-list —— 高级访问列表
- INTEGER<4000-4999> L2 access-list —— 二层访问列表
- INTEGER<5000-5999> User defined access-list —— 用户定议访问列表
- INTEGER<6000-9999> UCL group access-list —— UCL组访问列表
- [HuaWei-SWitch]acl 2000 —— 进入基本访问列表
- [HuaWei-SWitch-acl-basic-2000] rule 5 deny source 192.168.1.0 0.0.0.255 —— 定义行号为 5 的规则,拒绝来源IP为 192.168.1.0至192.168.1.255地址访问
- [HuaWei-SWitch] interface GigabitEthernet 1/0/1 ——进入需要设置ACL规则的端口
- [HuaWei-SWitch-GigabitEthernet1/0/1]traffic-filter inbound acl 2000 ——设置在此端口的进方向遵循ACL 2000列表规则。
- #限制端口
- [Huawei]acl 3000
- [Huawei-acl-adv-3000]rule 10 deny tcp destination-port eq 445
复制代码 2.不同ACL编号的区别
- 基本ACL --范围为2000~2999 #可使用IPv4报文的源IP地址、分片标记和时间段信息来定义规则
-
- 高级ACL --范围为3000~3999 #既可使用IPv4报文的源IP地址,也可使用目的地址、IP优先级、ToS、DSCP、IP协议类型、ICMP类型、TCP源端口/目的端口、UDP源端口/目的端口号等来定义规则
-
- 二层ACL --范围为4000~4999 #可根据报文的以太网帧头信息来定义规则,如根据源MAC(Media Access Control)地址、目的MAC地址、以太帧协议类型等
-
- 自定义ACL --范围为5000~5999 #可根据偏移位置和偏移量从报文中提取出一段内容进行匹配
复制代码 3.rule ID的注意事项
当设置多条acl时,必要注意ruleID不要是连续的数值,由于装备在匹配acl条目时,是根据ruleID的从小到大的顺序进行匹配的,为了方便后续可以插入一些新的规则,发起ruleID一般设置为5,10,15,20
4.设置高级访问控制列表
- 设置ACL,使得路由器R4(4.4.4.4)的telnet功能,只能由(1.1.1.1)进行访问
- [R4-ui-vty0-4]acl 3000
- [R4-acl-adv-3000]rule permit ip source 1.1.1.1 0 destination 4.4.4.4 0
- [R4]user-interface vty 0 4
- [R4-ui-vty0-4]acl 3000 inbound #在VTY界面应用该规则
复制代码 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |