热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

CiscoIOS访问列表的应用

CiscoIOS软件可用于各种Cisco路由器,它提供了QoS、VPN、安全和管理等许多功能,受到广大网络管理人员的欢迎。特别是通过路由器把局域网接入Internet的中小企业,CiscoIOS为他们带来了许多方便。在CiscoIOS中,访问列表(AccessList)是其中一项重要

Cisco IOS软件可用于各种Cisco路由器,它提供了QoS、VPN、安全和管理等许多功能,受到广大网络管理人员的欢迎。特别是通过路由器把局域网接入Internet的中小企业, Cisco IOS为他们带来了许多方便。在Cisco IOS中, 访问 列表 (Access List)是其中一项重要

Cisco IOS软件可用于各种Cisco路由器,它提供了QoS、VPN、安全和管理等许多功能,受到广大网络管理人员的欢迎。特别是通过路由器把局域网接入Internet的中小企业, Cisco IOS为他们带来了许多方便。在Cisco IOS中,访问列表(Access List)是其中一项重要功能。访问列表是一些语句的有序的集合,它根据网络中每个数据包所包含信息的内容,决定是否允许该信息包通过接口,访问列表中的参数也用于对数据包的信息内容做指定的处理。

访问列表的作用

---- 对于一个数据包来说,在访问列表对其进行处理时,访问列表中的语句按照由上而下的顺序依次对数据包进行处理,直到出现匹配的情况,决定是否让访问列表通过。这样,访问列表中语句的顺序是非常重要的。这点在本文的后面还要加以说明。

---- 就访问列表本身来说,它只是放在路由器内部的存储器中的一串语句。创建访问列表是针对某个路由器接口的,访问列表中的语句将对通过接口的数据包产生作用。它可以允许或阻止满足一定条件的数据包通过接口。在访问列表中,接口也可以是具体的线路和设备。接口一般以数字编号。

---- 在访问列表的运用方面,有一个重要的问题,就是接口的方向问题。访问列表即可以用于入口(inbound),也可以用于出口(outbound)。图1表示了一台具有1个串口和2个以太网端口的路由器,在每个端口,指向路由器外的箭头表示出口,而指向路由器内的箭头表示入口。图中分别用S0、E0和E1表示串口0、以太网端口0和以太网端口1的接口。根据前述的内容,可以得出访问列表的规则1和规则2。



标准型IP访问列表

---- Cisco的路由器支持2种类型的访问列表,即标准型访问列表和扩展型访问列表。和其他网络厂商一样,Cisco的路由器产品支持多种网络协议。由于在网络中,尤其是局域网,主要是应用IP协议,所以本文只涉及IP协议的情况。

---- 标准IP访问列表的功能有限,因为这种列表只能根据数据包的源地址进行过滤。如果需要根据协议、目标地址及传输层上的应用进行过滤,或根据上述项目的组合进行过滤,那么就必须使用扩展型访问列表。基于这种分类方式,可以总结出访问列表的规则3和规则4。

---- (1)标准型IP访问列表的格式

---- 标准型IP访问列表的格式如下:

---- access-list[list number][permit|deny][source address]

---- [address][wildcard mask][log]

---- 下面解释一下标准型IP访问列表的关键字和参数。首先,在access和list这2个关键字之间必须有一个连字符"-";其次,list number的范围在0~99之间,这表明该access-list语句是一个普通的标准型IP访问列表语句。因为对于Cisco IOS,在0~99之间的数字指示出该访问列表和IP协议有关,所以list number参数具有双重功能: (1)定义访问列表的操作协议; (2)通知IOS在处理access-list语句时,把相同的list number参数作为同一实体对待。正如本文在后面所讨论的,扩展型IP访问列表也是通过list number(范围是100~199之间的数字)而表现其特点的。因此,当运用访问列表时,还需要补充如下重要的规则: 在需要创建访问列表的时候,需要选择适当的list number参数。

---- (2)允许/拒绝数据包通过

---- 在标准型IP访问列表中,使用permit语句可以使得和访问列表项目匹配的数据包通过接口,而deny语句可以在接口过滤掉和访问列表项目匹配的数据包。source address代表主机的IP地址,利用不同掩码的组合可以指定主机。

---- 为了更好地了解IP地址和通配符掩码的作用,这里举一个例子。假设您的公司有一个分支机构,其IP地址为C类的192.46.28.0。在您的公司,每个分支机构都需要通过总部的路由器访问Internet。要实现这点,您就可以使用一个通配符掩码 0.0.0.255。因为C类IP地址的最后一组数字代表主机,把它们都置1即允许总部访问网络上的每一台主机。因此,您的标准型IP访问列表中的access-list语句如下:

---- access-list 1 permit 192.46.28.0 0.0.0.255

---- 注意,通配符掩码是子网掩码的补充。因此,如果您是网络高手,您可以先确定子网掩码,然后把它转换成可应用的通配符掩码。这里,又可以补充一条访问列表的规则5。

---- (3)指定地址

---- 如果您想要指定一个特定的主机,可以增加一个通配符掩码0.0.0.0。例如,为了让来自IP地址为192.46.27.7的数据包通过,可以使用下列语句:

---- Access-list 1 permit 192.46.27.7 0.0.0.0

---- 在Cisco的访问列表中,用户除了使用上述的通配符掩码0.0.0.0来指定特定的主机外,还可以使用"host"这一关键字。例如,为了让来自IP地址为192.46.27.7的数据包通过,您可以使用下列语句:

---- Access-list 1 permit host 192.46.27.7

---- 除了可以利用关键字"host"来代表通配符掩码0.0.0.0外,关键字"any"可以作为源地址的缩写,并代表通配符掩码0.0.0.0 255.255.255.255。例如,如果希望拒绝来自IP地址为192.46.27.8的站点的数据包,可以在访问列表中增加以下语句:

---- Access-list 1 deny host 192.46.27.8

---- Access-list 1 permit any

---- 注意上述2条访问列表语句的次序。第1条语句把来自源地址为192.46.27.8的数据包过滤掉,第2条语句则允许来自任何源地址的数据包通过访问列表作用的接口。如果改变上述语句的次序,那么访问列表将不能够阻止来自源地址为192.46.27.8的数据包通过接口。因为访问列表是按从上到下的次序执行语句的。这样,如果第1条语句是:

---- Access-list 1 permit any

---- 的话,那么来自任何源地址的数据包都会通过接口。我们由此可以得到规则6。

---- (4)拒绝的奥秘

---- 在默认情况下,除非明确规定允许通过,访问列表总是阻止或拒绝一切数据包的通过,即实际上在每个访问列表的最后,都隐含有一条"deny any"的语句。假设我们使用了前面创建的标准IP访问列表,从路由器的角度来看,这条语句的实际内容如下:

---- access-list 1 deny host 192.46.27.8

---- access-list 1 permit any

---- access-list 1 deny any

---- 在上述例子里面,由于访问列表中第2条语句明确允许任何数据包都通过,所以隐含的拒绝语句不起作用,但实际情况并不总是如此。例如,如果希望来自源地址为192.46.27.8和192.46.27.12的数据包通过路由器的接口,同时阻止其他一切数据包通过,则访问列表的代码如下:

---- access-list 1 permit host 192.46.27.8

---- access-list 1 permit host 192.46.27.12

---- 注意,因为所有的访问列表会自动在最后包括该语句,于是有了规则7。

---- 顺便讨论一下标准型IP访问列表的参数"log",它起日志的作用。一旦访问列表作用于某个接口,那么包括关键字"log"的语句将记录那些满足访问列表中"permit"和"deny"条件的数据包。第一个通过接口并且和访问列表语句匹配的数据包将立即产生一个日志信息。后续的数据包根据记录日志的方式,或者在控制台上显示日志,或者在内存中记录日志。通过Cisco IOS的控制台命令可以选择记录日志方式。

扩展型IP访问列表

---- 扩展型IP访问列表在数据包的过滤方面增加了不少功能和灵活性。除了可以基于源地址和目标地址过滤外,还可以根据协议、源端口和目的端口过滤,甚至可以利用各种选项过滤。这些选项能够对数据包中某些域的信息进行读取和比较。扩展型IP访问列表的通用格式如下:

---- access-list[list number][permit|deny]

---- [protocol|protocol key word]

---- [source address source-wildcard mask][source port]

---- [destination address destination-wildcard mask]

---- [destination port][log options]

---- 和标准型IP访问列表类似,"list number"标志了访问列表的类型。数字100~199用于确定100个惟一的扩展型IP访问列表。"protocol"确定需要过滤的协议,其中包括IP、TCP、UDP和ICMP等等。

---- 如果我们回顾一下数据包是如何形成的,我们就会了解为什么协议会影响数据包的过滤,尽管有时这样会产生副作用。图2表示了数据包的形成。请注意,应用数据通常有一个在传输层增加的前缀,它可以是TCP协议或UDP协议的头部,这样就增加了一个指示应用的端口标志。当数据流入协议栈之后,网络层再加上一个包含地址信息的IP协议的头部。



---- 由于IP头部传送TCP、UDP、路由协议和ICMP协议,所以在访问列表的语句中,IP协议的级别比其他协议更为重要。但是,在有些应用中,您可能需要改变这种情况,您需要基于某个非IP协议进行过滤。因此,需要增加规则8。

---- 为了更好地说明这个规则,下面列举2个扩展型IP访问列表的语句来说明。假设我们希望阻止TCP协议的流量访问IP地址为192.78.46.8的服务器,同时允许其他协议的流量访问该服务器。那么以下访问列表语句能满足这一要求吗?

---- access-list 101 permit host 192.78.46.8

---- access-list 101 deny host 192.78.46.12

---- 回答是否定的。第一条语句允许所有的IP流量、同时包括TCP流量通过指定的主机地址。这样,第二条语句将不起任何作用。可是,如果改变上面2条语句的次序
推荐阅读
  • 小王详解:内部网络中最易理解的NAT原理剖析,挑战你的认知极限
    小王详解:内部网络中最易理解的NAT原理剖析,挑战你的认知极限 ... [详细]
  • 本文整理了一份基础的嵌入式Linux工程师笔试题,涵盖填空题、编程题和简答题,旨在帮助考生更好地准备考试。 ... [详细]
  • 本文将探讨UDP(User Datagram Protocol)协议的特点及其适用场景,与常见的TCP协议进行对比,帮助读者更好地理解和选择合适的传输协议。 ... [详细]
  • REST与RPC:选择哪种API架构风格?
    在探讨REST与RPC这两种API架构风格的选择时,本文首先介绍了RPC(远程过程调用)的概念。RPC允许客户端通过网络调用远程服务器上的函数或方法,从而实现分布式系统的功能调用。相比之下,REST(Representational State Transfer)则基于资源的交互模型,通过HTTP协议进行数据传输和操作。本文将详细分析两种架构风格的特点、适用场景及其优缺点,帮助开发者根据具体需求做出合适的选择。 ... [详细]
  • 在JavaWeb项目架构中,NFS(网络文件系统)的实现与优化是关键环节。NFS允许不同主机系统通过局域网共享文件和目录,提高资源利用率和数据访问效率。本文详细探讨了NFS在JavaWeb项目中的应用,包括配置、性能优化及常见问题的解决方案,旨在为开发者提供实用的技术参考。 ... [详细]
  • TCP三次握手过程详解与图示解析
    本文详细解析了TCP三次握手的过程,并通过图示清晰展示了各个状态的变化。同时,文章还介绍了四次挥手的图解,解释了在TIME_WAIT状态中,客户端最后一次发送的ACK包的作用和重要性。 ... [详细]
  • 深入理解Linux网络编程:UDP协议实战解析
    深入理解Linux网络编程:UDP协议实战解析 ... [详细]
  • 本文探讨了文件传输过程中的优化与安全策略。具体而言,研究了如何将客户端的文件高效上传至服务器。通过使用结构体对象,可以封装文件的相关信息,如位置和大小,并利用缓冲区存储实际数据,从而实现高效的数据传输。此外,文章还讨论了在传输过程中确保数据完整性和安全性的多种方法,包括加密技术和身份验证机制。 ... [详细]
  • Java EE 平台集成了多种服务、API 和协议,旨在支持基于 Web 的多层应用程序开发。本文将详细介绍 Java EE 中的 13 种关键技术规范,帮助开发者更好地理解和应用这些技术。 ... [详细]
  • 阿里云 Aliplayer高级功能介绍(八):安全播放
    如何保障视频内容的安全,不被盗链、非法下载和传播,阿里云视频点播已经有一套完善的机 ... [详细]
  • vsftpd配置(虚拟用户、匿名用户登录)
    一、ftp服务搭建(一)概述1.ftp连接及传输模式(1)控制连接TCP21,用于发送FTP命令信息 ... [详细]
  • 阿里云服务器搭建详解——Ubuntu
    由于自己电脑配置跟不上,双系统一开,整个电脑就会变得非常卡顿,所以决定在阿里云买一个云服务器。听朋友说,学生买的话是非常便宜 ... [详细]
  • 直播带货系统中的推流技术详解
    本文介绍了RTMP(实时消息传输协议)及其在直播带货系统中的应用,并详细探讨了带货直播系统的连麦方案,包括服务端合流和客户端合流的优势与劣势。 ... [详细]
  • 本文详细介绍了 Java 网站开发的相关资源和步骤,包括常用网站、开发环境和框架选择。 ... [详细]
  • 小程序的授权和登陆
    小程序的授权和登陆 ... [详细]
author-avatar
Mr_维力_811
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有