61 lines
1.9 KiB
HCL
61 lines
1.9 KiB
HCL
log-queries
|
|
log-dhcp
|
|
|
|
#port=0
|
|
listen-address=0.0.0.0
|
|
interface=${Vars.PXE.ListenInterface}
|
|
no-resolv
|
|
domain-needed
|
|
bogus-priv
|
|
expand-hosts
|
|
server=${Vars.DNS[0]}
|
|
strict-order
|
|
addn-hosts=/etc/dnsmasq-hosts.conf
|
|
domain=${Vars.PXE.DNSDomain}
|
|
local=/${Vars.PXE.DNSDomain}/
|
|
localise-queries
|
|
|
|
|
|
%{ if Vars.PXE.DHCPMode == "proxy" }
|
|
#dhcp-no-override
|
|
dhcp-range=${Vars.NIC[0].IP},proxy
|
|
%{ else }
|
|
dhcp-range=${Vars.PXE.DHCPRangeStart},${Vars.PXE.DHCPRangeEnd},${Vars.PXE.DHCPLeaseDuration}
|
|
dhcp-option=option:router,${Vars.NIC[0].Gateway}
|
|
%{ endif }
|
|
|
|
dhcp-option=option:dns-server,${Vars.NIC[0].IP}
|
|
dhcp-option=option:domain-name,${Vars.PXE.DNSDomain}
|
|
|
|
# TFTP Configuration
|
|
enable-tftp
|
|
tftp-root="${Vars.PXE.TFTPRoot}"
|
|
|
|
pxe-prompt="${Vars.PXE.GreetingMessage}",${Vars.PXE.DelayTime}
|
|
|
|
# Based on logic in https://gist.github.com/robinsmidsrod/4008017
|
|
# iPXE sends a 175 option, checking suboptions
|
|
dhcp-match=set:ipxe-http,175,19
|
|
dhcp-match=set:ipxe-https,175,20
|
|
dhcp-match=set:ipxe-menu,175,39
|
|
# pcbios specific
|
|
dhcp-match=set:ipxe-pxe,175,33
|
|
dhcp-match=set:ipxe-bzimage,175,24
|
|
dhcp-match=set:ipxe-iscsi,175,17
|
|
# efi specific
|
|
dhcp-match=set:ipxe-efi,175,36
|
|
# combination
|
|
# set ipxe-ok tag if we have correct combination
|
|
# http && menu && iscsi ((pxe && bzimage) || efi)
|
|
tag-if=set:ipxe-ok,tag:ipxe-http,tag:ipxe-menu,tag:ipxe-iscsi,tag:ipxe-pxe,tag:ipxe-bzimage
|
|
tag-if=set:ipxe-ok,tag:ipxe-http,tag:ipxe-menu,tag:ipxe-iscsi,tag:ipxe-efi
|
|
|
|
|
|
## Load different PXE boot image depending on client architecture (when running as a proxy DHCP)
|
|
pxe-service=tag:!ipxe-ok, x86PC, "Legacy boot PXE chainload to iPXE", undionly.kpxe
|
|
pxe-service=tag:!ipxe-ok, BC_EFI, "UEFI32 boot chainload to iPXE", snponly.efi
|
|
pxe-service=tag:!ipxe-ok, X86-64_EFI, "UEFI64 boot chainload to iPXE", snponly.efi
|
|
|
|
dhcp-userclass=set:ipxe,iPXE
|
|
dhcp-boot=tag:ipxe-ok,http://${Vars.NIC[0].IP}:${Vars.MatchBox.HTTPPort}/boot.ipxe,,${Vars.NIC[0].IP}
|