1 HSRP配置
1.1 问题
在企业网络到外部的连接方案中,要求不高的条件下可以是单出口。一旦该出口线路出现问题,整个企业网络就不能连接到外网了。为了使得企业网络到外网连接的高可用性,可以设置两个以上的出口,然而多个出口对于内网主机意味着我个网关。主机不能同时使用多个网关,当主机所使用的网关出现故障时,它不能实现网关的自动切换。
1)配置热备份路由协议
1.2 方案
在出口设备上配置热备份路由协议(HSRP),组成一个HSRP组,组内两个出口设备共享一个虚拟IP地址,该IP地址作为内网主机的网关。
HSRP组成员有主备之分,虚拟IP地址被附加到主设备上。如果主设备线路出故障,备份设备会成为主设备,虚拟IP地址也会迁移过来。这样,不管哪一个出口设备出现问题,不管哪个出口设备在提供外网接入,内网主机的网关都不需要改变。
网络拓扑图如图-1所示:
图-1
蓝色区域表示内网,上面模拟到外网的连接。
1.3 步骤
实现此案例需要按照如下步骤进行。
步骤一:分别在三台路由器上配置端口IP地址
- tarena-R1(config)#int f0/0
- tarena-R1(config-if)#ip address 192.168.0.1 255.255.255.0
- tarena-R1(config-if)#no shutdown
- tarena-R1(config-if)#interface f0/1
- tarena-R1(config-if)#ip address 192.168.1.1 255.255.255.0
- tarena-R1(config-if)#no shutdown
- tarena-R2(config)#interface f0/0
- tarena-R2(config-if)#ip address 192.168.0.2 255.255.255.0
- tarena-R2(config-if)#no shutdown
- tarena-R2(config-if)#interface f0/1
- tarena-R2(config-if)#ip address 192.168.2.1 255.255.255.0
- tarena-R2(config-if)#no shutdown
- tarena-R3(config)#interface f0/0
- tarena-R3(config-if)#ip address 192.168.1.2 255.255.255.0
- tarena-R3(config-if)#no shutdown
- tarena-R3(config-if)#interface f0/1
- tarena-R3(config-if)#ip address 192.168.2.2 255.255.255.0
- tarena-R3(config-if)#no shutdown
- tarena-R3(config-if)#interface f1/0
- tarena-R3(config-if)#ip address 200.1.1.1 255.255.255.0
- tarena-R3(config-if)#no shutdown
步骤二:在R1和R2上配置到外网的默认路由
- tarena-R1(config)#ip route 0.0.0.0 0.0.0.0 192.168.1.2
- tarena-R1(config)#end
- tarena-R1#show ip route
- Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
- D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
- N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
- E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
- i - 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 - ODR
- P - periodic downloaded static route
- Gateway of last resort is 192.168.1.2 to network 0.0.0.0
- C 192.168.0.0/24 is directly connected, FastEthernet0/0
- C 192.168.1.0/24 is directly connected, FastEthernet0/1
- S* 0.0.0.0/0 [1/0] via 192.168.1.2
- tarena-R1#
- tarena-R2(config)#ip route 0.0.0.0 0.0.0.0 192.168.2.2
- tarena-R2(config)#exit
- tarena-R2#show ip route
- Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
- D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
- N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
- E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
- i - 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 - ODR
- P - periodic downloaded static route
- Gateway of last resort is 192.168.2.2 to network 0.0.0.0
- C 192.168.0.0/24 is directly connected, FastEthernet0/0
- C 192.168.2.0/24 is directly connected, FastEthernet0/1
- S* 0.0.0.0/0 [1/0] via 192.168.2.2
步骤三:在R3上配置到企业内网的静态路由
- tarena-R3(config)#ip route 192.168.0.0 255.255.255.0 192.168.2.1
- tarena-R3(config)#ip route 192.168.0.0 255.255.255.0 192.168.1.1
- tarena-R3(config)#end
- tarena-R3#show ip route
- Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
- D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
- N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
- E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
- i - 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 - ODR
- P - periodic downloaded static route
- Gateway of last resort is not set
- S 192.168.0.0/24 [1/0] via 192.168.2.1
- [1/0] via 192.168.1.1
- C 192.168.1.0/24 is directly connected, FastEthernet0/0
- C 192.168.2.0/24 is directly connected, FastEthernet0/1
- C 200.1.1.0/24 is directly connected, FastEthernet1/0
- tarena-R3#
步骤四:在R1上配置HSRP,指定其优先级为200
HSRP的默认优先级为100,路由器启动后,根据优先级决定谁可以成为活跃路由器,优先级高的将胜出。如果路由器优先级相同,再比较端口IP地址,IP地址大的成为活路跃路由器。
另外,如果优先级低的路由器先启动了,它将成为活跃路由器。优先级高的路由器启动后,发现已有活跃路由器存在,它将接受现状,直到活跃路由器出现故障它才会在重新选举时成为活跃角色。
- tarena-R1(config)#interface f0/0
- tarena-R1(config-if)#standby 1 ip 192.168.0.254
- tarena-R1(config-if)#standby 1 priority 200
- %HSRP-6-STATECHANGE: FastEthernet0/0 Grp 1 state Speak -> Standby
- %HSRP-6-STATECHANGE: FastEthernet0/0 Grp 1 state Standby -> Active
配置HSRP后,通过输出日志可以观察到路由器角色的改变。
步骤五:在R2上配置HSRP,指定其优先级为195
- tarena-R2(config)#interface f0/0
- tarena-R2(config-if)#standby 1 ip 192.168.0.254
- tarena-R2(config-if)#standby 1 priority 195
- %HSRP-6-STATECHANGE: FastEthernet0/0 Grp 1 state Speak -> Standby
步骤六:分别在R1和R2上查看HSRP信息
- tarena-R1#show standby brief
- P indicates configured to preempt.
- |
- Interface Grp Pri P State Active Standby Virtual IP
- Fa0/0 1 200 Active local 192.168.0.2 192.168.0.254
- tarena-R2#show standby brief
- P indicates configured to preempt.
- |
- Interface Grp Pri P State Active Standby Virtual IP
- Fa0/0 1 195 Standby 192.168.0.1 local 192.168.0.254
根据输出信息,可以看到优先级大的R1成为了活跃路由器,继续在其上面查看arp信息,能够查看到虚拟IP地址被附加到R1上了。
- tarena-R1#show ip arp
- Protocol Address Age (min) Hardware Addr Type Interface
- Internet 192.168.0.1 - 0005.5E53.3001 ARPA FastEthernet0/0
- Internet 192.168.0.254 12 0000.0C9F.F001 ARPA FastEthernet0/0
- Internet 192.168.1.1 - 0005.5E53.3002 ARPA FastEthernet0/1
步骤七:在内部主机上测试到外网主机的连通性
- PC>ipconfig
- FastEthernet0 Connection:(default port)
- Link-local IPv6 Address.........: FE80::207:ECFF:FE80:557D
- IP Address......................: 192.168.0.10
- Subnet Mask.....................: 255.255.255.0
- Default Gateway.................: 192.168.0.254
- PC>ping 200.1.1.10
- Pinging 200.1.1.10 with 32 bytes of data:
- Reply from 200.1.1.10: bytes=32 time=0ms TTL=126
- Reply from 200.1.1.10: bytes=32 time=0ms TTL=126
- Reply from 200.1.1.10: bytes=32 time=0ms TTL=126
- Reply from 200.1.1.10: bytes=32 time=1ms TTL=126
- Ping statistics for 200.1.1.10:
- Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
- Approximate round trip times in milli-seconds:
- Minimum = 0ms, Maximum = 1ms, Average = 0ms
- PC>tracert 200.1.1.10
- Tracing route to 200.1.1.10 over a maximum of 30 hops:
- 1 0 ms 1 ms 0 ms 192.168.0.1
- 2 0 ms 1 ms 0 ms 192.168.1.2
- 3 0 ms 0 ms 0 ms 200.1.1.10
- Trace complete.
- PC>
Ping命令只能检测网络是否连通,如果要查看具体路径需要使用tracert。根据tracert显示结果,R1转发了PC机的数据包。
步骤八:关闭R1电源,模拟设备故障,查看R2的HSRP信息
- tarena-R2#
- %HSRP-6-STATECHANGE: FastEthernet0/0 Grp 1 state Standby -> Active
- tarena-R2#show standby brief
- P indicates configured to preempt.
- |
- Interface Grp Pri P State Active Standby Virtual IP
- Fa0/0 1 195 Active local unknown 192.168.0.254
- tarena-R2#show ip arp
- Protocol Address Age (min) Hardware Addr Type Interface
- Internet 192.168.0.2 - 0001.4200.9C01 ARPA FastEthernet0/0
- Internet 192.168.0.10 9 0007.EC80.557D ARPA FastEthernet0/0
- Internet 192.168.0.254 1 0000.0C9F.F001 ARPA FastEthernet0/0
- Internet 192.168.2.1 - 0001.4200.9C02 ARPA FastEthernet0/1
- Internet 192.168.2.2 9 0005.5E59.E002 ARPA FastEthernet0/1
结果显示R2已成为活跃路由器,而备份路由器状态未知。虚拟路由器的IP地址192.168.0.254/24也已迁移到R2上了。
步骤九:再次在内部主机上测试到外网主机的连通性
- PC>ping 200.1.1.10
- Pinging 200.1.1.10 with 32 bytes of data:
- Reply from 200.1.1.10: bytes=32 time=0ms TTL=126
- Reply from 200.1.1.10: bytes=32 time=1ms TTL=126
- Reply from 200.1.1.10: bytes=32 time=1ms TTL=126
- Reply from 200.1.1.10: bytes=32 time=0ms TTL=126
- Ping statistics for 200.1.1.10:
- Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
- Approximate round trip times in milli-seconds:
- Minimum = 0ms, Maximum = 1ms, Average = 0ms
- PC>tracert 200.1.1.10
- Tracing route to 200.1.1.10 over a maximum of 30 hops:
- 1 1 ms 0 ms 0 ms 192.168.0.2
- 2 0 ms 0 ms 0 ms 192.168.2.2
- 3 0 ms 1 ms 0 ms 200.1.1.10
- Trace complete.
- PC>
根据tracert结果,路由器R2转发了PC机的数据包
步骤十:再次在内部主机上测试到外网主机的连通性
备份路由器成为活跃路由器后,原来的活跃路由器R1即使线路修复也不会重新成为进入活跃状态。
为了使路由器完全根据优先级来决定其状态,需要配置占先权。占先权保证了严格根据优先级来决定哪台设备进入活跃状态。
- tarena-R1(config)#interface f0/0
- tarena-R1(config-if)#standby 1 preempt
- tarena-R2(config)#interface f0/0
- tarena-R2(config-if)#standby 1 preempt
2 PVST+的配置
2.1 问题
二层网络中有可能出现因为线路故障而导致的通信故障,通过冗余线路可以消除因为某一线路故障而导致的网络中断。
但是因为冗余线路的存在,又可能会出现广播风暴、相同帧的不断复制和MAC地址表不稳定。
1)配置Switch1为vlan1的主根,Switch2为vlan1的次根
2.2 方案
为了保证在冗余环境下不会出广播风暴等问题,引入了生成树(STP)协议。通过生成树协议可以把冗余线路上的某一个端口置为阻塞(BLOCKING)状态,防止广播风暴的产生,当某一线路出现故障时,被阻塞的端口自动进入转发(FORWARDING)状态,保证网络的畅通性。
网络拓扑如图-2所示:
图-2
2.3 步骤
实现此案例需要按照如下步骤进行。
步骤一:将三台交换机相连的端口配置为中继端口
- tarena-sw1(config)#interface range f0/12 -13
- tarena-sw1(config-if-range)#switchport mode trunk
- tarena-sw2(config)#interface range f0/12, f0/23
- tarena-sw2(config-if-range)#switchport mode trunk
- tarena-sw3(config)#interface range f0/13 ,f0/23
- tarena-sw3(config-if-range)#switchport mode trunk
步骤二:设置tarena-sw1为根网桥
根网桥唯一的依据是BID最小。BID分为两个部分:优先级+MAC地址。比较BID时,先比较优先级,如果优先级相同才比较MAC地址。
优先级取值范围是0到65535,默认值为32768。在查看优先级时,即使是默认值看到的也不是32768,因为交换机的优先级采用系统优先级+VLAN编号的方式,所以查看到的VLAN1默认优先级是32769(系统优先级32768+VLAN编号1)。
- tarena-sw1(config)#spanning-tree vlan 1 root primary
- tarena-sw1(config)#exit
- tarena-sw1#show spanning-tree
- VLAN0001
- Spanning tree enabled protocol ieee
- Root ID Priority 24577 //默认优先级为32768
- Address 0060.478B.607B
- This bridge is the root
- Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
- Bridge ID Priority 24577 (priority 24576 sys-id-ext 1)
- Address 0060.478B.607B
- Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
- Aging Time 20
- Interface Role Sts Cost Prio.Nbr Type
- ----------- ------ --- -------- -------- ----------------------
- Fa0/13 Desg FWD 19 128.13 P2p
- Fa0/12 Desg FWD 19 128.12 P2p
查看到的结果,Root ID部分指的是根网桥信息,Bridge ID部分是当前所操作的交换机信息,如果二者一致表示当前操作的交换机就是根网桥。
步骤三:设置tarena-sw2为次根,即BID值大小居中
- tarena-sw2(config)#spanning-tree vlan 1 root secondary
- tarena-sw2#show spanning-tree
- VLAN0001
- Spanning tree enabled protocol ieee
- Root ID Priority 24577 //此处虽然与tarena-sw1一样,但MAC地址更大
- Address 0060.478B.607B
- Cost 19
- Port 12(FastEthernet0/12)
- Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
- Bridge ID Priority 28673 (priority 28672 sys-id-ext 1)
- Address 0090.0C77.8924
- Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
- Aging Time 20
- Interface Role Sts Cost Prio.Nbr Type
- ---------- ---- ---- ----- -------- ---------
- Fa0/12 Root FWD 19 128.12 P2p
- Fa0/23 Desg FWD 19 128.23 P2p
步骤四:tarena-sw3不需要做改动,直接查看STP状态
- tarena-sw3#show spanning-tree
- VLAN0001
- Spanning tree enabled protocol ieee
- Root ID Priority 24577
- Address 0060.478B.607B
- Cost 19
- Port 13(FastEthernet0/13)
- Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
- Bridge ID Priority 32769 (priority 32768 sys-id-ext 1)
- Address 0060.5C9E.2E75
- Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
- Aging Time 20
- Interface Role Sts Cost Prio.Nbr Type
- ---------- ------ ---- ----- -------- ----------
- Fa0/13 Root FWD 19 128.13 P2p
- Fa0/23 Altn BLK 19 128.23 P2p
观察Sts列(即状态status),Fa0/23端口当前是耳塞(BLK)状态,即该端口不能转发数据。
步骤五:模拟交换机间线缆故障。将tarena-sw2的Fa0/12口shutdown,再次检查tarena-sw3端口状态
- tarena-sw2(config)#interface f0/12
- tarena-sw2(config-if)#shutdown
- tarena-sw3#show spanning-tree
- VLAN0001
- Spanning tree enabled protocol ieee
- Root ID Priority 24577
- Address 0060.478B.607B
- Cost 19
- Port 13(FastEthernet0/13)
- Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
- Bridge ID Priority 32769 (priority 32768 sys-id-ext 1)
- Address 0060.5C9E.2E75
- Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
- Aging Time 20
- Interface Role Sts Cost Prio.Nbr Type
- ---------- ------ ---- ----- -------- ----------
- Fa0/13 Root FWD 19 128.13 P2p
- Fa0/23 Desg FWD 19 128.23 P2p
从tarena-sw3的输出可以看到,Fa0/23端口已从阻塞状态切换到转发(FWD)状态,保证了网络的畅通。当线路恢复(在rarena-sw2的Fa0/12端口执行no shutdown)后,tarena-sw3的Fa0/23端口将重新进入阻塞状态以网止环路的产生。
在查看时,tarena-sw3的Fa0/23端口不是立即进入转发或是阻塞状态。生成树端口有阻塞,侦听,学习和转发四个状态,当拓扑变化时,端口状态改变要遵从这些状态的逐渐改变。
1 配置标准ACL
1.1 问题
络调通后,保证网络是通畅的。同时也很可能出现未经授权的非法访问。企业网络既要解决连连通的问题,还要解决网络安全的问题。
1)配置标准ACL实现拒绝PC2(IP地址为192.168.0.20)对Web Server P的浏览器访问
1.2 方案
访问控制是网络安全防范和保护的主要策略,它的主要任务是保证网络资源不被非法使用和访问。它是保证网络安全最重要的核心策略之一。
访问控制列表(Access Control Lists,ACL)是应用在路由器接口的指令列表。这些指令列表用来告诉路由器哪能些数据包可以收、哪能数据包需要拒绝。至于数据包是被接收还是拒绝,可以由类似于源地址、目的地址、端口号等的特定指示条件来决定。
标准访问控制列表只能根据数据包的源IP地址决定是否允许通过。
网络拓扑如图-1所示:
图-1
1.3 步骤
实现此案例需要按照如下步骤进行。
步骤一:在R1上配置IP地址及静态路由
- tarena-R1(config)#interface f0/0
- tarena-R1(config-if)#ip address 192.168.0.1 255.255.255.0
- tarena-R1(config-if)#no shutdown
- tarena-R1(config-if)#interface f0/1
- tarena-R1(config-if)#ip address 192.168.1.1 255.255.255.0
- tarena-R1(config-if)#no shutdown
- tarena-R1(config-if)#exit
- tarena-R1(config)#ip route 192.168.2.0 255.255.255.0 192.168.1.2
步骤二:在R2上配置IP地址及静态路由
- tarena-R2(config)#interface f0/0
- tarena-R2(config-if)#ip address 192.168.1.2 255.255.255.0
- tarena-R2(config-if)#no shutdown
- tarena-R2(config-if)#interface f0/1
- tarena-R2(config-if)#ip address 192.168.2.1 255.255.255.0
- tarena-R2(config-if)#no shutdown
- tarena-R2(config-if)#exit
- tarena-R2(config)#ip route 192.168.0.0 255.255.255.0 192.168.1.1
步骤三:在R1和R2上检查路由表
- tarena-R1#show ip route
- Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
- D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
- N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
- E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
- i - 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 - ODR
- P - periodic downloaded static route
- Gateway of last resort is not set
- C 192.168.0.0/24 is directly connected, FastEthernet0/0
- C 192.168.1.0/24 is directly connected, FastEthernet0/1
- S 192.168.2.0/24 [1/0] via 192.168.1.2
- tarena-R2#
- tarena-R2#show ip route
- Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
- D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
- N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
- E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
- i - 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 - ODR
- P - periodic downloaded static route
- Gateway of last resort is not set
- S 192.168.0.0/24 [1/0] via 192.168.1.1
- C 192.168.1.0/24 is directly connected, FastEthernet0/0
- C 192.168.2.0/24 is directly connected, FastEthernet0/1
步骤四:测试主机到Web Server的连通性
在实施ACL之前先检查网络是否能够正常通信,因为没有任何限制,网络应该是处于连通状态。
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:
- Request timed out.
- Request timed out.
- 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 = 2, Lost = 2 (50% loss),
- Approximate round trip times in milli-seconds:
- Minimum = 0ms, Maximum = 0ms, Average = 0ms
- PC>
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=2ms 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 = 2ms, Average = 0ms
- PC>
步骤五:在R2上配置标准访问控制列表,并应用到Fa0/1端口出方向上
标准访问控制列表因为只能限制源IP地址,因此应该把ACL放到离目标最近的端口出方向上。
ACL的匹配规则中,最后有一条隐含拒绝全部。如果语句中全部是拒绝条目,那么最后必须存在允许语句,否则所有数据通信都将被拒绝。
- tarena-R2(config)#access-list 1 deny host 192.168.0.20
- tarena-R2(config)#access-list 1 permit any
- tarena-R2(config)#interface f0/1
- tarena-R2(config-if)#ip access-group 1 out
步骤六:分别在两台主机上测试到Web Server的连通性
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>
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.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-lists
- Standard IP access list 1
- deny 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所示:
图-2
2.3 步骤
实现此案例需要按照如下步骤进行。
步骤一:将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协议访问,如图3和图-4所示:
图-3
图-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 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协议的验证如图-5所示:
图-5
从输入结果可以验证,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协议的验证,如图-6所示:
图-6
因为只限制了到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访问包。
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所示:
图-7
3.3 步骤
实现此案例需要按照如下步骤进行。
步骤一:将2配置扩展ACL中的扩展访问控制列表移除,其他配置保留
- tarena-R1(config)#interface f0/0
- tarena-R1(config-if)#no ip access-group 100 in
- tarena-R1(config-if)#exit
- tarena-R1(config)#no access-list 100
步骤二:在R2上配置标准的命名访问控制列表
命名访问控制列表的配置总体上和用数字表示的ACL一样,但是更加灵活。
- tarena-R2(config)#ip access-list standard denypc2
- tarena-R2(config-std-nacl)#deny host 192.168.0.20
- tarena-R2(config-std-nacl)#permit any
- tarena-R2(config-std-nacl)#exit
- tarena-R2(config)#interface f0/1
- tarena-R2(config-if)#ip access-group denypc2 out
步骤三:分别在PC1和PC2上做连通性测试
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=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
- 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 = 0ms, Average = 0ms
- PC>
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.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-lists
- Standard IP access list denypc2
- 10 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所示:
图-8
4.3 步骤
实现此案例需要按照如下步骤进行。
步骤一:将3配置标准命名ACL中的标准命名访问控制列表移除,其他配置保留
- tarena-R2(config)#interface f0/1
- tarena-R2(config-if)#no ip access-group denypc2 out
- tarena-R2(config-if)#exit
- tarena-R2(config)# no ip access-list standard denypc2
步骤二:在R2上配置扩展命名访问控制列表
命名访问控制列表的配置总体上和用数字表示的ACL一样,但是更加灵活。
- tarena-R2(config)#ip access-list extended denypc2
- tarena-R2(config-ext-nacl)#deny tcp host 192.168.0.20 host 192.168.2.100 eq www
- tarena-R2(config-ext-nacl)#permit ip any any
- tarena-R2(config)#interface fastEthernet 0/1
- tarena-R2(config-if)#ip access-group denypc2 out
步骤三:在R2上查看相关的ACL信息
- tarena-R2#show access-lists
- Extended IP access list denypc2
- 10 deny tcp host 192.168.0.20 host 192.168.2.100 eq www
- 20 permit ip any any
步骤四:在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协议的验证如图-9所示:
图-9
从输入结果可以验证,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协议的验证,如图-10所示:
图-10
因为只限制了到Web Server的HTTP访问,所以WEB服务已经无法访问,但是仍然可以ping通。