|
本帖最后由 magic_os 于 2011-2-20 16:49 编辑
Topo如下:
我先简单的描述一下这个网络~
R1上面分配了3个DHCP地址池(192.168.0/1/2.0),用来给PC1、PC2、PC3分配IP(地址池配置正确)
R1 S0/0/0 IP为12.1.1.1
并且R1上面使用默认路由指向R2的S0/0/0(12.1.1.2)
R1(config)#ip route 0.0.0.0 0.0.0.0 12.1.1.2
PC1、PC2、PC3都使用自动获取IP~
R2 S0/0/0 IP为12.1.1.2
S0/0/1 IP为23.1.1.2
Fa0/0 IP为192.168.2.1
并且在fa0/0设置了DHCP中继指向R1 12.1.1.1
R3 S0/0/1 IP为23.1.1.3
Fa0/0 IP为192.168.0.1
Fa0/1 IP为192.168.1.1
R3使用默认路由指向R2的S0/0/1(23.1.1.2)
并且在fa0/0和fa0/1设置了DHCP中继指向R1 12.1.1.1
----------------------------------------
问题在这里了
我在R2上面使用两个默认路由,一个指向R1一个指向R3:
R2(config)# ip route 0.0.0.0 0.0.0.0 12.1.1.1
R2(config)# ip route 0.0.0.0 0.0.0.0 23.1.1.3
这个时候问题出现了~PC1能够正确的获取IP
PC2和PC3都不能正确获取IP,这个是为什么呢?
另外~如果是上面这样两条默认路由同时指向不同的路由的情况
那么会优先选择哪条路由转发?或者拷贝成两份同时转发给两个路由?
-----------------------------------------
其实这个问题我知道只要将R2指向R1的那条默认路由删去
就能正确分配到IP了 ,
只是我不知道为什么设置两条默认路由后就不能分配到IP了,
本来我以为只有一条默认路由会起作用,所以我将
R2(config)# ip route 0.0.0.0 0.0.0.0 12.1.1.1
R2(config)# ip route 0.0.0.0 0.0.0.0 23.1.1.3
两条对调成
R2(config)# ip route 0.0.0.0 0.0.0.0 23.1.1.3
R2(config)# ip route 0.0.0.0 0.0.0.0 12.1.1.1
可是任然不能让PC2 PC3分配到IP~
删去其中的
R2(config)#no ip route 0.0.0.0 0.0.0.0 12.1.1.1
就能正确分配了~就这个小问题~
还希望老师们各路英雄们赐教~谢谢谢谢~!
-------------------------------------------------------------------
对于这个问题我看完2楼薯薯的回复后仔细想了想~会不会是和DHCP的租约过程有关系~?
比如薯薯说的那个负载均衡~
Routing Descriptor Blocks:
* 23.1.1.3
Route metric is 0, traffic share count is 1
12.1.1.1
Route metric is 0, traffic share count is 1
那么DHCP Discover包首先发到R1,R1会去找匹配的地址池,找到后先发个ARP包确认这个IP没有使用,
然后发送一个DHCP offer这个offer如果刚好是走的第一条默认路由(23.1.1.3)这个offer包就能到达PC2 PC3~
这个时候PC2 PC3会回一个DHCP request给R1,问题就出现在这里~
R1的那个DHCP Ack回复包到达R2根据负载均衡就会走第二条默认路由,
从而倒置PC2 PC3一直收不到DHCP确认信息~
如果上面offer刚好是走的第二条默认路由(12.1.1.1)那么PC1 PC2连Offer都收不到~
不知道这个猜测对不对?因为在没有中继的情况下这些包都是广播的~有中继的情况 包是不是会单播呢?
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|