打H3C的800电话,二线工程师说没有在Linux下的DHCP配过,要我去看文档,文档里有交换机做dhcpserver和windows做dhcp server的配置实例,还发了一个Linux下的向cisco AP下发option43的例子,要我对照改一下,
以下为cisco配置
option serverip code 43 =ip-address;然后在subnet里面定义optionserverip x.x.x.x;但是测试的时候是不成功的.
没办法,自己看文档,发现H3C的文档里用的是十六进制的数据,和二线提供的配置文档即定义为IP地址是完全不同的。以下为H3C的在交换机内置DHCP上的配置。
其中 hex表示是十六进制,80为选项类型,0B为选项长度,表示后面内容的长度,0000为ServerType,固定为0000,02为后面AC的IP地址的个数,12010701和12010702则分别为两个AC的IP地址的十六进制,也就是说在配置时只需把自己的AC地址X.X.X.X换算成十六进制替换掉即可。
再接下来,在Linux DHCP服务器下查文档,找到这么一段
option new-name code new-code = string ; An option whose typeis a data string is essentially just a collection of bytes, and canbe specified either as quoted text, like the text type, or as alist of hexadecimal contents separated by colons whose values mustbe between 0 and FF. For example: option sql-identification-tokencode 195 = string; option sql-identification-token17:23:19:a6:42:ea:99:7c:22;
如是在dhcpd.conf里修改配置
option serverip code 43 = string; #office,wireless AP subnet10.20.3.0 netmask 255.255.255.0 { option routers 10.20.3.1; optionsubnet-mask 255.255.255.0; option serverip80:0B:00:00:01:0B:45:13:01:0B:45:14; pool { failover peer"dhcp-failover"; range 10.20.3.120 10.20.3.254; deny dynamic bootpclients; } }
经测试,LinuxDHCP服务器中AP可以成功在AC上注册,遇到问题还是得靠自己细心去看配置和文档,只要找到方向,问题还是会解决的。