在网络中很有可能要允许或拒绝的并不是某一个源IP地址,而是根据目标地址或是协议来匹配。但是标准访问控制列表只能根据源IP地址来决定是否允许一个数据包通过。
1)配置扩展ACL实现拒绝PC2(IP地址为192.168.0.20)访问Web Server的web服务,但可访问其他服务。
为了实现更灵活、列精确的网络控制就需要用到扩展访问控制列表了。
扩展IP访问控制列表比标准IP访问控制列表具有更多的匹配项,包括协议类型、源地址、目的地址、源端口、目的端口、建立连接的和IP优先级等。
网络拓扑如图所示:
实现此案例需要按照如下步骤进行。
步骤一:将1配置标准ACL中的标准访问控制列表移除,其他配置保留
tarena-R2(config)#interface f0/1
tarena-R2(config-if)#no ip access-group 1 out
tarena-R2(config)#no access-list 1
步骤二:在PC1和PC2上验证到Web Server的HTTP协议访问。
在没有配置扩展ACL的时候,两台主机均可以正常访问到Web Server。
步骤三:R1上配置扩展访问控制列表,仅拒绝PC2到Web Server的HTTP访问
扩展ACL可以对数据包中的源、目标IP地址以及端口号进行检查,所以可以将该ACL放置在通信路径中的任一位置。但是,如果放到离目标近的地方,每台路由器都要对数据进行处理,会更多的消耗路由器和带宽资源。放到离源最近的路由器端口入方向直接就将拒绝数据丢弃,可以减少其他路由器的资源占用以及带宽占用。
tarena-R1(config)#access-list 100 deny tcp host 192.168.0.20 host 192.168.2.100 eq www
tarena-R1(config)#access-list 100 permit ip any any
tarena-R1(config)#interface f0/0
tarena-R1(config-if)#ip access-group 101 in
步骤四:在PC1上验证
PC>ipconfig
FastEthernet0 Connection:(default port)
Link-local IPv6 Address.........: FE80::2E0:F7FF:FED6:54CC
IP Address......................: 192.168.0.10
Subnet Mask.....................: 255.255.255.0
Default Gateway.................: 192.168.0.1
PC>ping 192.168.2.100
Pinging 192.168.2.100 with 32 bytes of data:
Reply from 192.168.2.100: bytes=32 time=1ms TTL=126
Reply from 192.168.2.100: bytes=32 time=0ms TTL=126
Reply from 192.168.2.100: bytes=32 time=0ms TTL=126
Reply from 192.168.2.100: bytes=32 time=0ms TTL=126
Ping statistics for 192.168.2.100:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 1ms, Average = 0ms
PC>
HTTP协议的验证如图所示:
从输入结果可以验证,PC1到Web Server的访问没有受到任何影响。
步骤五:在PC2上进行验证
PC>ipconfig
FastEthernet0 Connection:(default port)
Link-local IPv6 Address.........: FE80::2D0:BAFF:FE98:9E29
IP Address......................: 192.168.0.20
Subnet Mask.....................: 255.255.255.0
Default Gateway.................: 192.168.0.1
PC>ping 192.168.2.100
Pinging 192.168.2.100 with 32 bytes of data:
Reply from 192.168.2.100: bytes=32 time=1ms TTL=126
Reply from 192.168.2.100: bytes=32 time=1ms TTL=126
Reply from 192.168.2.100: bytes=32 time=2ms TTL=126
Reply from 192.168.2.100: bytes=32 time=0ms TTL=126
Ping statistics for 192.168.2.100:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 2ms, Average = 1ms
PC>
HTTP协议的验证,如图所示:
因为只限制了到Web Server的HTTP访问,所以WEB服务已经无法访问,但是仍然可以ping通。
步骤六:在R1上查看相关的ACL信息
tarena-R1#show ip access-lists
Extended IP access list 100
deny tcp host 192.168.0.20 host 192.168.2.100 eq www (30 match(es))
permit ip any any (5 match(es))
路由器的输出表明了拒绝了30个来自PC1到Web Server的HTTP访问包。