## Uncomment the following "if block" when you have some buggy PXE NIC card (such as annoying sis900 NIC). Remember to modify the MAC vendor prefix and restart dhcpd service!!!
## This is a workround for some network card with BAD PXE code in firmware.
## It will only affect those clients with MAC vendor prefix you assigned.
## Ref: http://syslinux.zytor.com/archives/2005-August/005640.html
#if substring (option vendor-class-identifier, 0, 3) = "PXE" {
# # **************************************************************
# # ***MODIFY*** the MAC vendor prefix of client network card here.
# # **************************************************************
# # For annoying sis900 network card, maybe it is 00:07:95, 00:0C:6E...
# if substring (hardware, 1, 3) = 00:0C:6E {
# # sis900.zpxe is specially for sis900 NIC, you can download it from
# # http://rom-o-matic.net/etherboot/etherboot-5.4.4/contrib/rom-o-matic
# filename = "sis900.zpxe";
# }
#}
# Uncomment the following to get the debug/verbose messages in system log. The messages like the following will be shown:
# Client 0:c:29:3b:34:fb requests 1:2:3:5:6:b:c:d:f:10:11:12:2b:36:3c:43:80:81:82:83:84:85:86:87 - PXEClient:Arch:00000:UNDI:002001 - no dhcp-client-id
# Client 0:c:29:3b:34:fb requests 1:3:6:c:f:1c:28:29:2a - DRBLClient - no dhcp-client-id
# Begin of log command
#log(info, concat("Client ",
# binary-to-ascii(16, 8, ":", substring(hardware, 1, 6)),
# " requests ",
# binary-to-ascii(16, 8, ":", option dhcp-parameter-request-list),
# " - ",
# pick-first-value(option vendor-class-identifier, "no vendor-id"),
# " - ",
# pick-first-value(option dhcp-client-identifier, "no dhcp-client-id"))
# );
# End of log command
# This class 'DRBL-Client' defines 3 kind of clients: PXE, Etherboot (1st stage) or DRBL client (2nd stage, i.e. in network initrd/initramfs (mkpxeinitrd-net)) to lease IP address. This will only affect 'range' statement only, not the 'host' statement.
# Note! The following line(s) in the pool statement: 'allow members of "DRBL-Client";' is/are commented to disable this mechanism by default.
# If you do want to use this mechanism, uncomment all 'allow members of "DRBL-Client";', then only PXE, etherboot and DRBL client can lease IP address from this DHCP service.
# ///NOTE/// In summary, two cases you can turn on this mechanism:
# (1) This DRBL server is not used as a clonezilla server.
# (2) This DRBL server is used as a Clonezilla server, with the following conditions:
# (a) 'range' statement is used in this DRBL service.
# (b) There is an existing DHCP service which can provide IP address leases to the restored OS (either GNU/inux or MS Windows) in the client. Otherwise if you uncomment 'allow members of "DRBL-Client";', restored OS won't be able to lease IP address.
# The DRBL client class: PXE, Etherboot or DRBL client
class "DRBL-Client" {
match if
(substring(option vendor-class-identifier, 0, 9) = "PXEClient") or
(substring(option vendor-class-identifier, 0, 9) = "Etherboot") or
(substring(option vendor-class-identifier, 0, 10) = "DRBLClient") ;
}
# If you want to use special port for DHCP service, edit here:
# For more info, ref: http://drbl.sourceforge.net/faq/index.php#path=./2_System&entry=37_coexist_with_existing_dhcp.faq
# local-port 1067;
# remote-port 1068;