NE40E做DHCP SERVER终端无法获取地址的问题

发布时间:  2008-04-16 浏览次数:  103 下载次数:  1
问题描述
组网如下:
NE40E-1――NE40E-2――T16000(二层交换机)――测试PC
两台NE40E的版本为V300R002C06B21B,其中NE40E-1做DHCP Server,NE40E-2做DHCP Relay ,NE40E-2使用同一个子接口做多个vlan的接入的终结,配置完成后使用测试PC无法获取地址。
      


      
处理过程
1、测试PC任选一个地址池中的地址配置成静态地址ping NE40E-2(dhcp relay)接口网关地址互通证明二层网络没有问题,测试PC用etheral抓包后发现PC正常发出了dhcp discover报文但没有收到dhcp offer报文。
2、在NE40E(dhcp relay)上带接口地址ping relay后的地址,互通性正常。
3、在NE40E(dhcp relay)和NE40E(dhcp server)上debug dhcp报文发现设备已经将该报文发给测试PC。
4、经过继续对NE40E-2发出的dhcp offer报文进行分析,发现NE40E在做同一子接口的多VLAN数据终结的时候,NE40E只带连续配置的第一个VLAN的TAG,其他VLAN的TAG不带上去,所以dhcp offer包无法正确找到测试PC所对应的VLAN而在交换机上丢弃。
5、在交换机上将接入PC端口加入到NE40E上配置终结连续VLAN的第一个VLAN上,测试PC可以正确的获取到地址。
6、为什么只带第一个vlan的tag呢?通过分析发现在NE40E(dhcp relay)上配置的是普通DHCP方式,发送的dhcp discover报文没有记录用户送上来报文的vlan标记,因此在NE40E(dhcp server)回复的dhcp offer报文到dhcp relay时无法判断应该回到那个vlan中,默认就回到配置的第一个vlan中,因此通过其他vlan无法获取地址。DHCP Option字段可以用来存放某些普通协议中没有定义的控制信息和参数,如果需要带上用户发上来报文的vlan标记,可以在DHCP Relay Agent使能Option82功能解决,解决方法如下:
进入接入子接口视图配置:
dhcp option82 insert enable






根因
在NE40E(dhcp relay)上配置的是普通DHCP方式,发送的dhcp discover报文没有记录用户送上来报文的vlan标记,因此在NE40E(dhcp server)回复的dhcp offer报文到dhcp relay时无法判断应该回到那个vlan中,默认就回到配置的第一个vlan中,因此通过其他vlan无法获取地址。
解决方案
问题处理思路:
1、测试PC的二层网络不通,无法发出dhcp discover报文或者报文无法正常到达DHCP Server。
2、NE40E-2(dhcp relay)与NE40E-1(dhcp server)的地址不通。
3、NE40E-1(dhcp server)没有发出dhcp offer报文或者中间设备把该报文丢弃。
4、其他原因。 

可以在DHCP Relay Agent使能Option82功能解决,解决方法如下:
进入接入子接口视图配置:
dhcp option82 insert enable 


      
建议与总结

      

END