• 全部
  • 经验案例
  • 典型配置
  • 技术公告
  • FAQ
  • 全部
  • 全部
产品线
搜索
取消
案例类型
发布者
是否解决
是否官方
时间
高级搜索

S12500 DHCP relay 通过Option 82携带vlan信息到DHCP服务器

2015-10-10 发表
  • 2关注
  • 0收藏,1970浏览
关萌 五段
粉丝:1人 关注:0人

客户使用我司S12500替换友商设备做为DHCP relay设备,DHCP服务器为Linux服务器,DHCP服务器为客户端分配IP。在S12500设备上客户使用了Super VLAN功能,里面包含N个sub VLAN,客户需求为对每个subVLAN分配同一网段下/24位的地址。通过S12500上送sub VLAN 信息到DHCP服务器,DHCP服务器收到相应的DHCP报文,分配相应段的IP地址。

客户现网配置如下:

#
 dhcp enable
 dhcp server always-broadcast
#
vlan 61 to 65
#              
vlan 1000
 description super-vlan
 supervlan
 subvlan 61 to 65 
#
interface Vlan-interface1000
 ip address 172.18.0.1 255.255.0.0
 local-proxy-arp enable  
 dhcp select relay
 dhcp relay information enable
 dhcp relay server-address 10.27.100.99
#
interface Ten-GigabitEthernet2/0/3
 port link-mode bridge
 port access vlan 61
#

当配置好后,发现PC无法从DHCP服务器获取IP地址。


当用户获取IP时通过debug信息提示如下

received dhcp discover vlan-interface 1000

no match network for the client

通过对配置信息分析,未发现问题,由于替换设备后产生的问题,于是收集了我司设备和友商设备的抓包进行分析。

友商信息如下

我司设备抓包信息如下

通过对两台设备的抓包对比分析,报文不一致。查询RFC Option为自定义选项,没有标准格式。根据用户反馈信息vlan为61,换算为16进制为3d,匹配我司设备为第1、2个字节,匹配友商设备为第3、4个字节。通过在实验室修改vlan反复测试可以确认第2个字节为vlan信息。由于设备侧无法修改vlan信息,于是收集了用户服务器的配置信息,关键配置如下:

class "vlan61" {
        match if binary-to-ascii(10,16,"",substring(option agent.circuit-id,2,2)) = "61";

class "vlan62" {
        match if binary-to-ascii(10,16,"",substring(option agent.circuit-id,2,2)) = "62";

class "vlan63" {
        match if binary-to-ascii(10,16,"",substring(option agent.circuit-id,2,2)) = "63";

class "vlan64" {
        match if binary-to-ascii(10,16,"",substring(option agent.circuit-id,2,2)) = "64";

class "vlan65" {
        match if binary-to-ascii(10,16,"",substring(option agent.circuit-id,2,2)) = "65";

############
subnet 172.18.0.0 netmask 255.255.0.0 {
   pool {
   allow members of "vlan61";   
   range 172.18.1.0 172.18.4.255;
   option routers 172.18.0.1;
}
   pool {
   allow members of "vlan62";   
   range 172.18.5.0 172.18.8.255;
   option routers 172.18.0.1;
}

   pool {
   allow members of "vlan63";   
   range 172.18.9.0 172.18.12.255;
   option routers 172.18.0.1;
}

   pool {
   allow members of "vlan64";   
   range 172.18.13.0 172.18.16.255;
   option routers 172.18.0.1;
}

   pool {
   allow members of "vlan62";   
   range 172.18.17.0 172.18.20.255;
   option routers 172.18.0.1;
}

}
##########

查询linux相关资料substring(option agent.circuit-id,2,2)   表示偏移量2, 长度2,这样取到我司设备的vlan信息为3,无法找到对应的vlan,也无法分配IP地址。

于是尝试修改服务器配置,将偏移量改为0测试,可以正常获取IP

class "vlan61" {
        match if binary-to-ascii(10,16,"",substring(option agent.circuit-id,0,2)) = "61";

class "vlan62" {
        match if binary-to-ascii(10,16,"",substring(option agent.circuit-id,0,2)) = "62";

class "vlan63" {
        match if binary-to-ascii(10,16,"",substring(option agent.circuit-id,0,2)) = "63";

class "vlan64" {
        match if binary-to-ascii(10,16,"",substring(option agent.circuit-id,0,2)) = "64";

class "vlan65" {
        match if binary-to-ascii(10,16,"",substring(option agent.circuit-id,0,2)) = "65";

在使用DHCP relay传递信息时注意区分版本和设备所携带信息的格式,在未知格式情况下,可通过抓包确认。

0 个评论

该案例暂时没有网友评论

编辑评论

举报

×

侵犯我的权益 >
对根叔知了社区有害的内容 >
辱骂、歧视、挑衅等(不友善)

侵犯我的权益

×

泄露了我的隐私 >
侵犯了我企业的权益 >
抄袭了我的内容 >
诽谤我 >
辱骂、歧视、挑衅等(不友善)
骚扰我

泄露了我的隐私

×

您好,当您发现根叔知了上有泄漏您隐私的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您认为哪些内容泄露了您的隐私?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)

侵犯了我企业的权益

×

您好,当您发现根叔知了上有关于您企业的造谣与诽谤、商业侵权等内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到 zhiliao@h3c.com 邮箱,我们会在审核后尽快给您答复。
  • 1. 您举报的内容是什么?(请在邮件中列出您举报的内容和链接地址)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
  • 3. 是哪家企业?(营业执照,单位登记证明等证件)
  • 4. 您与该企业的关系是?(您是企业法人或被授权人,需提供企业委托授权书)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

抄袭了我的内容

×

原文链接或出处

诽谤我

×

您好,当您发现根叔知了上有诽谤您的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您举报的内容以及侵犯了您什么权益?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

对根叔知了社区有害的内容

×

垃圾广告信息
色情、暴力、血腥等违反法律法规的内容
政治敏感
不规范转载 >
辱骂、歧视、挑衅等(不友善)
骚扰我
诱导投票

不规范转载

×

举报说明

提出建议

    +
<

亲~登录后才可以操作哦!

确定

你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作