1 配置标准ACL

1.1 问题

络调通后,保证网络是通畅的。同时也很可能出现未经授权的非法访问。企业网络既要解决连连通的问题,还要解决网络安全的问题。

1)配置标准ACL实现拒绝PC2(IP地址为192.168.0.20)对Web Server P的浏览器访问

1.2 方案

访问控制是网络安全防范和保护的主要策略,它的主要任务是保证网络资源不被非法使用和访问。它是保证网络安全最重要的核心策略之一。

访问控制列表(Access Control Lists,ACL)是应用在路由器接口的指令列表。这些指令列表用来告诉路由器哪能些数据包可以收、哪能数据包需要拒绝。至于数据包是被接收还是拒绝,可以由类似于源地址、目的地址、端口号等的特定指示条件来决定。

标准访问控制列表只能根据数据包的源IP地址决定是否允许通过。

网络拓扑如图-1所示:

p_w_picpath001.png

图-1

1.3 步骤

实现此案例需要按照如下步骤进行。

步骤一:在R1上配置IP地址及静态路由

tarena-R1(config)#interface f0/0tarena-R1(config-if)#ip address 192.168.0.1 255.255.255.0tarena-R1(config-if)#no shutdowntarena-R1(config-if)#interface f0/1tarena-R1(config-if)#ip address 192.168.1.1 255.255.255.0tarena-R1(config-if)#no shutdowntarena-R1(config-if)#exittarena-R1(config)#ip route 192.168.2.0 255.255.255.0 192.168.1.2

步骤二:在R2上配置IP地址及静态路由

tarena-R2(config)#interface f0/0tarena-R2(config-if)#ip address 192.168.1.2 255.255.255.0tarena-R2(config-if)#no shutdowntarena-R2(config-if)#interface f0/1tarena-R2(config-if)#ip address 192.168.2.1 255.255.255.0tarena-R2(config-if)#no shutdowntarena-R2(config-if)#exittarena-R2(config)#ip route 192.168.0.0 255.255.255.0 192.168.1.1

步骤三:在R1和R2上检查路由表

tarena-R1#show ip routeCodes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGPD - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter areaN1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGPi - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area* - candidate default, U - per-user static route, o - ODRP - periodic downloaded static routeGateway of last resort is not setC    192.168.0.0/24 is directly connected, FastEthernet0/0C    192.168.1.0/24 is directly connected, FastEthernet0/1S    192.168.2.0/24 [1/0] via 192.168.1.2tarena-R2#tarena-R2#show ip routeCodes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGPD - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter areaN1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGPi - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area* - candidate default, U - per-user static route, o - ODRP - periodic downloaded static routeGateway of last resort is not setS    192.168.0.0/24 [1/0] via 192.168.1.1C    192.168.1.0/24 is directly connected, FastEthernet0/0C    192.168.2.0/24 is directly connected, FastEthernet0/1

步骤四:测试主机到Web Server的连通性

在实施ACL之前先检查网络是否能够正常通信,因为没有任何限制,网络应该是处于连通状态。

PC1测试如下所示:

PC>ipconfigFastEthernet0 Connection:(default port)Link-local IPv6 Address.........: FE80::2E0:F7FF:FED6:54CCIP Address......................: 192.168.0.10Subnet Mask.....................: 255.255.255.0Default Gateway.................: 192.168.0.1PC>ping 192.168.2.100Pinging 192.168.2.100 with 32 bytes of data:Request timed out.Request timed out.Reply from 192.168.2.100: bytes=32 time=0ms TTL=126Reply from 192.168.2.100: bytes=32 time=0ms TTL=126Ping statistics for 192.168.2.100:Packets: Sent = 4, Received = 2, Lost = 2 (50% loss),Approximate round trip times in milli-seconds:Minimum = 0ms, Maximum = 0ms, Average = 0msPC>

PC2测试如下所示:

PC>ipconfigFastEthernet0 Connection:(default port)Link-local IPv6 Address.........: FE80::2D0:BAFF:FE98:9E29IP Address......................: 192.168.0.20Subnet Mask.....................: 255.255.255.0Default Gateway.................: 192.168.0.1PC>ping 192.168.2.100Pinging 192.168.2.100 with 32 bytes of data:Reply from 192.168.2.100: bytes=32 time=2ms TTL=126Reply from 192.168.2.100: bytes=32 time=0ms TTL=126Reply from 192.168.2.100: bytes=32 time=0ms TTL=126Reply from 192.168.2.100: bytes=32 time=0ms TTL=126Ping 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 = 0msPC>

步骤五:在R2上配置标准访问控制列表,并应用到Fa0/1端口出方向上

标准访问控制列表因为只能限制源IP地址,因此应该把ACL放到离目标最近的端口出方向上。

ACL的匹配规则中,最后有一条隐含拒绝全部。如果语句中全部是拒绝条目,那么最后必须存在允许语句,否则所有数据通信都将被拒绝。

tarena-R2(config)#access-list 1 deny host 192.168.0.20tarena-R2(config)#access-list 1 permit anytarena-R2(config)#interface f0/1tarena-R2(config-if)#ip access-group 1 out

步骤六:分别在两台主机上测试到Web Server的连通性

PC1测试如下所示:

PC>ipconfigFastEthernet0 Connection:(default port)Link-local IPv6 Address.........: FE80::2E0:F7FF:FED6:54CCIP Address......................: 192.168.0.10Subnet Mask.....................: 255.255.255.0Default Gateway.................: 192.168.0.1PC>ping 192.168.2.100Pinging 192.168.2.100 with 32 bytes of data:Reply from 192.168.2.100: bytes=32 time=1ms TTL=126Reply from 192.168.2.100: bytes=32 time=0ms TTL=126Reply from 192.168.2.100: bytes=32 time=0ms TTL=126Reply from 192.168.2.100: bytes=32 time=0ms TTL=126Ping 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 = 0msPC>

PC2测试如下所示:

PC>ipconfigFastEthernet0 Connection:(default port)Link-local IPv6 Address.........: FE80::2D0:BAFF:FE98:9E29IP Address......................: 192.168.0.20Subnet Mask.....................: 255.255.255.0Default Gateway.................: 192.168.0.1PC>ping 192.168.2.100Pinging 192.168.2.100 with 32 bytes of data:Reply from 192.168.1.2: Destination host unreachable.Reply from 192.168.1.2: Destination host unreachable.Reply from 192.168.1.2: Destination host unreachable.Reply from 192.168.1.2: Destination host unreachable.Ping statistics for 192.168.2.100:Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),PC>

结果显示PC1(IP地址为192.168.0.10)可以正常访问Web Server,而PC2(IP地址为192.168.0.20)已经被192.168.1.2(R2)拒绝。

步骤七:在R2上查看相关的ACL信息

tarena-R2#show ip access-listsStandard IP access list 1deny host 192.168.0.20 (4 match(es))permit any (4 match(es))

2 配置扩展ACL

2.1 问题

在网络中很有可能要允许或拒绝的并不是某一个源IP地址,而是根据目标地址或是协议来匹配。但是标准访问控制列表只能根据源IP地址来决定是否允许一个数据包通过。

1)配置扩展ACL实现拒绝PC2(IP地址为192.168.0.20)访问Web Server的web服务,但可访问其他服务。

2.2 方案

为了实现更灵活、列精确的网络控制就需要用到扩展访问控制列表了。

扩展IP访问控制列表比标准IP访问控制列表具有更多的匹配项,包括协议类型、源地址、目的地址、源端口、目的端口、建立连接的和IP优先级等。

网络拓扑如图-2所示:

p_w_picpath002.png

图-2

2.3 步骤

实现此案例需要按照如下步骤进行。

步骤一:将1配置标准ACL中的标准访问控制列表移除,其他配置保留

tarena-R2(config)#interface f0/1tarena-R2(config-if)#no ip access-group 1 outtarena-R2(config)#no access-list 1

步骤二:在PC1和PC2上验证到Web Server的HTTP协议访问,如图3和图-4所示:

p_w_picpath003.png

图-3

p_w_picpath004.png

图-4

在没有配置扩展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 wwwtarena-R1(config)#access-list 100 permit ip any anytarena-R1(config)#interface f0/0tarena-R1(config-if)#ip access-group 101 in

步骤四:在PC1上验证

PC>ipconfigFastEthernet0 Connection:(default port)Link-local IPv6 Address.........: FE80::2E0:F7FF:FED6:54CCIP Address......................: 192.168.0.10Subnet Mask.....................: 255.255.255.0Default Gateway.................: 192.168.0.1PC>ping 192.168.2.100Pinging 192.168.2.100 with 32 bytes of data:Reply from 192.168.2.100: bytes=32 time=1ms TTL=126Reply from 192.168.2.100: bytes=32 time=0ms TTL=126Reply from 192.168.2.100: bytes=32 time=0ms TTL=126Reply from 192.168.2.100: bytes=32 time=0ms TTL=126Ping 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 = 0msPC>

HTTP协议的验证如图-5所示:

p_w_picpath005.png

图-5

从输入结果可以验证,PC1到Web Server的访问没有受到任何影响。

步骤五:在PC2上进行验证

PC>ipconfigFastEthernet0 Connection:(default port)Link-local IPv6 Address.........: FE80::2D0:BAFF:FE98:9E29IP Address......................: 192.168.0.20Subnet Mask.....................: 255.255.255.0Default Gateway.................: 192.168.0.1PC>ping 192.168.2.100Pinging 192.168.2.100 with 32 bytes of data:Reply from 192.168.2.100: bytes=32 time=1ms TTL=126Reply from 192.168.2.100: bytes=32 time=1ms TTL=126Reply from 192.168.2.100: bytes=32 time=2ms TTL=126Reply from 192.168.2.100: bytes=32 time=0ms TTL=126Ping 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 = 1msPC>

HTTP协议的验证,如图-6所示:

p_w_picpath006.png

图-6

因为只限制了到Web Server的HTTP访问,所以WEB服务已经无法访问,但是仍然可以ping通。

步骤六:在R1上查看相关的ACL信息

tarena-R1#show ip access-listsExtended IP access list 100deny 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访问包。

3 配置标准命名ACL

3.1 问题

使用基本编号的ACL没有实际意义,只有通过阅读具体的条目才能得知该ACL的作用。而且ACL的编号有限制,如传统的标准ACL用1~99表示,扩展ACL用100~199表示。

1)配置标准命名ACL实现拒绝PC2(IP地址为192.168.0.20)对Web Server的访问

3.2 方案

命名访问控制列表可以为ACL起一个有意义的名字,通过名称就可以得知该ACL要实现什么功能。同时,因为使用的是名称而不是数字,也就没有了ACL数量上的限制。

网络拓扑如图-7所示:

p_w_picpath007.png

图-7

3.3 步骤

实现此案例需要按照如下步骤进行。

步骤一:将2配置扩展ACL中的扩展访问控制列表移除,其他配置保留

tarena-R1(config)#interface f0/0tarena-R1(config-if)#no ip access-group 100 intarena-R1(config-if)#exittarena-R1(config)#no access-list 100

步骤二:在R2上配置标准的命名访问控制列表

命名访问控制列表的配置总体上和用数字表示的ACL一样,但是更加灵活。

tarena-R2(config)#ip access-list standard denypc2tarena-R2(config-std-nacl)#deny host 192.168.0.20tarena-R2(config-std-nacl)#permit anytarena-R2(config-std-nacl)#exittarena-R2(config)#interface f0/1tarena-R2(config-if)#ip access-group denypc2 out

步骤三:分别在PC1和PC2上做连通性测试

PC1测试如下所示:

PC>ipconfigFastEthernet0 Connection:(default port)Link-local IPv6 Address.........: FE80::2E0:F7FF:FED6:54CCIP Address......................: 192.168.0.10Subnet Mask.....................: 255.255.255.0Default Gateway.................: 192.168.0.1PC>ping 192.168.2.100Pinging 192.168.2.100 with 32 bytes of data:Reply from 192.168.2.100: bytes=32 time=0ms TTL=126Reply from 192.168.2.100: bytes=32 time=0ms TTL=126Reply from 192.168.2.100: bytes=32 time=0ms TTL=126Reply from 192.168.2.100: bytes=32 time=0ms TTL=126Ping 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 = 0ms, Average = 0msPC>

PC2测试如下所示:

PC>ipconfigFastEthernet0 Connection:(default port)Link-local IPv6 Address.........: FE80::2D0:BAFF:FE98:9E29IP Address......................: 192.168.0.20Subnet Mask.....................: 255.255.255.0Default Gateway.................: 192.168.0.1PC>ping 192.168.2.100Pinging 192.168.2.100 with 32 bytes of data:Reply from 192.168.1.2: Destination host unreachable.Reply from 192.168.1.2: Destination host unreachable.Reply from 192.168.1.2: Destination host unreachable.Reply from 192.168.1.2: Destination host unreachable.Ping statistics for 192.168.2.100:Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),PC>

输出结果表明,PC1的访问是正常的,而PC2到Web Server的访问被R2(IP地址为192.168.1.2)拒绝。

步骤四:在R2上查看相关的ACL信息

tarena-R2#show ip access-listsStandard IP access list denypc210 deny host 192.168.0.20 (4 match(es))20 permit any (4 match(es))

输出结果也表明,来自于PC2的数据包被拦截。

4 配置扩展命名ACL

4.1 问题

使用基本编号的ACL没有实际意义,只有通过阅读具体的条目才能得知该ACL的作用。而且ACL的编号有限制,如传统的标准ACL用1~99表示,扩展ACL用100~199表示。

1)配置扩展命名ACL实现拒绝PC2(IP地址为192.168.0.20)访问Web Server Web服务,但可访问其他服务。

4.2 方案

命名访问控制列表可以为ACL起一个有意义的名字,通过名称就可以得知该ACL要实现什么功能。同时,因为使用的是名称而不是数字,也就没有了ACL数量上的限制。

网络拓扑如图-8所示:

p_w_picpath008.png

图-8

4.3 步骤

实现此案例需要按照如下步骤进行。

步骤一:将3配置标准命名ACL中的标准命名访问控制列表移除,其他配置保留

tarena-R2(config)#interface f0/1tarena-R2(config-if)#no ip access-group denypc2 outtarena-R2(config-if)#exittarena-R2(config)# no ip access-list standard denypc2

步骤二:在R2上配置扩展命名访问控制列表

命名访问控制列表的配置总体上和用数字表示的ACL一样,但是更加灵活。

tarena-R2(config)#ip access-list extended denypc2tarena-R2(config-ext-nacl)#deny tcp host 192.168.0.20 host 192.168.2.100 eq wwwtarena-R2(config-ext-nacl)#permit ip any anytarena-R2(config)#interface fastEthernet 0/1tarena-R2(config-if)#ip access-group denypc2 out

步骤三:在R2上查看相关的ACL信息

tarena-R2#show access-listsExtended IP access list denypc210 deny tcp host 192.168.0.20 host 192.168.2.100 eq www20 permit ip any any

步骤四:在PC1上验证

PC>ipconfigFastEthernet0 Connection:(default port)Link-local IPv6 Address.........: FE80::2E0:F7FF:FED6:54CCIP Address......................: 192.168.0.10Subnet Mask.....................: 255.255.255.0Default Gateway.................: 192.168.0.1PC>ping 192.168.2.100Pinging 192.168.2.100 with 32 bytes of data:Reply from 192.168.2.100: bytes=32 time=1ms TTL=126Reply from 192.168.2.100: bytes=32 time=0ms TTL=126Reply from 192.168.2.100: bytes=32 time=0ms TTL=126Reply from 192.168.2.100: bytes=32 time=0ms TTL=126Ping 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 = 0msPC>

HTTP协议的验证如图-9所示:

p_w_picpath009.png

图-9

从输入结果可以验证,PC1到Web Server的访问没有受到任何影响。

步骤五:在PC2上进行验证

PC>ipconfigFastEthernet0 Connection:(default port)Link-local IPv6 Address.........: FE80::2D0:BAFF:FE98:9E29IP Address......................: 192.168.0.20Subnet Mask.....................: 255.255.255.0Default Gateway.................: 192.168.0.1PC>ping 192.168.2.100Pinging 192.168.2.100 with 32 bytes of data:Reply from 192.168.2.100: bytes=32 time=1ms TTL=126Reply from 192.168.2.100: bytes=32 time=1ms TTL=126Reply from 192.168.2.100: bytes=32 time=2ms TTL=126Reply from 192.168.2.100: bytes=32 time=0ms TTL=126Ping 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 = 1msPC>

HTTP协议的验证,如图-10所示:

p_w_picpath010.png

图-10

因为只限制了到Web Server的HTTP访问,所以WEB服务已经无法访问,但是仍然可以ping通。