Netbootxyz looking at wrong ip for local menu

On Debian Buster host/Docker-CE; I am running netbootxyz container with dnsmasq as proxy dhcp server (192.168.1.1); My main dhcp server (Fritzbox) runs at 192.168.1.254. All updated to latest version.

  • Initial chainloading of iPXE/netboot.xyz.kpxe works fine; boot server ip is correctly set to 192.168.1.1;
  • It then seems that iPXE tries to tftp from 192.168.1.254 (the main dhcp server); this should be 192.168.1.1
  • After timeouts, iPXE falls back to boot from https://boot.netboot.xyz and not from local docker netbootxyz menu (served at 192.168.1.1)
  • I am testing the network pxe boot with VirtualBox
  • See screenshot.

Question: what am I doing wrong/what to do differently to have netboot.xyz-undionly.kpxe pickup the menu from 192.168.1.1?

dnsmasq.conf: (I tried to make it as minimal as possible)

port=0
dhcp-range=192.168.1.0,proxy,255.255.255.0
dhcp-no-override
dhcp-boot=netboot.xyz-undionly.kpxe,,192.168.1.1
pxe-service=x86PC,"Run netboot.xyz, BIOS mode",netboot.xyz-undionly.kpxe

dnsmasq log


pxe-dnsmasq    | dnsmasq-dhcp: 684220996 available DHCP subnet: 192.168.1.0/255.255.255.0
pxe-dnsmasq    | dnsmasq-dhcp: 684220996 vendor class: PXEClient:Arch:00000:UNDI:002001
pxe-dnsmasq    | dnsmasq-dhcp: 684220996 PXE(eth0) 08:00:27:c8:62:44 proxy
pxe-dnsmasq    | dnsmasq-dhcp: 684220996 tags: eth0
pxe-dnsmasq    | dnsmasq-dhcp: 684220996 bootfile name: netboot.xyz-undionly.kpxe
pxe-dnsmasq    | dnsmasq-dhcp: 684220996 next server: 192.168.1.1
pxe-dnsmasq    | dnsmasq-dhcp: 684220996 broadcast response
pxe-dnsmasq    | dnsmasq-dhcp: 684220996 sent size:  1 option: 53 message-type  2
pxe-dnsmasq    | dnsmasq-dhcp: 684220996 sent size:  4 option: 54 server-identifier  192.168.1.1
pxe-dnsmasq    | dnsmasq-dhcp: 684220996 sent size:  9 option: 60 vendor-class  50:58:45:43:6c:69:65:6e:74
pxe-dnsmasq    | dnsmasq-dhcp: 684220996 sent size: 17 option: 97 client-machine-id  00:5e:bf:3e:ab:74:67:78:48:98:5b:32:fe:12...
pxe-dnsmasq    | dnsmasq-dhcp: 684220996 sent size: 50 option: 43 vendor-encap  06:01:03:0a:04:00:50:58:45:08:07:80:00:01...
pxe-dnsmasq    | dnsmasq-dhcp: 684220996 available DHCP subnet: 192.168.1.0/255.255.255.0
pxe-dnsmasq    | dnsmasq-dhcp: 684220996 vendor class: PXEClient:Arch:00000:UNDI:002001
pxe-dnsmasq    | dnsmasq-dhcp: 684220996 available DHCP subnet: 192.168.1.0/255.255.255.0
pxe-dnsmasq    | dnsmasq-dhcp: 684220996 vendor class: PXEClient:Arch:00000:UNDI:002001
pxe-dnsmasq    | dnsmasq-dhcp: 684220996 PXE(eth0) 192.168.1.116 08:00:27:c8:62:44 netboot.xyz-undionly.kpxe
pxe-dnsmasq    | dnsmasq-dhcp: 684220996 tags: eth0
pxe-dnsmasq    | dnsmasq-dhcp: 684220996 bootfile name: netboot.xyz-undionly.kpxe
pxe-dnsmasq    | dnsmasq-dhcp: 684220996 next server: 192.168.1.1
pxe-dnsmasq    | dnsmasq-dhcp: 684220996 sent size:  1 option: 53 message-type  5
pxe-dnsmasq    | dnsmasq-dhcp: 684220996 sent size:  4 option: 54 server-identifier  192.168.1.1
pxe-dnsmasq    | dnsmasq-dhcp: 684220996 sent size:  9 option: 60 vendor-class  50:58:45:43:6c:69:65:6e:74
pxe-dnsmasq    | dnsmasq-dhcp: 684220996 sent size: 17 option: 97 client-machine-id  00:5e:bf:3e:ab:74:67:78:48:98:5b:32:fe:12...
pxe-dnsmasq    | dnsmasq-dhcp: 684220996 sent size:  7 option: 43 vendor-encap  47:04:80:00:00:00:ff
pxe-dnsmasq    | dnsmasq-dhcp: 1359159643 available DHCP subnet: 192.168.1.0/255.255.255.0
pxe-dnsmasq    | dnsmasq-dhcp: 1359159643 vendor class: PXEClient:Arch:00000:UNDI:002001
pxe-dnsmasq    | dnsmasq-dhcp: 1359159643 user class: iPXE
pxe-dnsmasq    | dnsmasq-dhcp: 1359159643 PXE(eth0) 08:00:27:c8:62:44 proxy
pxe-dnsmasq    | dnsmasq-dhcp: 1359159643 tags: eth0
pxe-dnsmasq    | dnsmasq-dhcp: 1359159643 bootfile name: netboot.xyz-undionly.kpxe
pxe-dnsmasq    | dnsmasq-dhcp: 1359159643 next server: 192.168.1.1
pxe-dnsmasq    | dnsmasq-dhcp: 1359159643 broadcast response
pxe-dnsmasq    | dnsmasq-dhcp: 1359159643 sent size:  1 option: 53 message-type  2
pxe-dnsmasq    | dnsmasq-dhcp: 1359159643 sent size:  4 option: 54 server-identifier  192.168.1.1
pxe-dnsmasq    | dnsmasq-dhcp: 1359159643 sent size:  9 option: 60 vendor-class  50:58:45:43:6c:69:65:6e:74
pxe-dnsmasq    | dnsmasq-dhcp: 1359159643 sent size: 17 option: 97 client-machine-id  00:ab:3e:bf:5e:67:74:48:78:98:5b:32:fe:12...
pxe-dnsmasq    | dnsmasq-dhcp: 1359159643 sent size: 50 option: 43 vendor-encap  06:01:03:0a:04:00:50:58:45:08:07:80:00:01...
pxe-dnsmasq    | dnsmasq-dhcp: 1359159643 available DHCP subnet: 192.168.1.0/255.255.255.0
pxe-dnsmasq    | dnsmasq-dhcp: 1359159643 vendor class: PXEClient:Arch:00000:UNDI:002001
pxe-dnsmasq    | dnsmasq-dhcp: 1359159643 user class: iPXE

Hey,

did you find a solution for the problem? Im having the same problem and I dont know how to solve this.

192.168.1.1 → frtizbox with dhcp
192.168.1.6 → netboot.xyz
192.168.1.7 → dnsmasq

UEFI Result:

BIOS Result:
bios result image

My dnsmasq config:

# Don't play DNS server
port=0

# Enable verbose DHCP logging
log-dhcp

# Disable re-use of the DHCP servername and filename fields as extra
# option space. That's to avoid confusing some old or broken DHCP clients.
dhcp-no-override

# Identify the type of PXE client, and set the boot filename accordingly
# Copied from https://github.com/linuxserver/docker-netbootxyz#dd-wrt
dhcp-match=set:bios,60,PXEClient:Arch:00000
dhcp-boot=tag:bios,netboot.xyz-undionly.kpxe,,192.168.1.6
#dhcp-boot=tag:bios,netboot.xyz.kpxe,,192.168.1.6

dhcp-match=set:efi32,60,PXEClient:Arch:00002
dhcp-boot=tag:efi32,netboot.xyz.efi,,192.168.1.6

dhcp-match=set:efi32-1,60,PXEClient:Arch:00006
dhcp-boot=tag:efi32-1,netboot.xyz.efi,,192.168.1.6

dhcp-match=set:efi64,60,PXEClient:Arch:00007
dhcp-boot=tag:efi64,netboot.xyz.efi,,192.168.1.6

dhcp-match=set:efi64-1,60,PXEClient:Arch:00008
dhcp-boot=tag:efi64-1,netboot.xyz.efi,,192.168.1.6

dhcp-match=set:efi64-2,60,PXEClient:Arch:00009
dhcp-boot=tag:efi64-2,netboot.xyz.efi,,192.168.1.6

# Boot the relevant PXE image
pxe-service=x86PC,"Run netboot.xyz, BIOS mode",netboot.xyz-undionly.kpxe,192.168.1.6
pxe-service=X86-64_EFI, "Run netboot.xyz, UEFI mode", netboot.xyz.efi,192.168.1.6
pxe-service=BC_EFI, "Run netboot.xyz, UEFI mode", netboot.xyz.efi,192.168.1.6

dhcp-range=192.168.1.0,proxy,255.255.255.0

Okay it seems like netboot.xyz isnt supported in this way.
See this issue: Add support for proxy DHCP · Issue #952 · netbootxyz/netboot.xyz · GitHub

Nop, I did not find a workaround. All images are loaded over internet, I cannot load local cached images. It works fine enough…but a bit slower.

I would suggest visiting the netboot.xyz discord server as we support the container, not the app. I’m confident they will be able to help you guys resolve the issue. I dont have the link handy, but our readme links to them and they link to their discord.