Cisco——基于链路的HSRP到ISP网络的基本配置
拓扑图

Cisco——基于链路的HSRP到ISP网络的基本配置_休闲

配置平台:小凡模拟器、IOS(unzip-c3640-ik9o3s-mz.124-10.bin)可以上网下载。
1.       环境的搭建
I、使用小凡模拟器选择路由器和交换机的个数,设备类型,加载IOS文件。

Cisco——基于链路的HSRP到ISP网络的基本配置_HSRP_02

II、计算idle值,方法是点击“计算idle”,出现下图

Cisco——基于链路的HSRP到ISP网络的基本配置_ISP网络_03

按任意键之后,让IOS先运行几条简单命令,然后按Ctrl+],释放立即按“i”键。

Cisco——基于链路的HSRP到ISP网络的基本配置_ISP网络_04

在这里我们要选count值最大的一个填入到idle-pc值的框中,然后点确定。输出目录选择你要存放配置文件的路径。选择好之后,下一步。
III、给路由器和交换机添加模块

Cisco——基于链路的HSRP到ISP网络的基本配置_休闲_05

 
2台交换机选择的是NM-16ESW的模块。然后“下一步”。
IV、设备之间的连线

Cisco——基于链路的HSRP到ISP网络的基本配置_休闲_06

查看连线正确之后,生成.BAT文件,然后退出。
V、打开配置文件的目录,把路由交换都启动起来,通过telnet连接这些路由交换进行配置。
R1—R5的console端口的进入依次为 telnet 127.0.0.1 2001 ……2005
SW1和SW2的console口进入为telnet 127.0.0.1 3001和3002
这个启动的过程需要消耗大量的CPU、内存资源,所以对硬件的要求还是比较大的,不过真正启动来了就不怎么消耗资源了,如果发现启动之后CPU、内存显示居高不下,那就是你的idle 值计算的不合适,关掉服务,重新配置,选择合适的idle值就OK了。
2.       端口的配置
拓扑图中的PC1和PC2可以由2台路由器模拟PC,也可以在搭建环境时桥接虚拟PC,由于桥接虚拟PC需要开启2台虚拟机,消耗资源太大,这里就不那么麻烦了,直接用路由模拟PC了。
Router (config)#no ip routing      -----------取消路由功能
Router (config)#hostname PC1     -----------给设备起个新名字
PC1(config)#line console 0
PC1(config-line)#logging synchronous
PC1(config-line)#no exec-timeout         ----------防止设备长时间不进行操作而超时  
PC1(config)#interface f0/0
PC1(config-if)#ip address 192.168.10.10 255.255.255.0
PC1(config-if)#no shutdown
PC1(config-if)#exit
PC1(config)#ip default-gateway 192.168.10.254   ---网关的设置是由下边进行路由热备份之后产生的虚拟路由器地址作为PC的网关地址
这个PC1的配置就完成了,PC2的配置和这个差不多,需要更改的是
PC2(config)#interface f0/0
PC2(config)#ip address 192.168.20.20 255.255.255.0
PC2(config)#ip default-gateway 192.168.20.254
PC的配置完成了,接下来就是路由器和交换机的接口配置
R1(config)#interface e0/0.10                 -----------------启用子接口
R1(config-subif)#encapsulation dot1Q 10       ------------修改vlan允许通过的封装协议
R1(config-subif)#ip address 192.168.10.1 255.255.255.0
R1(config)#interface e0/0.20
R1(config-subif)#encapsulation dot1Q 20
R1(config-subif)#ip address 192.168.20.1 255.255.255.0
R1(config)#interface e0/0
R1(config-if)#no shutdown
需要注意的是,这个时候你在R1的e0/0端口上和SW1的f0/0的双工状态不匹配
R1(config)#interface e0/0
R1(config-if)#duplex full             --------启动全双工
 
 
R2(config)#interface e0/0.10
R2(config-subif)#encapsulation dot1Q 10
R2(config-subif)#ip address 192.168.10.2 255.255.255.0
R2(config)#interface e0/0.20
R2(config-subif)#encapsulation dot1Q 20
R2(config-subif)#ip address 192.168.20.2 255.255.255.0
R2(config)#interface e0/0
R2(config-if)#duplex full
R2(config-if)#no shutdown
 
 
R3(config)#interface e0/1
R3(config-if)#ip address 192.168.13.3 255.255.255.0
R3(config-if)#no shutdown
R3(config-if)#exit
R3(config)#interface e0/2
R3(config-if)#ip address 192.168.23.3 255.255.255.0
R3(config-if)#no shutdown
R3(config-if)#exit
R3(config)#interface loopback 0
R3(config-if)#ip address 3.3.3.3 255.255.255.0
R3(config-if)#no shutdown              ---------在这里我们启用路由器R3的环回接口来模拟ISP网络
3.       端口的优先级和vlan的虚拟网关
R1(config-subif)#standby 10 ip 192.168.10.254        ----vlan10的虚拟网关
R1(config-subif)#standby 10 priority 120        ----子接口e0/0.10的优先级,默认是100
R1(config-subif)#standby 10 preempt          ---------允许抢占
R1(config)#interface e0/0.20
R1(config-subif)#standby 20 ip 192.168.20.254
 
 
R2(config)#interface e0/0.10
R2(config-subif)#standby 10 ip 192.168.10.254
R2(config-subif)#exit
R2(config)#interface e0/0.20
R2(config-subif)#standby 20 ip 192.168.20.254      ---vlan20的虚拟网关 
R2(config-subif)#standby 20 priority 120      ----子接口e0/0.20的优先级
R2(config-subif)#standby 20 preempt
 
4.       交换机端口配置
首先在交换机上创建vlan
SW1#vlan database   
SW1(vlan)#vlan 10
SW1(vlan)#vlan 20                    --------创建vlan
SW1(config)#interface f0/0
SW1(config-if)#switchport mode trunk        ---端口设置为trunk模式
SW1(config)#interface f0/15
SW1(config-if)#switchport mode trunk
SW1(config)#interface f0/1
SW1(config-if)#switchport mode access       
SW1(config-if)#switchport access vlan 10       ---端口允许vlan 10的信息通过
 
 
SW2#vlan database
SW2(vlan)#vlan 10
SW2(vlan)#vlan 20
SW2(config)#interface f0/0
SW2(config-if)#switchport mode trunk
SW2(config-if)#exit
SW2(config)#interface f0/15
SW2(config-if)#switchport mode trunk
SW2(config-if)#exit
SW2(config)#interface f0/1
SW2(config-if)#switchport mode access
SW2(config-if)#switchport access vlan 20     ----端口允许 vlan 20 的信息通过
5.       路由热备份设置
我们把PC1作为vlan 10的一台主机,PC2作为vlan 20的一台主机,我们想要使PC1的消息发送到PC2,当PC1的消息向上通过交换机SW1后,接下来要经过路由器的转发,但是问题是这里我们有2台路由器,PC1发出的消息究竟走哪个路由器,然后把消息转发给PC2的。我们在第三步的端口优先级设置中已经在R1和R2的子接口上进行了优先的配置,我们知道路由器转发数据包是选择优先级高的链路进行转发的,所以答案很明显PC1向PC2发送的消息要通过R1的转发。但是新的问题出现了,我们不能保证路由器R1一直处于工作状态,万一有一天R1设备出问题了或者R1连接的上层链路出现问题,而R2的子接口优先级没有R1接口优先级高,而我们又没有进行路由的热备份,我们怎么使PC1向PC2发送消息呢? 这里就要使用到路由的热备份了,Cisco中叫HSRP,把多台路由器组成一个热备份组,形成一个虚拟路由器。
接下来我们就对R1和R2进行配置
R1(config)#interface e0/0.10
R1(config-subif)#standby 10 track e0/1 30   ---跟踪e0/1端口,如果出现问题,子接口e0/0.10的优先级主动降低30
R1(config-subif)#exit
R1(config)#interface e0/0.20
R1(config-subif)#standby 20 preempt     ---允许e0/0.20抢占
 
R2(config)#interface e0/0.10
R2(config-subif)#standby 10 preempt
R2(config-subif)#exit
R2(config)#interface e0/0.20
R2(config-subif)#standby 20 track e0/2 30
6.       配置路由器间链路
R1(config)#interface e0/1
R1(config-if)#ip address 192.168.13.1 255.255.255.0
R1(config-if)#no shutdown
 
R2(config)#interface e0/2
R2(config-if)#ip address 192.168.23.2 255.255.255.0
R2(config-if)#no shutdown
7.       这样的配置之后,大家想想看,作为vlan10 的PC1和vlan20的PC2能否访问ISP网络呢?
答案显然是不能的
PC1#ping 3.3.3.3
 
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 3.3.3.3, timeout is 2 seconds:
U.U.U
Success rate is 0 percent (0/5)
在PC1上进行的测试,直接显示了目标地址不可达。为什么呢?明明路由器地址,交换机配置都正确无误啊?这是因为我们的内网vlan10 和vlan20所使用的地址,在内网我们使用这种地址当然无可厚非,但是经过路由器访问外部网络时,我们的内网地址都是非法地址,所有从非法地址发送的数据路由器是不进行转发的。在这里我们还得继续进行配置,那就是端口的NAT转换,配置了这个,我们内网的非法地址再去访问外部网络时才不会出问题。
R1(config)#access-list 10 permit any        -------创建访问规则
R1(config)#ip nat inside source list 10 interface e0/1 overload --在哪个端口进行转换R1(config)#interface e0/0.10
R1(config-subif)#ip nat inside
R1(config-subif)#exit
R1(config)#interface e0/0.20
R1(config-subif)#ip nat inside
R1(config)#interface e0/1
R1(config-if)#ip nat outside
R1(config)#ip route 0.0.0.0 0.0.0.0 192.168.13.3 ----创建一条默认路由指向下一跳路由的端口地址
 
R2(config)#access-list 20 permit any
R2(config)#ip nat inside source list 20 interface e0/2 overload
R2(config)#interface e0/0.10
R2(config-subif)#ip nat inside
R2(config-subif)#exit
R2(config)#interface e0/0.20
R2(config-subif)#ip nat inside
R2(config-subif)#exit
R2(config)#interface e0/2
R2(config-if)#ip nat outside
R2(config)#ip route 0.0.0.0 0.0.0.0 192.168.23.3
8.       测试
上述配置完成后,我们再用PC1和PC2访问ISP网络,是否能正常通信。
在R1上把NAT的debug开关打开
R1#debug ip nat
 
PC1#ping 3.3.3.3
 
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 3.3.3.3, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 16/76/164 ms
 

Cisco——基于链路的HSRP到ISP网络的基本配置_职场_07

PC1的地址已经转换成路由器R1的出口地址。
 然后我们把R1的e0/1端口down掉,再进行测试

Cisco——基于链路的HSRP到ISP网络的基本配置_HSRP_08

 此时的PC1地址已经变成了路由器R2的出口地址了,虽然R1与外网断开了,但是不影响内网与外网之间的通信,这就是路由热备份的好处。

这个时候我们可以查看一下路由器的备份状态

Cisco——基于链路的HSRP到ISP网络的基本配置_思科_09

由于R1失去了与外界的联系,所以R2的所有子接口都转为激活状态,而R1的所有子接口都转为备份状态,等待修复。如果我们再把R1的e0/1端口打开,情况会是什么样儿呢?
我们会发现R1的子接口e0/0.10又变成了激活状态。

Cisco——基于链路的HSRP到ISP网络的基本配置_HSRP_10

 其实还有一个问题,就是我们进行测试时只有vlan10下的PC1能够ping通R3上模拟ISP网络的环回接口,vlan20下的PC2我无论如何也ping不通,但是又找不到问题所在,希望兄弟姐妹们多多给小弟我指点一二,感激不尽!!!