关于DHCP Server设计的问题

 

本问题来自于网友:咸菜包子

 

老实说,这个问题也是我凭着印象去胡诌了,给这位网友的答疑也是抱着试一试的态度。结果这次居然让我蒙对了,先小小窃喜一下……

 

先上图:

blob.png

该网友在拓扑图的左上角使用Windows Server 2008搭建了一个DHCP Server,与两台核心交换机互联,目的是为局域网内的10.141.10.0/2410.141.20.0/2410.141.28.0/24分配IP地址。

       他在设计网络的时候,在两个核心交换机L3SW-1L3SW-2之间配置了VRRP,使用虚拟地址作为DHCP Server的网关。而在DHCP Server上,两张网卡E0E1做桥接。但是这么做出了问题:

blob.png

blob.png

       捷哥看了一下他给的图,在通过他的描述,基本上已经猜到了他的问题:

1、  DHCP ServerE0口与E1口桥接为二层接口,分别与L3SW-1E1/2L3SW-2E1/3互联,由于这些接口都是二层接口,进而得知DHCP ServerL3SW-1L3SW-2之间的链路都是二层链路。

2、  L3SW-1L3SW-2上对DHCP Server的网关配置了VRRP,这也就要求DHCPE0E1L3SW-1L3SW-2两台交换机之间的链路都是一个VLAN

3、  于时,L3SW-1L3SW-2上和DHCP Server之间,就形成了一个三角形的环状结构,加上交换机有开启了生成树,你说他这图上,没有端口被BLOCK那就是怪事了。

blob.png

 

所以:故障原因结论:

       DHCP Server桥接二层接口,与L3SW-1L3SW-2之间形成了环路,端口被BLOCK是生成树所致。

       出现该问题的原因是:链路设置不合理。

 

【改进方案】

       如果想让DHCP Server通过冗余链路为局域网内的主机分配IP地址,并且消除环路和VRRP震荡,捷哥给的方案是这样的:

blob.png

 

       捷哥的意思是说:

1、  L3SW-1L3SW-2DHCP Server之间的链路改为三层链路。L3SW-1E1/2接口改为三层接口,配置一个IP地址作为DHCP Server E0网卡的网关;L3SW-2E1/3接口改为三层接口,配置一个IP地址作为DHCP Server E1网卡的网关,如图所示:

blob.png

地址规划如下表所示:

DHCP E0网卡

L3SW-1 E1/2接口

DHCP E1网卡

L3SW-1 E1/3接口

10.115.128.2/30

10.115.128.1/30

10.115.128.6/30

10.115.128.5/30

 

改好DHCPIP地址以后,在L3SW-1L3SW-2上把对DHCP Server的网段发布到路由表中(这里我倒是没管他用的什么路由协议)

 

然后,在交换机的所有VLAN接口中,添加:

ip helper-address 10.115.128.2

ip helper-address 10.115.128.6

 

DHCP服务器中继了,就解决问题。

 

 

【结果】

       捷哥本来是蒙的,没想到就这样蒙对了。

blob.png

 

网友把结果发给了我,他的DHCP Server用的是10.141.27.210.141.29.2,没有用我给他指定的地址,不过那也没关系,哈哈。

blob.png

 

【点评】

       该网友“咸菜包子”这是第二次给我提问了,捷哥我都非常乐意为他解答问题。为啥呢?

1、  他提的问题都很有代表性,非常考验各位同行的经验。(他之前提的问题是NATSLA联动的问题,如果不是对NATSLA技术非常熟,这个问题谁也看不出来。)

2、  他本人在设计实验的时候,网络结构都是非常合理的,有核心有接入,有冗余链路而且广播范围成三角形,如图所示:

blob.png

 

3、  他在做实验的时候,选择的IP地址也都不是垃圾IP192.168.0.0192.168.1.0),说明他在设计IP地址的时候,对现网环境的地址规划应用也有一些功底。说真的,他自称他是小白,但是捷哥我本人感觉到,此人如果继续专注于网络技术,将来绝对有成为超级大佬的潜质。

 


blob.png

blob.png