isc-dhcp-server配置option 43

isc-dhcp版本号是4.4.3,在树莓派下运行。

isc-dhcp-server其他的相关配置就不多说了,网上一搜一大把。这里主要说明option 43如何配置。

修改文件 /etc/dhcp/dhcpd.conf ,在文件末尾增加如下内容:

option space XYHL;
option XYHL.serviceName code 1 = text;
option local-encapsulation code 43 = encapsulate XYHL;
option XYHL.serviceName = "ThisIsTest";

其中四处红色字体部分,必须更改成一样的内容,红色部分即是option 60(VENDOR_CLASS_ID),是client发送给server的。

蓝色字体部分即是server要发送给client的option 43(VENDOR)。

更改完成之后,即可重启isc-dhcp-server服务。

踩坑:

当我这么配置完成之后,通过dhclient发送了dhcp discover或者dhcp request之后,收到的dhcp ack或者dhcp offer并没有包含option 43。之后查了很多资料才发现,dhclient的配置文件中有个request选项,该选项配置了client想要从server端拿到哪些option。

修改/etc/dhcp/dhclient.conf,在request栏增加vendor-encapsulated-options:

request subnet-mask, broadcast-address, time-offset, routers, vendor-encapsulated-options,
        domain-name, domain-name-servers, domain-search, host-name,
        dhcp6.name-servers, dhcp6.domain-search, dhcp6.fqdn, dhcp6.sntp-servers,
        netbios-name-servers, netbios-scope, interface-mtu,
        rfc3442-classless-static-routes, ntp-servers;

interface "ens37"
{
    send vendor-class-identifier "XYHL";
}

 然后再通过dhclient命令,即可获取到option 43。

 

 

 

posted @ 2023-01-13 16:25  琦猪闯红灯  阅读(347)  评论(0编辑  收藏  举报