基于列表号的Cisco标准IP ACL语法

为庆祝2009获得多项大奖的年度巨作——《Cisco/H3C交换机配置与管理完全手册》重印,以及它的姊妹篇——《CIsco/H3C路由器配置与管理完全手册》将于今年10月底上市,同时感谢广大读者朋友的高度信任、评价和支持,近期将多摘选几篇内容发给大家共享。该书在卓越网上现在仅需要73折:http://www.amazon.cn/mn/detailApp?ref=RK&uid=477-0992093-5315614&asin=B002MAR8EM

另外,本人2009年度其他7本新书现在也有大幅优惠(多本仅需要72~74折)促销了:http://www.amazon.cn/s/ref=nb_ss?url=search-alias%3Dbooks&keywords=%E9%87%91%E7%89%8C%E7%BD%91%E7%AE%A1%E5%B8%88&searchKind=keyword&Go.x=11&Go.y=12

近期群中有许多读者问有关ACL配置的问题,但大多数问题都是不理解,或者根本不知道ACL配置命令中的各可选项和参数的功能和用法。为此近期多发了一些关于ACL配置的文章。本期发的是关于Cisco标准ACL命令的详细使用方法。

14.3.1基于列表号的Cisco标准IP ACL语法
标准ACL主要是基于IP协议的(参见本章前面的表6-1),所以在此也仅以基于IP协议的标准ACL进行介绍。基于列表号的Cisco 标准IP ACL格式如下:
access-list [list number][permit|deny][host/any][source address][wildcard-mask][log]
从命令格式可以看出,标准IP ACL是仅以源地址与规则行为匹配的,没有目的地址。也就是IP ACL在过滤时仅考查数据包中的源IP地址,凡是与源IP地址一样的都将应用相应的过滤行为规则。下面解释一下标准IP ACL的关键字和参数。
n         access-list
创建ACL的命令。
n         list number(列表编号)
ACL列表号,值的范围在099之间,这标准IP ACL中限定的,也就是在一个Cisco设备中最多可以创建100个标准IP访问列表。100~199为为扩展IP ACLlist number范围。另外,还有其他类型的ACL,它们的list number值范围也各不一样:基于协议类型码的ACLlist number范畴为200~299;基于MAC地址的ACLlist number范畴为700~799;基于IPX的标准ACLlist number范畴为800~899;基于IPX的扩展ACLlist number范畴为900~999;基于IPX业务通告协议的ACLlist number范畴为1000~1099;基于MAC地址的扩展ACLlist number范畴为1100~1199。其他协议类型的ACL的列表号范围参见表6-1
n         permit|deny(允许/拒绝)
设置ACL规则的关键参数,它代表本编号列表所设置的规则是允许后面指定的主机或网络进行通信,还是拒绝后面指定的主机或网络进行通信。在标准IP ACL中,使用permit参数可以使得和访问列表项目匹配的数据包通过接口,而deny参数可以在接口过滤掉和访问列表项目匹配的数据包。
n         host/any
hostany分别用于指定单个主机和所有主机。host表示一种精确的匹配,其掩码(本节后面将详细介绍)为0.0.0.0。例如,我们希望仅允许来自192.168.0.10主机的报文通过,则可使用的标准IP访问控制列表语句如下(注意,其中没有用到“host”或者“any”关键字):
access-list 1 permit host 192.168.0.10                   1
【经验之谈】对于标准IP访问控制列表来说,host关键字是默认的,也就是说式(1)中也可以省去输入host关键字,直接写成:
access-list 1 permit 192.168.0.10
如果上面示例是要仅拒绝192.168.0.10主机的报文,则标准IP访问列表如下:
access-list 10 deny host 192.168.0.10
当然也可以简写成(道理同上):
access-list 10 deny 192.168.0.10
host关键字相对应的any关键字是源地证/目标地址0.0.0.0/255.255.255.255的简写。假定我们要拒绝从源地址192.168.0.10来的报文,并且要允许从其他源地址来的报文,则用标准的IP访问表可以使用下面的两条语句达到这个目的:
access-list 1 deny host 192.168.0.10
access-list 1 permit any
【注意】以上这两条语句的顺序不能倒过来。因为访问表语句的应用顺序是自上而下的,限制严格性要求最高的放在前面,最低的放在最后。在上面这两条语句中,上一条是拒绝某个范围的主机通过,限制性比下一条的允许所有的主机通过限制性要高,所以放在前面。应用后是先拒绝上一条指定的主机通过,然后再允许余下的其他所有主机通过。如果我们将两个语句顺序颠倒,将permit(允许)语句放在deny(拒绝)语句的前面,则我们将不能过滤来自主机地址192.168.0.1的报文,因为permit语句将允许所有的报文通过。所以说访问表中的语句顺序是很重要的,因为不合理语句顺序将会在网络中产生安全漏洞,或者使得用户不能很好地利用公司的网络策略。
n         source address(源IP地址)
用来指定规则中数据通信源的IP地址或网络地址,以点分十进制表示,如:192.168.0.10表示一台主机,而如果是192.168.0.0则表示整个网段的主机。
在标准IP ACL中,只是对数据通信源进行了限定,所以其中只有“source address”(源地址),而后面没有“destination address”(目标地址)这个字段。
n         wi1dcard-mask(通配符掩码)
CiscoACL中,是以掩码(mask)来与IP地址组合来指定主机范围的。这里的掩码也称为反掩码inverse mask)或者通配符掩码wildcard mask),用来指定单一主机或一个范围的主机。但它们与子网掩码Sub Mask)是不同的。他们之间存在如下的关系:
mask = 255.255.255.255 - Sub Mask
如标准的CIP地址的子网掩码为255.255.255.0,由此可以得到标准C类地址的掩码为(注意要分段对应进行减运算):
255.255.255.255 – 255.255.255.0 = 0.0.0.255
也就是直接把子网掩码中的所有值为“255”的八位组都转换成“0”,把非“255”的其他八位组,用“255”来减,差就是最终的值。如前面的255.255.255.0中前3组均为“255”,转换成“0”,最后一组为“0”,用“255”来减后得到“255”,所以最终该网络的通配符掩码为0.0.0.255。同样,如果某子网掩码为255.255.240.0,则该子网的通配符掩码值为0.0.15.255。其中的“15”等于“255-240”
还有一种二进制计算方法。如子网掩码255.255.255.0转换二进制后得到“11111111.11111111.11111111.00000000”,经过“1”“0”的相互转换后就得到了通配符掩码为“00000000.00000000.00000000.11111111”,再转换成十进制后得到0.0.0.255。这就是子网掩码为255.255.255.0的网络的通配符掩码。再如某网络划分子网后的子网掩码为“255.255.255.240”,转换成二进制后得到“11111111.11111111.11111111.11110000”,经过“1”“0”的相互转换后,得到通配符掩码为“00000000.00000000.00000000.00001111”,转换成十进制就得到了“0.0.0.15”。这就是子网掩码为255.255.255.240的网络的通配符掩码。
假设您的公司有一个分支机构,其IP地址为C类的192.46.28.0.在您的公司,每个分支机构都需要通过总部的路由器访问Internet.要实现这点,您就可以使用一个通配符掩码 0.0.0.255。因为CIP地址的最后一组数字代表主机,把它们都置1即允许总部访问网络上的每一台主机。因此,您的标准IP访问列表中的 access-list语句如下:
access-list 1 permit 192.46.28.0 0.0.0.255
在这里有一个特殊的通配符掩码0.0.0.0,它表示的是仅一台机,与前面式(1)中的“host”关键字的功能是一样的。这样,式(1)也就可以写成如下式(2)格式:
access-list 1 permit 192.168.0.10 0.0.0.0                  2
比式(1)和式(2),可以这样理解,式(1)中的“host”关键字替代了式(2)中的通配符掩码(wildcard-mask0.0.0.0,也就是说“host”关键字的是通配符掩码(wildcard-mask0.0.0.0简写。但两者在语句中的位置不一样,书写时要注意了。
n         Log(日志记录)

log关键字只在IOS版本11.3Cisco设备中存在。如果该关键字用于访问表中,则对那些能够匹配访问表中的permitdeny语句的报文进行日志记录。日志信息包含访问表号、报文的允许或拒绝、源IP地址以及在显示了第一个匹配以来每5分钟间隔内的报文数目。使用log关键字,提供了测试和报警两种功能:系统管理员可以使用日志来观察不同活动下的报文匹配情况,从而可以评估不同访问表的设计是否正确,是否合理;当其用于报警时,管理员可以察看显示结果,以定位那些多次尝试活动被拒绝的访问表语句。通过Cisco IOS的控制台命令可以选择记录日志方式。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的码资涵盖了Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些码资特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资都能为你提供宝贵的学习和实践机会。通过学习和运行这些码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些码资进行课程实践、课外项目或毕业设计。通过分析和运行码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保码资的可运行性和易用性,特别注意了以下几点:首先,每份码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些码资,以适应各平台技术的最新发展和市场需求。 所有码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值