Merge pull request 'Fix/pxe dnsmasq port conflict' (#83) from fix/pxe-dnsmasq-port-conflict into main

Reviewed-on: #83
This commit is contained in:
2026-07-27 05:05:42 +00:00
+14 -11
View File
@@ -427,18 +427,21 @@ in
# Without this dnsmasq tries to bind port 53 which systemd-resolved # Without this dnsmasq tries to bind port 53 which systemd-resolved
# already owns, causing startup failure. # already owns, causing startup failure.
port = 0; port = 0;
dhcp-range = [ "192.168.2.0,proxy" ]; log-dhcp = true;
dhcp-match = [ dhcp-range = "192.168.2.0,proxy";
"set:ipxe,175" # Detect iPXE clients on the second DHCP round (after loading the
"set:efi64,option:client-arch,7" # iPXE binary) so we can serve the HTTP menu instead of TFTP.
"set:efi64,option:client-arch,9" dhcp-match = "set:ipxe,175";
];
dhcp-userclass = "set:ipxe,iPXE"; dhcp-userclass = "set:ipxe,iPXE";
dhcp-boot = [ # iPXE second boot: chain to HTTP boot menu.
"tag:ipxe,tag:efi64,http://${vars.pxeServerIp}/boot.ipxe" dhcp-boot = "tag:ipxe,http://${vars.pxeServerIp}/boot.ipxe";
"tag:ipxe,http://${vars.pxeServerIp}/boot.ipxe" # Initial boot: use pxe-service so dnsmasq sends proxy DHCP offers.
"tag:efi64,ipxe.efi,,${vars.pxeServerIp}" # dhcp-boot alone does not trigger proxy offers in dnsmasq 2.93.
"undionly.kpxe,,${vars.pxeServerIp}" # Arch 0 = BIOS, 7 = EFI BC (OVMF), 9 = EFI x86-64.
pxe-service = [
"0,\"Network Boot\",undionly.kpxe,${vars.pxeServerIp}"
"7,\"Network Boot\",ipxe.efi,${vars.pxeServerIp}"
"9,\"Network Boot\",ipxe.efi,${vars.pxeServerIp}"
]; ];
}; };
}; };