我管理一个小型企业的网络,该企业有一个IPCop防火墙盒,为网络(以及其他各种服务)提供DHCP服务. IPCop中的DHCP服务器似乎是dhcpd,IPCop提供了一个基于Web的前端来编辑配置文件.
我希望使用vendor-encapsulated-options选项将DHCP选项66和67的特定值发送到特定的供应商类标识符.目的是自动配置一些支持DHCP选项66/67和43/60的VoIP电话.
我已经设法获得选项66 tftp-server-name和67 bootfile-name工作以自动配置手机.但当然这些选项是全局的并发送给所有DHCP客户端.我正在尝试使用vendor-class-indentifier和vendor-encapsulated-options DHCP选项来仅将自动配置信息发送到手机.我意识到这对于小型企业网络来说可能有些过分,但这都是为了拓宽我的知识面.
所以我开始阅读那里的一些信息,我无法弄清楚如何在vendor-encapsulated-options字符串中编码选项66/67.
这是相关的RFC … http://tools.ietf.org/html/rfc2132#section-8第8.4节
这里是“供应商封装选项”下dhcpd http://www.daemon-systems.org/man/dhcp-options.5.html的手册页
这些文档似乎暗示选项将以HEX格式编码,但是查看vendor-encapsulated-options选项的手册页示例…
The value of this option can be set in one of two ways.
The first way is to simply specify the data directly,using a text string or a colon-separated list of hexadecimal values.
For example:
option vendor-encapsulated-options
2:4:AC:11:41:1:
3:12:73:75:6e:64:68:63:70:2d:73:65:72:76:65:72:31:37:2d:31:
4:12:2f:65:78:70:6f:72:74:2f:72:6f:6f:74:2f:69:38:36:70:63;
当我尝试将该批次从HEX解码为ASCII时,我得到以下内容:
????甲????????? sundhcp-server17-1 ???????? /出口/根/了i86pc
所以我确定我不能正确理解格式/编码.
这是来自IPCop的dhcpd.conf的我的片段
subnet 192.168.1.0 netmask 255.255.255.0 #GREEN
{
range 192.168.1.30 192.168.1.200;
option subnet-mask 255.255.255.0;
option domain-name "domain.com";
option routers 192.168.1.1;
option domain-name-servers 192.168.1.1;
option ntp-servers 192.168.1.1;
option netbios-name-servers 192.168.1.3;
default-lease-time 43200;
max-lease-time 172800;
option vendor-encapsulated-options "hello";
option vendor-class-identifier "snom320";
option vendor-class-identifier "snom821";
option bootfile-name "voipsettings/firstboot.xml";
option tftp-server-name "http://username:password@intranet.domain.com";
} #GREEN
我根据DHCP请求中的VoIP电话(Snom)提交的值设置了供应商类标识符. bootfile-name和tftp-server-name是我希望在vendor-encapsulated-options中编码的选项(66/67).
Snom在这里有他们维基的指南……
http://wiki.snom.com/Networking/DHCP/Options#Auto_Provisioning_Options
(道歉,我的声誉太低,无法在一个问题中发布> 2个链接)
那个wiki似乎暗示我需要将vendor-class-identifier编码为“n个字节的字符串”
此外,该维基文章中给出的供应商封装选项的示例在从HEX转换为ASCII时也会返回乱码.所以有一些关键的东西,我在这里不理解.
任何人都可以告诉我如何正确格式化/编码这些DHCP选项?