无论是在思科路由器还是思科交换机等网络设备上,标准ACL访问控制列表始终无法同时匹配通信源地址与目标地址的特性,也不无法满足现今网络世界“粒度化”控制的要求,比如:允许访问某一服务器的某项服务功能,但是不允许Ping通该服务器。那么,就需要使用扩展的ACL来替代标准的ACL的应用,在实际的应用控制中,扩展的ACL较标准ACL而言,似乎更受管理员的喜爱。
演示目标:配置扩展ACL为网络应用提供更“粒度化”的控制。
演示环境:使用演示标准ACL的配置部分的如下图ACL的演示环境所示。
演示背景:要求主机A(192.168.1.2)可以访问服务器A的WEB服务;但是不允许主机Aping通服务器A所在的子网;允许主机Aping通服务器B和服务器C所在的子网。请使用扩展ACL完成上述的控制要求,并思考应用ACL的位置。
演示步骤:
第一步:保持上一个实验的所有基础配置,但是请删除原本的所有标准ACL的配置,然后根据演示背景需求,完成如下扩展ACL的配置,这一配置建议在路由器R1上完成,因为扩展的ACL可以同时匹配通信源地址与目标地址,可以将其应到距离通信源较近的位置。
R1(config)#access-list101permittcp192.168.1.00.0.0.255host192.168.5.2eqwww
*定义扩展ACL列表101(基于IP的扩展ACL编号的取值范围是100-199);permittcp192.168.1.00.0.0.255host192.168.5.2eqwww指示允许源子网192.168.1.0对目标地址192.168.5.2的TCP端口80进行访问,注意,语句中的第一个IP子网和反码指示通信的源子网与对应的反码;第二个IP地址192.168.5.2被host申明为是一台具体的主机。
R1(config)#access-list101denyicmp192.168.1.00.0.0.255host192.168.5.2
*定义扩展ACL列表101的第二条语句拒绝源子网192.168.1.0通过ICMP协议访问目标主机192.168.5.2。
R1(config)#access-list101permiticmp192.168.1.00.0.0.255host192.168.4.2
*定义扩展ACL列表101的第三条语句允许源子网192.168.1.0通过ICMP协议访问目标主机192.168.4.2。
R1(config)#access-list101permiticmp192.168.1.00.0.0.255host192.168.3.2
*定义扩展ACL列表101的第四条语句允许源子网192.168.1.0通过ICMP协议访问目标主机192.168.3.2。
R1(config)#interfacee1/0
R1(config-if)#ipaccess-group101in
R1(config-if)#exit
建议:将ACL101应用到路由器R1的E1/0接口,也就是距离源子网最近的位置,这样做可以让ACL的利用率更高,流量更合理,因为扩展ACL能同时匹配源地址与目标地址,所以从理论上讲,只要能达到控制标准,在流量经过的任何设备上都可以做应用,但是建议在距离源子网最近的位置应用它,因为没有必要将最终被过滤流量转发到目标或者中途才丢弃,这对于宝贵的带宽利用率不科学。
第二步:当完成上述配置后,在主机A(192.168.1.2)上去访问服务器A的WEB服务,然后去Ping服务器A、B、C,如果配置无误,应得到如下图所示的状态,这与背景说明中的控制要求一致。
第三步:为了查看路由器R1上的过滤状态,可以通过在R1上执行showipaccess-lists指令查看ACL的匹配状态如下图10.13所示,可以看出有5个WWW的数据包被允许;8个到服务器A的ICMP的数据包被拒绝;分别有4个到服务器B和C的ICMP数据包被允许。
关于ACL的其它输写形式与应用注意事项
在前面的几个小节中描述了关于标准与扩展ACL的应用,并演示了具体的配置过程,在本节主要对ACL的应用事项进行一下总结,其中包括ACL的输写形式、ACL的应用位置、ACL条目的增加与删除,具体如下:
关于ACL语句的输写形式:
access-list1permithost192.168.100.1等于access-list1permit192.168.100.10.0.0.0的功能,语句中的host是申明配置的地址是一个主机地址,它等于反码的全匹配(0.0.0.0),以全匹配形式出现的反码,表示匹配的IP地址是一个主机IP地址。
access-list102permittcp0.0.0.0255.255.255.2550.0.0.0255.255.255.255eqwww等于access-list102permittcpanyanyeq80的功能,语句中的源IP地址和目标IP地址都是0,指示源和目标IP地址可以是任意IP地址;源地址和目标地址的反码都是255,指示不关心任何位,它就等同于在扩展ACL中源和目标IP地址都以any关键字出现的情况;eqwww就等于eq80,因为TCP80号端口正是众所周知的www服务端口,但是这里提出一个注意事项,如果Web服务器的端口没有使用众所周知的80号端口,出于某种安全原因或者特殊要求,服务器管理员自定义了Web的服务端口号,那么,在输写ACL时,就只能在eq关键字之后申明具体的端口号,而不是申明www,否则ACL将无法完成匹配。
……