Discussion:
[Dnsmasq-discuss] Migrating from ISC to dnsmasq -- netboot/netinstall
John Pearson
2017-06-28 04:33:50 UTC
Permalink
Hi, I am currently trying to migrate my netboot configuration from ISC to
dnsmasq. I am using the exact same TFTP server, HTTP sever to serve the
image, image files and location. Just switching out ISC with dnsmasq.

*ISC dhcpd.conf:*

ddns-update-style none;
ddns-updates off;
ignore client-updates;
allow booting;
authoritative;
boot-unknown-clients on;
ping-check off;
one-lease-per-client on;
default-lease-time 7200;
max-lease-time 7200;
allow-unknown-clients;

class "netboot" {

match if substring (option vendor-class-identifier, 0, 9) = "AAPLBSDPC";
option dhcp-parameter-request-list 1,3,17,43,60;

if (option dhcp-message-type = 1) {
option vendor-class-identifier "AAPLBSDPC";
option vendor-encapsulated-options
08:04:81:00:00:89; # bsdp option 8 (length 04) --
selected image id;
} elsif (option dhcp-message-type = 8) {
option vendor-class-identifier "AAPLBSDPC";
if (substring(option vendor-encapsulated-options, 0, 3) = 01:01:01) {
log(debug, "bsdp_msgtype_list");

# bsdp image list message:
# one image, plus one default image (both are the same)
option vendor-encapsulated-options
01:01:01: # bsdp_msgtype_list
04:02: # bsdp option
code 4 (length 02) server priority
80:00: # Priority (32768)
07:04: # bsdp option
code 7 (length 04) default image id
81:00:00:89: # Image ID (137)
09:0e: # bsdp option
code 9 (length 0e) image list
81:00:00:89: # Image ID (137)
09:54:68:65:2d:49:6d:61:67:65; # Name
(length 09) 'The-Image' (The name we use in Apple SUS)

} else {
log(debug, "bspd_msgtype_select");

# details about the selected image
#
option vendor-encapsulated-options
01:01:02: # bsdp_msgtype_select
08:04: # bsdptag_selected_boot_image
81:00:00:89: # Image ID (137)
82:09: # Machine Name (length 09)
54:68:65:2d:49:6d:61:67:65; # 'The-Image' (The
name we use in Apple SUS)

if (substring(option vendor-class-identifier, 10, 4) = "i386") {
filename "/nbi/The-Image.nbi/i386/booter";
next-server 10.20.0.127;
option root-path =
"http://10.20.0.127/The-Image.nbi/NetInstall.dmg";
} elsif (substring(option vendor-class-identifier, 10, 3) = "ppc") {
filename "nil";
}
}
}
}

subnet 0.0.0.0 netmask 0.0.0.0 {
pool {
# DON'T supply an IP address!
range 0.0.0.0 0.0.0.0;
allow members of "netboot";
}
}


*dnsmasq.conf:*

dhcp-vendorclass=apple-boot,AAPLBSDPC

dhcp-option-force=net:apple-boot,43,08:04:81:00:00:89
dhcp-option-force=net:apple-boot,60,"AAPLBSDPC"
dhcp-option-force=net:apple-boot,17,"http://10.20.0.127/The-Image.nbi/NetInstall.dmg"
dhcp-option-force=net:apple-boot,52,10.20.0.127
dhcp-option-force=net:apple-boot,67,"/nbi/The-Image.nbi/i386/booter"

dhcp-match=set:intel-macos,60,AAPLBSDPC
dhcp-match=set:bsdp-list,43,01:01:01
dhcp-option-force=tag:intel-macos,tag:bsdp-list,60,AAPLBSDPC
dhcp-option-force=tag:intel-macos,tag:bsdp-list,43,01:01:01:04:02:80:00:07:04:81:00:00:89:09:0e:81:00:00:89:09:54:68:65:2d:49:6d:61:67:65
dhcp-option-force=tag:intel-macos,tag:bsdp-list,52,10.20.0.127
dhcp-match=set:bsdp-select,43,01:01:02
dhcp-option-force=tag:intel-macos,tag:bsdp-select,60,AAPLBSDPC
dhcp-option-force=tag:intel-macos,tag:bsdp-select,43,01:01:02:08:04:81:00:00:89:82:09:54:68:65:2d:49:6d:61:67:65
dhcp-option-force=tag:intel-macos,tag:bsdp-select,52,10.20.0.127
dhcp-option-force=tag:intel-macos,tag:bsdp-select,66,10.20.0.127
dhcp-option-force=tag:intel-macos,tag:bsdp-select,67,"/nbi/The-Image.nbi/i386/booter"


With the same config the mac is able to boot from ISC config but not
from dnsmasq. Does anyone have any tips on converting the conf to
dnsmasq?


Thanks

Loading...