《Cisco访问控制列表》由会员分享,可在线阅读,更多相关《Cisco访问控制列表(10页珍藏版)》请在金锄头文库上搜索。
1、cisco 路由器配置 ACL详解如果有人说路由交换设备主要就是路由和交换的功能,仅仅在路由交换数据包时应用的话他一定是个门外汉。如果仅仅为了交换数据包我们使用普通的HUB 就能胜任,如果只是使用路由功能我们完全可以选择一台 WINDOWS 服务器来做远程路由访问配置。实际上路由器和交换机还有一个用途,那就是网络管理, 学会通过硬件设备来方便有效的管理网络是每个网络管理员必须掌握的技能。今天我们就为大家简单介绍访问控制列表在CISCO路由交换上的配置方法与命令。什么是 ACL ?访问控制列表简称为ACL ,访问控制列表使用包过滤技术,在路由器上读取第三层及第四层包头中的信息如源地址,目的地址,
2、源端口,目的端口等,根据预先定义好的规则对包进行过滤, 从而达到访问控制的目的。该技术初期仅在路由器上支持,近些年来已经扩展到三层交换机,部分最新的二层交换机也开始提供ACL 的支持了。访问控制列表使用原则由于 ACL 涉及的配置命令很灵活,功能也很强大,所以我们不能只通过一个小小的例子就完全掌握全部ACL 的配置。 在介绍例子前为大家将ACL 设置原则罗列出来,方便各位读者更好的消化 ACL 知识。1、最小特权原则只给受控对象完成任务所必须的最小的权限。也就是说被控制的总规则是各个规则的交集,只满足部分条件的是不容许通过规则的。2、最靠近受控对象原则所有的网络层访问权限控制。也就是说在检查规
3、则时是采用自上而下在ACL 中一条条检测的,只要发现符合条件了就立刻转发,而不继续检测下面的ACL 语句。3、默认丢弃原则在CISCO 路由交换设备中默认最后一句为ACL中加入了 DENY ANY ANY ,也就是丢弃所有不符合条件的数据包。这一点要特别注意,虽然我们可以修改这个默认,但未改前一定要引起重视。由于 ACL 是使用包过滤技术来实现的,过滤的依据又仅仅只是第三层和第四层包头中的部分信息, 这种技术具有一些固有的局限性,如无法识别到具体的人,无法识别到应用内部的权限级别等。 因此,要达到端到端的权限控制目的,需要和系统级及应用级的访问权限控制结合使用。分类:标准访问控制列表扩展访问控
4、制列表基于名称的访问控制列表反向访问控制列表基于时间的访问控制列表标准访问列表:访问控制列表ACL 分很多种,不同场合应用不同种类的ACL 。其中最简单的就是标准访问控制列表, 标准访问控制列表是通过使用IP包中的源 IP地址进行过滤, 使用的访问控制列表号 1到99来创建相应的ACL 访问控制列表 ACL 分很多种, 不同场合应用不同种类的ACL 。其中最简单的就是标准访问控制列表,他是通过使用IP包中的源 IP地址进行过滤,使用的访问控制列表号1到99来创建相应的 ACL 。标准访问控制列表的格式:标准访问控制列表是最简单的ACL 。它的具体格式如下:access-list ACL号 pe
5、rmit|deny host ip地址例如: access-list 10 deny host 192.168.1.1这句命令是将所有来自192.168.1.1 地址的数据包丢弃。当然我们也可以用网段来表示,对某个网段进行过滤。命令如下:access-list 10 deny 192.168.1.0 0.0.0.255通过上面的配置将来自192.168.1.0/24的所有计算机数据包进行过滤丢弃。为什么后头的子网掩码表示的是0.0.0.255 呢?这是因为CISCO 规定在 ACL 中用反向掩玛表示子网掩码,反向掩码为0.0.0.255 的代表他的子网掩码为255.255.255.0。小提示:
6、对于标准访问控制列表来说,默认的命令是 HOST , 也就是说 access-list 10 deny 192.168.1.1 表示的是拒绝 192.168.1.1 这台主机数据包通讯,可以省去我们输入host 命令。标准访问控制列表实例一:网络环境介绍:我 们采用如图所示的网络结构。 路由器连接了二个网段,分别为172.16.4.0/24 ,172.16.3.0/24。在 172.16.4.0/24网段中有一台服务器提供WWW 服务, IP地址为 172.16.4.13。实例 1:禁止 172.16.4.0/24网段中除 172.16.4.13 这台计算机访问172.16.3.0/24的计算
7、机。 172.16.4.13 可以正常访问172.16.3.0/24 。路由器配置命令access-list 1 permit host 172.16.4.13 设置 ACL ,容许 172.16.4.13 的数据包通过。access-list 1 deny any设置 ACL,阻止其他一切IP地址进行通讯传输。int e 1进入 E1端口。ip access-group 1 in将ACL 1 宣告。经过设置后 E1端口就只容许来自172.16.4.13 这个 IP地址的数据包传输出去了。来自其他IP地址的数据包都无法通过E1传输。小提示: 由于 CISCO 默认添加了 DENY ANY 的语
8、句在每个ACL 中,所以上面的 access-list 1 deny any 这句命令可以省略。另外在路由器连接网络不多的情况下也可以在E0端口使用 ip access-group 1 out命令来宣告,宣告结果和上面最后两句命令效果一样。标准访问控制列表实例二:配置任务: 禁止 172.16.4.13这个计算机对172.16.3.0/24网段的访问, 而172.16.4.0/24中的其他计算机可以正常访问。路由器配置命令:access-list 1 deny host 172.16.4.13设置 ACL ,禁止 172.16.4.13 的数据包通过access-list 1 permit a
9、ny设置 ACL ,容许其他地址的计算机进行通讯int e 1进入 E1端口ip access-group 1 in将ACL1 宣告,同理可以进入E0 端口后使用 ip access-group 1 out来完成宣告。配置完毕后除了172.16.4.13 其他 IP地址都可以通过路由器正常通讯,传输数据包。总结: 标准 ACL 占用路由器资源很少,是一种最基本最简单的访问控制列表格式。应用比较广泛, 经常在要求控制级别较低的情况下使用。如果要更加复杂的控制数据包的传输就需要使用扩展访问控制列表了,他可以满足我们到端口级的要求。扩展访问控制列表:上面我们提到的标准访问控制列表是基于IP地址进行过
10、滤的,是最简单的ACL 。那么如果我们希望将过滤细到端口怎么办呢?或者希望对数据包的目的地址进行过滤。这时候就需要使用扩展访问控制列表了。使用扩展 IP访问列表可以有效的容许用户访问物理LAN 而并不容许他使用某个特定服务(例如WWW ,FTP 等) 。扩展访问控制列表使用的ACL 号为 100到199 。扩展访问控制列表的格式:扩展访问控制列表是一种高级的ACL ,配置命令的具体格式如下:access-list ACL 号permit|deny 协议 定义过滤源主机范围 定义过滤源端口 定义过滤目的主机访问 定义过滤目的端口例如: access-list 101 deny tcp any h
11、ost 192.168.1.1 eq www这句命令是将所有主机访问192.168.1.1 这个地址网页服务(WWW )TCP 连接的数据包丢弃。小提示: 同样在扩展访问控制列表中也可以定义过滤某个网段,当然和标准访问控制列表一样需要我们使用反向掩码定义IP地址后的子网掩码。扩展访问控制列表的实例:网络环境介绍:我 们 采 用 如 图 所 示 的 网 络 结 构 。 路 由 器 连 接 了 二 个 网 段 , 分 别 为172.16.4.0/24,172.16.3.0/24 。在 172.16.4.0/24网段中有一台服务器提供WWW 服务, IP地址为172.16.4.13。配置任务: 禁止
12、 172.16.3.0的计算机访问 172.16.4.0的计算机,包括那台服务器,不过惟独可以访问 172.16.4.13上的 WWW 服务,而其他服务不能访问。路由器配置命令:access-list 101 permit tcp any 172.16.4.13 0.0.0.0 eq www设置 ACL101 ,容许源地址为任意 IP,目的地址为172.16.4.13 主机的 80 端口即 WWW 服务。由于 CISCO 默认添加 DENY ANY 的命令,所以 ACL 只写此一句即可。int e 0进入 E1端口ip access-group 101 out将ACL101 宣告出去设置完毕后
13、172.16.3.0 的计算机就无法访问172.16.4.0 的计算机了,就算是服务器172.16.4.13 开启了 FTP 服务也无法访问, 惟独可以访问的就是172.16.4.13 的WWW 服务了。而172.16.4.0 的计算机访问 172.16.3.0 的计算机没有任何问题。扩展 ACL 有一个最大的好处就是可以保护服务器,例如很多服务器为了更好的提供服务都是暴露在公网上的,如果所有端口都对外界开放,很容易招来黑客和病毒的攻击,通过扩展ACL 可以将除了服务端口以外的其他端口都封锁掉,降低了被攻击的机率。如本例就是仅仅将 80端口对外界开放。总结: 扩展 ACL 功能很强大,他可以控
14、制源IP,目的 IP,源端口,目的端口等,能实现相当精细的控制,扩展ACL不仅读取 IP包头的源地址/目的地址,还要读取第四层包头中的源端口和目的端口的IP。不过他存在一个缺点,那就是在没有硬件ACL 加速的情况下, 扩展ACL 会消耗大量的路由器CPU 资源。所以当使用中低档路由器时应尽量减少扩展ACL的条目数,将其简化为标准ACL 或将多条扩展ACL合一是最有效的方法。基于名称的访问控制列表不管是标准访问控制列表还是扩展访问控制列表都有一个弊端,那就是当设置好ACL的规则后发现其中的某条有问题,希望进行修改或删除的话只能将全部ACL 信息都删除。 也就是说修改一条或删除一条都会影响到整个A
15、CL 列表。 这一个缺点影响了我们的工作,为我们带来了繁重的负担。不过我们可以用基于名称的访问控制列表来解决这个问题。一、基于名称的访问控制列表的格式:ip access-list standard|extended ACL 名称 例如: ip access-list standard softer就建立了一个名为softer 的标准访问控制列表。二、基于名称的访问控制列表的使用方法:当我们建立了一个基于名称的访问列表后就可以进入到这个ACL 中进行配置了。例如我们添加三条ACL 规则permit 1.1.1.1 0.0.0.0 permit 2.2.2.2 0.0.0.0 permit 3.
16、3.3.3 0.0.0.0如果我们发现第二条命令应该是2.2.2.1 而不是 2.2.2.2 , 如果使用不是基于名称的访问控制列表的话,使用no permit 2.2.2.2 0.0.0.0后整个 ACL 信息都会被删除掉。正是因为使用了基于名称的访问控制列表,我们使用no permit 2.2.2.2 0.0.0.0后第一条和第三条指令依然存在。总结: 如果设置 ACL 的规则比较多的话,应该使用基于名称的访问控制列表进行管理,这样可以减轻很多后期维护的工作,方便我们随时进行调整ACL 规则。反向访问控制列表:我们使用访问控制列表除了合理管理网络访问以外还有一个更重要的方面,那就是防范病毒,我们可以将平时常见病毒传播使用的端口进行过滤,将使用这些端口的数据包丢弃。这样就可以有效的防范病毒的攻击。不过即使再科学的访问控制列表规则也可能会因为未知病毒的传播而无效,毕竟未知病毒使用的端口是我们无法估计的,而且随着防范病毒数量的增多会造成访问控制列表规则过多,在一定程度上影响了网络访问的速度。这时我们可以使用反向控制列表来解决以上的问题。一、反向访问控制列