实验:通过缺省路由平衡负载
所需设备
下面给出本实验所需设备:
1) 两台Cisco路由器,各带有一个Ethernet端口和两个串行端口;
2) 一台带有一个Ethernet端口的Cisco路由器;
3) Cisco IOS11.0或更高;
4) 一台连接到各路由器控制台端口的运行终端仿真程序的微机;
5) 一根Cisco DTE/DCE交叉电缆;
6) 一根Cisco扁平电缆;
7) 一根以太网转接电缆,或者一根以太网hub和两个以太网直通电缆。
配置概述
本配置为两个端用户提供对两个不同服务商的同等访问。如图13-5所示。
图13-5 通过缺省路由平衡负载
路由器2将把从 23.23.23 .3来的到达S0/1接口的报文路由到默认接口E1/1(如果在路由表中没有到报文目的地址的明确路径的话)。而从23.23.23.4的报文将路由到默认接口E1/2(如果在路由表中没有到其目的地址的明确路径的话)。
这个实验要用到缺省接口设置命令,它不同于在以前实验中所用到的下一跳地址设置命
令和下一跳IP地址设置命令。下一跳地址设置命令将把匹配的报文送到相应端口或指定的IP
地址,而不考虑路由表中的内容。而缺省接口设置命令则在路由表中没有明确路径的情况下,
将把报文送到特定接口。
注意当使用缺省接口设置命令时,路由器将首先检验路由表中是否存在明确的路径,如果没有的话,才把报文发送到缺省接口。
路由器配置
路由器2
R2#sh run
interface Serial0/1
ip address 23.23.23 .2 255.255.255.0
ip policy route-map lab1
interface Ethernet1/1
ip address 26.26.26.2 255.255.255.0
interface Ethernet1/2
ip address 62.62.62.2 255.255.255.0
router rip
network 23.0.0 .0
network 26.0.0.0
network 62.0.0.0
access-list 1 permit 23.23.23 .3
access-list 2 permit 23.23.23 .4
!
route-map lab1 permit 10
match ip address 1
set default interface Ethernet1/1
route-map lab1 permit 20
match ip address 2
set default interface Ethernet1/2
路由器6
R6#sh run
interface Loopback0
ip address 6.6.6 .6 255.255.255.0
interface Ethernet1/1
ip address 26.26.26.6 255.255.255.0
interface Ethernet1/2
ip address 62.62.62.6 255.255.255.0
router rip
passive-interface Ethernet1/1
passive-interface Ethernet1/2
network 6.0.0 .0
network 26.0.0.0
network 62.0.0.0
路由器3
R3#sh run
interface Serial0/1
ip address 23.23.23 .4 255.255.255.0 secondary
ip address 23.23.23 .3 255.255.255.0
ip route 0.0.0 .0 0.0.0.0 23.23.23.2
1.1.1. 监测配置
下面给出本例中三台路由器的配置:
当用缺省接口设置命令时,路由器首先检查显示路由表。而路由器2中并没有到 6.6.6 .6 的显示路由。因为路由器6用被动接口命令压缩RIP更新。从路由器2用debug ip policy命令监视策略路由。在3用扩展ping命令ping 6.6.6.6,从而为从23.23.23.3来的报文选择源路。Debug命令的执行结果如下。注意源地址23.23.23.3与route-map语句lab1的序号为10的入口项匹配,并从串行口Seria l0 转发。
*Mar 1 03:27:37.667: IP: s= 23.23.23 .3 (Serial0/1), d=6.6.6.6, len 100, policy match
*Mar 1 03:27:37.671: IP: route map lab1, item 10, permit
*Mar 1 03:27:37.671: IP: s= 23.23.23 .3 (Serial0/1), d=6.6.6.6 (Ethernet1/1), len 100, policy routed
*Mar 1 03:27:37.675: IP: Serial0/1 to Ethernet1/1 6.6.6 .6
从路由器C,ping 6.6.6 .6。
在2上执行debug命令结果如下,注意报文的源地址 23.23.23 .4route-map语句lab1中的序号为20 的入口项匹配,并从接口serial1转发。
*Mar 1 03:30:45.447: IP: s= 23.23.23 .4 (Serial0/1), d=6.6.6.6, len 100, policy match
*Mar 1 03:30:45.451: IP: route map lab1, item 20, permit
*Mar 1 03:30:45.451: IP: s= 23.23.23 .4 (Serial0/1), d=6.6.6.6 (Ethernet1/2), len 100, policy routed
*Mar 1 03:30:45.455: IP: Serial0/1 to Ethernet1/2 6.6.6 .6
在路由器6,删去被动接口设置命令从而使R IP更新报文传向路由器2。现在2通过R IP得知一条到 6.6.6 .6的路径,那么它将不再使用策略路由。因为当使用缺省接口设置命令时,路由器将首先检查路由表。如果路由表中有到目的地址的路径,则使用该路径对报文进行路由。如果路由表中没有到目的地址的明确路径,则用设置的策略路由将报文发向缺省接口。
R6(config)#router rip
R6(config-router)#no passive-interface e1/1
R6(config-router)#no passive-interface e1/2
从路由器3 ping 6.6.6 .6。下面给出在路由器2上执行debug ip policy命令的结果。注意报文与route-map语句lab1的序号为20的入口项匹配。然而,设置的策略被拒绝了,因为路由表中有到6.6.6.6的明确路径。
*Mar 1 03:30:53.431: IP: s= 23.23.23 .4 (Serial0/1), d=6.6.6.6, len 100, policy match
*Mar 1 03:30:53.435: IP: route map lab1, item 20, permit
*Mar 1 03:35:32.647: IP: s= 23.23.23 .3 (Serial0/1), d=6.6.6.6, len 100, FIB policy rejected(explicit route) - normal forwarding