扩展访问控制列表:

    上面我们提到的标准访问控制列表是基于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 0    进入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合一是最有效的方法。

posted on 2009-11-18 16:23  fooboo  阅读(18593)  评论(0编辑  收藏  举报