这里有一条200.200.200.0的直连路由要优于缺省路由吧,所以它的出接口变成了F3/0,NAT也转换成了200.200.200.2了!
解决方法:配置ip route 200.200.200.1 255.255.255.255 202.202.202.1的主机路由
C 200.200.200.0/30 is directly connected, FastEthernet3/0
S 200.200.200.1/32 [1/0] via 202.202.202.1
202.202.202.0/30 is subnetted, 1 subnets
C 202.202.202.0 is directly connected, FastEthernet2/0
192.168.1.0/30 is subnetted, 1 subnets
C 192.168.1.0 is directly connected, FastEthernet1/0
S* 0.0.0.0/0 [1/0] via 202.202.202.1
S 192.168.0.0/16 [1/0] via 192.168.1.2
再来PING一下,看NAT表:
VPCS 2 >ping 200.200.200.1
200.200.200.1 icmp_seq=1 time=138.000 ms
200.200.200.1 icmp_seq=2 time=72.000 ms
200.200.200.1 icmp_seq=3 time=64.000 ms
200.200.200.1 icmp_seq=4 time=58.000 ms
200.200.200.1 icmp_seq=5 time=59.000 ms
RT1(config)#do show ip nat t
Pro Inside global Inside local Outside local Outside global
icmp 202.202.202.2:10813 192.168.2.100:10813 200.200.200.1:10813 200.200.200.1:10813
icmp 202.202.202.2:11069 192.168.2.100:11069 200.200.200.1:11069 200.200.200.1:11069
icmp 202.202.202.2:11325 192.168.2.100:11325 200.200.200.1:11325 200.200.200.1:11325
icmp 202.202.202.2:11581 192.168.2.100:11581 200.200.200.1:11581 200.200.200.1:11581
icmp 202.202.202.2:11837 192.168.2.100:11837 200.200.200.1:11837 200.200.200.1:11837
现在可以了吧,这是因为主机路由优于任何一条路由
分析2:把200.200.200.1给DOWN了
Edu-Internet(config)#int f3/0
Edu-Internet(config-if)#shut
Edu-Internet(config)#do show ip int br
Interface IP-Address OK? Method Status Protocol
FastEthernet1/0 222.222.222.2 YES NVRAM up up
FastEthernet3/0 200.200.200.1 YES NVRAM administratively down down
Loopback0 200.200.0.1 YES NVRAM up up
VPCS 3 >ping 200.200.0.1
200.200.0.1 icmp_seq=1 timeout
200.200.0.1 icmp_seq=2 timeout
200.200.0.1 icmp_seq=3 timeout
200.200.0.1 icmp_seq=4 timeout
200.200.0.1 icmp_seq=5 timeout 超时这不失去主策略路由的意义了,不能上网了,怎么办
*Mar 1 00:59:29.363: IP: s=192.168.3.100 (FastEthernet1/0), d=200.200.0.1, len 84, policy match
*Mar 1 00:59:29.367: IP: route map 3, item 10, permit
*Mar 1 00:59:29.367: IP: s=192.168.3.100 (FastEthernet1/0), d=200.200.0.1 (FastEthernet3/0), len 84, policy routed
*Mar 1 00:59:29.371: IP: FastEthernet1/0 to FastEthernet3/0 200.200.200.1
*Mar 1 00:59:29.375: IP: s=200.200.200.2 (FastEthernet1/0), d=200.200.0.1 (FastEthernet3/0),
g=200.200.200.1, len 84, forward
RT1(config)#do show ip nat t
Pro Inside global Inside local Outside local Outside global
icmp 200.200.200.2:28478 192.168.3.100:28478 200.200.0.1:28478 200.200.0.1:28478
icmp 200.200.200.2:28734 192.168.3.100:28734 200.200.0.1:28734 200.200.0.1:28734
icmp 200.200.200.2:28990 192.168.3.100:28990 200.200.0.1:28990 200.200.0.1:28990
icmp 200.200.200.2:29246 192.168.3.100:29246 200.200.0.1:29246 200.200.0.1:29246
从上面可以看得出策略路由依然把192.168.3.0的网段转交给了F3/0,它不知道下一跳不可达
解决方法:RT1(config)#route-map 3 permit 10
RT1(config-route-map)#set ip next-hop verify-availability
在原来的策略路由上再加一条SET语句,就是用来验证下一跳是否有效,失效时,策略路由将被拒绝!很有用的!
VPCS 3 >ping 200.200.0.1
200.200.0.1 icmp_seq=1 timeout
200.200.0.1 icmp_seq=2 time=85.000 ms
200.200.0.1 icmp_seq=3 time=53.000 ms
200.200.0.1 icmp_seq=4 time=52.000 ms
200.200.0.1 icmp_seq=5 time=65.000 ms
*Mar 1 01:02:22.599: IP: s=192.168.3.100 (FastEthernet1/0), d=200.200.0.1, len 84, policy match
*Mar 1 01:02:22.603: IP: route map 3, item 10, permit
*Mar 1 01:02:22.603: IP: s=192.168.3.100 (FastEthernet1/0), d=200.200.0.1 (FastEthernet2/0), len 84, policy rejected -- normal forwarding
*Mar 1 01:02:22.611: IP: s=202.202.202.2 (FastEthernet1/0), d=200.200.0.1 (FastEthernet2/0),
g=202.202.202.1, len 84, forward
RT1(config-route-map)#do show ip nat t
Pro Inside global Inside local Outside local Outside global
icmp 202.202.202.2:7231 192.168.3.100:7231 200.200.0.1:7231 200.200.0.1:7231
icmp 202.202.202.2:7487 192.168.3.100:7487 200.200.0.1:7487 200.200.0.1:7487
icmp 202.202.202.2:7743 192.168.3.100:7743 200.200.0.1:7743 200.200.0.1:7743
icmp 202.202.202.2:7999 192.168.3.100:7999 200.200.0.1:7999 200.200.0.1:7999
icmp 202.202.202.2:8255 192.168.3.100:8255 200.200.0.1:8255 200.200.0.1:8255
现在策略路由被拒绝了吧,把它从F2/0转发出去了,这样就真正意义上主备了,至此大功告成啊!