<div dir="ltr">Hello,<div><br></div><div>I tested examples from <a href="http://kea.isc.org/wiki/HostReservationsHowTo">http://kea.isc.org/wiki/HostReservationsHowTo</a> and found that DNS example doesn't work on FreeBSD dhclient.</div><div>Can someone from devs check my research and confirm findings?</div><div><br></div><div>First problem:</div><div><br></div><div><div>SET @dns_servers_option_code = 5;</div></div><div><br></div><div>should be:</div><div><br></div><div><div>SET @dns_servers_option_code = 6:</div></div><div><br></div><div>Second problem:</div><div><br></div><div><div>SET @dns_servers_option_value = UNHEX(CONCAT(HEX(INET_ATON('8.8.8.8')), HEX(INET_ATON('8.8.4.4'))));</div></div><div><br></div><div>into the value column of 'dhcp4_options' table.</div><div><br></div><div>In this case lease can't be retrieved with error in DHCP server logs:</div><div><br></div><div><div>2017-04-19 14:35:34.732 DEBUG [kea-dhcp4.bad-packets/64105] DHCP4_PACKET_DROP_0007 [hwtype=1 d4:ae:52:a7:ec:10], cid=[01:d4:ae:52:a7:ec:10], tid=0xe9f101fd: failed to process packet: DHCPv4 Option4AddrLst 6 has invalid length=7, must be divisible by 4.</div></div><div><br></div><div>Instead of hex value I just put both DNS IP's into the 'formatted_value' column, separated by comma:</div><div><br></div><div><div>SET @scope_name = 'subnet';</div><div>SET @dns_servers_option_code = 6;</div><div>SET @inserted_host_id = 7;</div><div>SET @dns_servers_option_value = '8.8.8.8, 8.8.4.4';</div><div>INSERT INTO dhcp4_options (code, formatted_value, space, host_id, scope_id)</div><div>VALUES (@dns_servers_option_code,</div><div>        @dns_servers_option_value,</div><div>        'dhcp4',</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">              </span>@inserted_host_id,</div><div>        (SELECT scope_id FROM dhcp_option_scope WHERE scope_name = @scope_name));</div></div><div><br></div><div>Works fine - resolvconf updates /etc/resolv.conf correctly.</div><div><br></div><div>And in DHCP server log:</div><div><br></div><div><div><div>2017-04-19 14:41:36.276 DEBUG [kea-dhcp4.packets/64105] DHCP4_PACKET_SEND [hwtype=1 d4:ae:52:a7:ec:10], cid=[01:d4:ae:52:a7:ec:10], tid=0x6b7f38bb: trying to send packet DHCPACK (type 5) from <a href="http://10.10.10.254:67">10.10.10.254:67</a> to <a href="http://10.10.10.76:68">10.10.10.76:68</a> on interface em0</div><div>2017-04-19 14:41:36.276 DEBUG [kea-dhcp4.packets/64105] DHCP4_RESPONSE_DATA [hwtype=1 d4:ae:52:a7:ec:10], cid=[01:d4:ae:52:a7:ec:10], tid=0x6b7f38bb: responding with packet DHCPACK (type 5), packet details: local_address=<a href="http://10.10.10.254:67">10.10.10.254:67</a>, remote_adress=<a href="http://10.10.10.76:68">10.10.10.76:68</a>, msg_type=DHCPACK (5), transid=0x6b7f38bb,</div><div>options:</div><div>  type=001, len=004: 4294967040 (uint32)</div><div>  type=003, len=004: 10.10.10.1</div><div>  type=006, len=008: 8.8.8.8 8.8.4.4</div><div>  type=012, len=016: "hostname.freebsd" (string)</div><div>  type=051, len=004: 4000 (uint32)</div><div>  type=053, len=001: 5 (uint8)</div><div>  type=054, len=004: 10.10.10.254</div><div>  type=061, len=007: 01:d4:ae:52:a7:ec:10</div></div></div><div><br></div><div>PXE config set via 'hosts' table, DNS and router:</div><div><br></div><div><div>root@localhost [dhcp]> select * from dhcp4_options;</div><div>+-----------+------+-------+------------------+-------+------------+-------------------+-----------------+---------+----------+</div><div>| option_id | code | value | formatted_value  | space | persistent | dhcp_client_class | dhcp4_subnet_id | host_id | scope_id |</div><div>+-----------+------+-------+------------------+-------+------------+-------------------+-----------------+---------+----------+</div><div>|         7 |    3 | NULL  | 10.10.10.1       | dhcp4 |          0 | NULL              |            NULL |       7 |        1 |</div><div>|        14 |    6 | NULL  | 8.8.8.8, 8.8.4.4 | dhcp4 |          0 | NULL              |            NULL |       7 |        1 |</div><div>+-----------+------+-------+------------------+-------+------------+-------------------+-----------------+---------+----------+</div></div><div><br></div><div>Tested on FreeBSD 10.3, both server and client.</div><div><br></div><div><br></div><div><br clear="all"><div><div class="gmail_signature">Stas</div></div>
</div></div>