千家信息网

ACL访问控制列表概念及常用命令

发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,ACL访问控制列表ACL概述(1)、ACL全称访问控制列表(Access Control List)。(2)、基本原理:ACL使用包过滤技术,在路由器上读取第三层及第四层包头中的信息(如源地址、目的地
千家信息网最后更新 2025年01月23日ACL访问控制列表概念及常用命令

ACL访问控制列表

  1. ACL概述

(1)、ACL全称访问控制列表(Access Control List)。

(2)、基本原理:ACL使用包过滤技术,在路由器上读取第三层及第四层包头中的信息(如源地址、目的地址、协议口、端口号等),根据预先定义好的规则对包进行过滤,从而达到控制的目的。

(3)ACL目的:限制网络流量、提高网络性能;提供对通信流量的控制手段;提供网络访问的基本安全手段。

(4)、功能:网络中的结点分为资源结点和用户结点两大类,其中资源结点提供服务或数据,而用户结点访问资源结点所提供的服务与数据。ACL的主要功能就是一方面保护资源结点,阻止非法用户对资源结点的访问;另一方面限制特定的用户结点对资源结点的访问权限

(5)、ACL的访问顺序
a、按照各语句在访问列表的顺序,顺序查找,一旦找到了某一匹配条件,就结束匹配,不再检查后面的语句。

b、如果所有语句都没有匹配,在默认情况下,虽然看不到最后一行,但最后总是拒绝全部流量的。

常用的端口号及其功能
端口协议说明
21FTPFTP服务器所开放的控制端口
23TELNET用于远程登录,可以远程控制管理目标计算器
25SMTPSMTP服务器开放的端口,用于发送邮件
80HTTP超文本传输协议
110POP3用于邮件的接收
69TFTP简单文本传输协议
111RPC远程过程调用
123NTP网络时间协议
端口协议
443HTTPS
143IMAP
20ssh
3389远程桌面
67DHCP
68DHCP

访问控制列表(ACL)

(1)读取第三层、第四层包头信息
(2)根据预先定义好的规则对包进行过滤
(3)访问控制列表利用(源地址、目的地址、源端口、目的端口)这4个元素定义的规则。

访问控制列表在接口应用的方向

(1)出:已经过路由器的处理,正离开路由器接口的数据包
(2)入:已经达到路由器接口的数据包,将被路由器处理。

列表应用到接口的方向与数据方向有关。

访问控制列表的处理过程

标准访问控制列表

(1)基于源IP地址过滤数据包
(2)标准访问控制列表的访问控制列表号是1~99

创建ACL
Router(config)#access-list access-list-number {permint(允许数据包通过) | deny(拒绝数据包通过)} source [source-wildcard]
删除ACL
Router(config)# no access-list access-list-number
应用实例

允许192.168.1.0/24和主机192.168.2.2的流量通过

Router(config)#access-list 1 permit 192.168.1.0 0.0.0.255Router(config)#access-list 1 permit 192.168.2.2 0.0.0.0
隐含的拒绝语句
Router(config)#access-list 1 deny 0.0.0.0 255.255.255.255
关键字

host :固定地址
any :所有地址

将ACL应用于接口
Router(config)# ip access-group access-list-number {in | out}
在接口上取消ACL的应用
Router(config)# no ip access-group access-list-number {in | out }

扩展访问控制列表

(1)基于源IP地址、目标IP地址、指定协议、端口和标志来过滤数据包
(2)扩展访问控制列表的访问控制列表号是100~199

创建ACL
Router(config)#access-list access-list-number { permit | deny } protocol { source source-wildcard destination destination-wildcard } [ operator operan ]
删除ACL
Router(config)# no access-list access-list-number
将ACL应用于接口
Router(config-if)# ip access-group access-list-number { in | out }
在接口上取消ACL的应用
Router(config-if)# no ip access-group access-list-number { in | out }
应用实例
Router(config-if)# access-list 101 permit ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255Router(config-if)# access-list 101 deny ip any any
Rouer(config-if)# access-list 101 deny tcp 192.168.1.0 0.0.0.255 host 192.168.2.2 eq 21Router(config-if)# access-list 101 permit ip any any
Router(config-if)# access-list 101 deny icmp 192.168.1.0 0.0.0.255 host 192.168.2.2 echoRouter(config-if)# access-list 101 permit ip any any

命名访问控制列表

(1)命名访问控制列表允许在标准和扩展访问控制列表中使用名称代替表号

创建ACL
Router(config-if)#  ip access-list { standard(标准命名ACL) | extended(扩展命名ACL)} access-list-name
配置标准命名ACL
Router(config-std-nacl)# [ Sequence-Number ] { permit | deny } source [source-wildcard ]
配置标准命名ACL实例

只允许来自主机192.168.1.1/24的流量通过

Router(config)# ip access-list standard ciscoRouter(config-stdnacl)# permit host 192.168.1.1Router(config-stdnacl)#  deny any

更改ACL、又允许来自主机192.168.2.1/24的流量通过

Router(config)# ip access-list standard ciscoRouter(config-stdnacl)# 15 permit host 192.168.1.1   //添加序列号为15的ACL语句
配置扩展命名ACL
Router(config-ext-nacl)# [ Sequence-Number ]  { permit | deny } protocol { source source-wildcard destination destination-wildcard } [ operator operan ]
配置扩展命名ACL
Router(config)# ip access-list extandard ciscoRouter(config-ext-nacl)# deny  tcp 192.168.1.0 0.0.0.255 host 192.168.2.2 eq  21Router(config-ext-nacl)#permit ip any any
Sequence-Number 决定ACL语句在ACL列表中的位置
删除整组ACL
Router(config)# no ip access-list { standard | extended ] access-list-name
删除组中单一ACL语句

no Sequence-Number
no ACL 语句

创建ACL
Router(config)# ip access-list standard ciscoRouter(config-stdnacl)# permit host 192.168.1.1Router(config-stdnacl)#  end
删除组中单一ACL语句
Router(config-stdnacl)#  no 10或Router(config-stdnacl)#  no permit host 192.168.1.1
将ACL应用于接口
Router(config-if)# ip  access-group access-list-name {in | out}
在接口上取消ACL的应用
Router(config-if)# no ip  access-group access-list-name {in | out}
0