标准ACL、扩展ACL和命名ACL的配置详解

2024-08-22 19:38

本文主要是介绍标准ACL、扩展ACL和命名ACL的配置详解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

访问控制列表(ACL)是应用在路由器接口的指令列表(即规则)。这些指令列表用来告诉路由器,那些数据包可以接受,那些数据包需要拒绝。


访问控制列表(ACL)的工作原理

ACL使用包过滤技术,在路由器上读取OSI七层模型的第3层和第4层包头中的信息。如源地址,目标地址,源端口,目标端口等,根据预先定义好的规则,对包进行过滤,从而达到访问控制的目的。

ACl是一组规则的集合,它应用在路由器的某个接口上。对路由器接口而言,访问控制列表有两个方向。

出:已经过路由器的处理,正离开路由器的数据包。

入:已到达路由器接口的数据包。将被路由器处理。

如果对路由器的某接口应用了ACL,那么路由器对数据包应用该组规则进行顺序匹配,使用匹配即停止的,不匹配则使用默认规则的方式来过滤数据包。如下图:

访问控制列表的类型

标准访问控制列表:根据数据包的源IP地址来允许或拒绝数据包,标准访问控制列表的访问控制列表号是1-99。

扩展访问控制列表:根据数据包的源IP地址,目的IP地址,指定协议,端口和标志,来允许或拒绝数据包。扩展访问控制列表的访问控制列表号是100-199


配置标准控制列表

创建标准ACL的语法如下:

Router(config)#access-list access-list-number {permit|deny} source [souce-wildcard]

下面是命令参数的详细说明

access-list-number:访问控制列表号,标准ACL取值是1-99。

permit|deny:如果满足规则,则允许/拒绝通过。

source:数据包的源地址,可以是主机地址,也可以是网络地址。

source-wildcard:通配符掩码,也叫做反码,即子网掩码去反值。如:正常子网掩码255.255.255.0取反则是0.0.0.255。

删除已建立的标准ACL语法如下:

Router(config)#no access-list access-list-number

列如:创建一个ACL允许192.168.1.0网段的所有主机。

Router(config)#access-list 1 permit 192.168.1.0 0.0.0.255

列如:创建一个ACL允许某个主机。

Router(config)#access-list 1 permit host 10.0.0.1

列如:创建一个默认ACL拒绝所有主机访问。

Router(config)#access-list 1 deny any

注意:上述中的关键字host可以指定一个主机地址,而不用写子网反码,而any可以代表所有主机。


配置扩展访问控制列表

创建扩展的ACL语法如下:

Router(config)#access-list access-list-number {permit|deny} protocol {source souce-wildcard destination destination-wildcard} [operator operan]

下面是命令参数的详细说明

access-list-number:访问控制列表号,扩展ACL取值是100-199。

permit|deny:如果满足规则,则允许/拒绝通过。

protocol:用来指定协议的类型,如IP,TCP,UDP,ICMP等。

source、destination:源和目的,分别用来标示源地址和目的地址。

souce-wildcard、destination-wildcard:子网反码,souce-wildcard是源反码,destination-wildcard是目标反码。

operator operan:lt(小于)、gt(大于)、eq(等于)、neq(不等于)一个端口号。

删除已建立的扩展ACL语法如下:

Router(config)#no access-list access-list-number

列如:允许192.168.1.0/24访问192.168.2.0/24,而拒绝其他所有主机访问。

Router(config)#access-list 101 permit ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255

Router(config)#access-list 101 deny ip any any

列如:拒绝网络192.168.1.0/24访问FTP服务器192.168.2.100/24,而允许其他主机访问。

Router(config)#access-list 102 deny tcp 192.168.1.0 0.0.0.255 host 192.168.2.100 eq 21

Router(config)#access-list 102 permit ip any any

列如:禁止网络192.168.1.0/24中的主机ping同服务器192.168.2.200/24,而允许其它主机访问。

Router(config)#access-list 103 deny icmp 192.168.1.0 0.0.0.255 host 192.168.1.200 echo

Router(config)#access-list 103 permit ip any any


将创建好的ACL应用与路由器的接口上

不管是标准ACL还是扩展ACL只有将创建好的ACL应用与路由器的接口上才算是有效的。语法如下:

Router(config-if)#ip access-group access-list-number {in|out}

参数解释如下:

access-list-number:创建ACL时指定的访问控制列表号

in:应用到入站接口。

out:应用出站接口。

取消接口上的ACL应用可以使用如下命令:

Router(config-if)#no ip access-group access-list-number {in|out}

可以使用show access-lists命令查看ACL配置。

注意:不管是标准ACL或者是扩展ACL,只要应用了该规则就不可以在向里面添加新的规则了,只能是删除整个ACL。这样很不方便我们管理ACL,那么我们改这么办呢?下面我们来讲解命名访问控制列表。


配置命名访问控制列表

所谓的命名控制列表就是给控制列表取个名字,而不是想上面所述的使用访问控制列表号。我们通过命令访问控制列表可以很方便的管理ACL规则,可以随便添加和删除规则,而无需删除整个访问控制列表了。

创建命名访问控制列表的语法如下:

Router(config)#ip access-list {standard|extended} access-list-name

下面是命令参数的详细说明

standard:创建标准的命名访问控制列表。

extended:创建扩展的命名访问控制列表。

access-list-name:命名控制列表的名字,可以是任意字母和数字的组合。

标准命名ACL语法如下:

Router(config-std-nacl)#[Sequence-Number] {permit|deny} source [souce-wildcard]

扩展命名ACL语法如下:

Router(config-ext-nacl)#[Sequence-Number] {permit|deny} protocol {source souce-wildcard destination destination-wildcard} [operator operan]

无论是配置标准命名ACL语句还是配置扩展命名ACL语句,都有一个可选参数Sequence-Number。Sequence-Number参数表明了配置的ACL语句在命令ACL中所处的位置,默认情况下,第一条为10,第二条为20,以此类推。Sequence-Number可以很方便地将新添加的ACL语句插于到原有的ACL列表的指定位置,如果不选择Sequence-Number,默认添加到ACL列表末尾并且序列号加10。

删去以创建的命名ACL语法如下:

Router(config)#no ip access-list {standard|extended} access-list-name

对于命名ACL来说,可以删除单条ACL语句,而不比删除整个ACL。并且ACL语句可以有选择的插入到列表中的某个位置,使得ACL配置更加方便灵活。

如果要删除某一ACL语句,可以使用“no Sequence-Number”或“no ACL”语句两种方式。

列如:将一条新添加的ACL加入到原有标准命名ACL的序列15的位置。内容为允许主机192.168.1.1/24访问Internet。

Router(config)#ip access-list standard test1

Router(config-std-nacl)#15 permit host 192.168.1.1

列如:创建扩展命名ACL,内容为拒绝192.168.1.0/24访问FTP服务器192.168.2.200/24,允许其他主机。

Router(config)#ip access-list extended test2

Router(config-ext-nacl)#deny tcp 192.168.1.0 0.0.0.255 host 192.168.2.200 eq 21

Router(config-ext-nacl)#permit ip any any

将命名ACL应用于接口语法如下:

Router(config-if)#ip access-group aaccess-list-name {in|out}

取消命名ACL的应用语法如下:

Router(config-if)#no ip access-group aaccess-list-name {in|out}





本文出自 “邓奇的Blog” 博客,请务必保留此出处http://dengqi.blog.51cto.com/5685776/1257157

这篇关于标准ACL、扩展ACL和命名ACL的配置详解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/1097205

相关文章

git stash命令基本用法详解

《gitstash命令基本用法详解》gitstash是Git中一个非常有用的命令,它可以临时保存当前工作区的修改,让你可以切换到其他分支或者处理其他任务,而不需要提交这些还未完成的修改,这篇文章主要... 目录一、基本用法1. 保存当前修改(包括暂存区和工作区的内容)2. 查看保存了哪些 stash3. 恢

java String.join()方法实例详解

《javaString.join()方法实例详解》String.join()是Java提供的一个实用方法,用于将多个字符串按照指定的分隔符连接成一个字符串,这一方法是Java8中引入的,极大地简化了... 目录bVARxMJava String.join() 方法详解1. 方法定义2. 基本用法2.1 拼接

Java中的record使用详解

《Java中的record使用详解》record是Java14引入的一种新语法(在Java16中成为正式功能),用于定义不可变的数据类,这篇文章给大家介绍Java中的record相关知识,感兴趣的朋友... 目录1. 什么是 record?2. 基本语法3. record 的核心特性4. 使用场景5. 自定

如何搭建并配置HTTPD文件服务及访问权限控制

《如何搭建并配置HTTPD文件服务及访问权限控制》:本文主要介绍如何搭建并配置HTTPD文件服务及访问权限控制的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、安装HTTPD服务二、HTTPD服务目录结构三、配置修改四、服务启动五、基于用户访问权限控制六、

MyBatis编写嵌套子查询的动态SQL实践详解

《MyBatis编写嵌套子查询的动态SQL实践详解》在Java生态中,MyBatis作为一款优秀的ORM框架,广泛应用于数据库操作,本文将深入探讨如何在MyBatis中编写嵌套子查询的动态SQL,并结... 目录一、Myhttp://www.chinasem.cnBATis动态SQL的核心优势1. 灵活性与可

Python struct.unpack() 用法及常见错误详解

《Pythonstruct.unpack()用法及常见错误详解》struct.unpack()是Python中用于将二进制数据(字节序列)解析为Python数据类型的函数,通常与struct.pa... 目录一、函数语法二、格式字符串详解三、使用示例示例 1:解析整数和浮点数示例 2:解析字符串示例 3:解

C/C++ chrono简单使用场景示例详解

《C/C++chrono简单使用场景示例详解》:本文主要介绍C/C++chrono简单使用场景示例详解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友... 目录chrono使用场景举例1 输出格式化字符串chrono使用场景China编程举例1 输出格式化字符串示

MySQL 表的内外连接案例详解

《MySQL表的内外连接案例详解》本文给大家介绍MySQL表的内外连接,结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录表的内外连接(重点)内连接外连接表的内外连接(重点)内连接内连接实际上就是利用where子句对两种表形成的笛卡儿积进行筛选,我

CentOS 7 YUM源配置错误的解决方法

《CentOS7YUM源配置错误的解决方法》在使用虚拟机安装CentOS7系统时,我们可能会遇到YUM源配置错误的问题,导致无法正常下载软件包,为了解决这个问题,我们可以替换YUM源... 目录一、备份原有的 YUM 源配置文件二、选择并配置新的 YUM 源三、清理旧的缓存并重建新的缓存四、验证 YUM 源

Windows 系统下 Nginx 的配置步骤详解

《Windows系统下Nginx的配置步骤详解》Nginx是一款功能强大的软件,在互联网领域有广泛应用,简单来说,它就像一个聪明的交通指挥员,能让网站运行得更高效、更稳定,:本文主要介绍W... 目录一、为什么要用 Nginx二、Windows 系统下 Nginx 的配置步骤1. 下载 Nginx2. 解压