当前位置:文档之家› cisco路由器配置ACL详解

cisco路由器配置ACL详解

cisco路由器配置ACL详解如果有人说路由交换设备主要就是路由和交换的功能,仅仅在路由交换数据包时应用的话他一定是个门外汉。

如果仅仅为了交换数据包我们使用普通的HUB就能胜任,如果只是使用路由功能我们完全可以选择一台WINDOWS服务器来做远程路由访问配置。

实际上路由器和交换机还有一个用途,那就是网络管理,学会通过硬件设备来方便有效的管理网络是每个网络管理员必须掌握的技能。

今天我们就为大家简单介绍访问控制列表在CISCO路由交换设备上的配置方法与命令。

什么是ACL?访问控制列表简称为ACL,访问控制列表使用包过滤技术,在路由器上读取第三层及第四层包头中的信息如源地址,目的地址,源端口,目的端口等,根据预先定义好的规则对包进行过滤,从而达到访问控制的目的。

该技术初期仅在路由器上支持,近些年来已经扩展到三层交换机,部分最新的二层交换机也开始提供ACL的支持了。

访问控制列表使用原则由于ACL涉及的配置命令很灵活,功能也很强大,所以我们不能只通过一个小小的例子就完全掌握全部ACL的配置。

在介绍例子前为大家将ACL设置原则罗列出来,方便各位读者更好的消化ACL知识。

1、最小特权原则只给受控对象完成任务所必须的最小的权限。

也就是说被控制的总规则是各个规则的交集,只满足部分条件的是不容许通过规则的。

2、最靠近受控对象原则所有的网络层访问权限控制。

也就是说在检查规则时是采用自上而下在ACL 中一条条检测的,只要发现符合条件了就立刻转发,而不继续检测下面的ACL 语句。

3、默认丢弃原则在CISCO路由交换设备中默认最后一句为ACL中加入了DENY ANY ANY,也就是丢弃所有不符合条件的数据包。

这一点要特别注意,虽然我们可以修改这个默认,但未改前一定要引起重视。

由于ACL是使用包过滤技术来实现的,过滤的依据又仅仅只是第三层和第四层包头中的部分信息,这种技术具有一些固有的局限性,如无法识别到具体的人,无法识别到应用内部的权限级别等。

因此,要达到端到端的权限控制目的,需要和系统级及应用级的访问权限控制结合使用。

标准访问列表:访问控制列表ACL分很多种,不同场合应用不同种类的ACL。

其中最简单的就是标准访问控制列表,标准访问控制列表是通过使用IP包中的源IP地址进行过滤,使用的访问控制列表号1到99来创建相应的ACL标准访问控制列表的格式访问控制列表ACL分很多种,不同场合应用不同种类的ACL。

其中最简单的就是标准访问控制列表,他是通过使用IP包中的源IP地址进行过滤,使用的访问控制列表号1到99来创建相应的ACL。

标准访问控制列表是最简单的ACL。

它的具体格式如下:access-list ACL号 permit|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。

小提示:对于标准访问控制列表来说,默认的命令是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的计算机。

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的语句在每个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 any 设置ACL,容许其他地址的计算机进行通讯int e 1 进入E1端口ip access-group 1 in 将ACL1宣告,同理可以进入E0端口后使用ip access-group 1 out来完成宣告。

配置完毕后除了172.16.4.13其他IP地址都可以通过路由器正常通讯,传输数据包。

总结:标准ACL占用路由器资源很少,是一种最基本最简单的访问控制列表格式。

应用比较广泛,经常在要求控制级别较低的情况下使用。

如果要更加复杂的控制数据包的传输就需要使用扩展访问控制列表了,他可以满足我们到端口级的要求。

扩展访问控制列表:上面我们提到的标准访问控制列表是基于IP地址进行过滤的,是最简单的ACL。

那么如果我们希望将过滤细到端口怎么办呢?或者希望对数据包的目的地址进行过滤。

这时候就需要使用扩展访问控制列表了。

使用扩展IP访问列表可以有效的容许用户访问物理LAN而并不容许他使用某个特定服务(例如 WWW,FTP 等)。

扩展访问控制列表使用的ACL号为100到199。

扩展访问控制列表的格式刚刚我们提到了标准访问控制列表,他是基于IP地址进行过滤的,是最简单的ACL。

那么如果我们希望将过滤细到端口怎么办呢?或者希望对数据包的目的地址进行过滤。

这时候就需要使用扩展访问控制列表了。

使用扩展IP访问列表可以有效的容许用户访问物理LAN而并不容许他使用某个特定服务(例如WWW,FTP等)。

扩展访问控制列表使用的ACL号为100到199。

扩展访问控制列表的格式:扩展访问控制列表是一种高级的ACL,配置命令的具体格式如下:access-list ACL号 [permit|deny] [协议] [定义过滤源主机范围] [定义过滤源端口] [定义过滤目的主机访问] [定义过滤目的端口]例如:access-list 101 deny tcp any host 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。

配置任务:禁止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 1 进入E1端口ip access-group 101 out 将ACL101宣告出去设置完毕后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功能很强大,他可以控制源IP,目的IP,源端口,目的端口等,能实现相当精细的控制,扩展ACL不仅读取IP包头的源地址/ 目的地址,还要读取第四层包头中的源端口和目的端口的IP。

不过他存在一个缺点,那就是在没有硬件ACL加速的情况下,扩展ACL会消耗大量的路由器 CPU资源。

所以当使用中低档路由器时应尽量减少扩展ACL的条目数,将其简化为标准ACL或将多条扩展ACL合一是最有效的方法。

基于名称的访问控制列表不管是标准访问控制列表还是扩展访问控制列表都有一个弊端,那就是当设置好ACL的规则后发现其中的某条有问题,希望进行修改或删除的话只能将全部ACL信息都删除。

也就是说修改一条或删除一条都会影响到整个ACL列表。

这一个缺点影响了我们的工作,为我们带来了繁重的负担。

不过我们可以用基于名称的访问控制列表来解决这个问题。

一、基于名称的访问控制列表的格式:ip access-list [standard|extended] [ACL名称]例如:ip access-list standard softer就建立了一个名为softer的标准访问控制列表。

二、基于名称的访问控制列表的使用方法:当我们建立了一个基于名称的访问列表后就可以进入到这个ACL中进行配置了。

例如我们添加三条ACL规则permit 1.1.1.1 0.0.0.0permit 2.2.2.2 0.0.0.0permit 3.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信息都会被删除掉。

相关主题