@Wyatt I'm documenting a complete reproducer here, since you will need it for further debugging anyways and will also provide the logs: MAAS + External DHCP + iPXE (LP #2069095 Reproducer) ---------------------------------------------------- A. Deploy an Ubuntu server to act as the DHCP + PXE server (I picked Jammy). B. Disable MAAS DHCP C. Configure your router to use this machine as DHCP Relay D. SSH To this machine and follow this process: (Disable systemd-resolved) $ sudo systemctl disable systemd-resolved $ sudo systemctl stop systemd-resolved (Set Manual DNS- Use Your own DNS Servers) $ sudo unlink /etc/resolv.conf $ sudo vim /etc/resolv.conf nameserver 127.0.0.1 nameserver 10.1.10.10 nameserver 8.8.8.8 (Update / Install iPXE) $ sudo apt-get update; sudo apt-get dist-upgrade $ sudo apt-get -y install ipxe (Create the tFTP dirs and deploy binaries) $ sudo mkdir -p /pxeboot/firmware; sudo mkdir -p /pxeboot/config $ sudo cp -v /usr/lib/ipxe/{ipxe.efi,ipxe.pxe} /pxeboot/firmware/ (Create an iPXE Config File - 10.1.9.12 is a Rack Controller) $ sudo vim /pxeboot/config/boot.ipxe #!ipxe chain http://10.1.9.12:5248/ipxe.cfg-${net0/mac} || chain http://10.1.9.12:5248/ipxe.cfg-default-amd64 (Tree View) $ tree /pxeboot/ /pxeboot/ ├── config │   └── boot.ipxe └── firmware ├── ipxe.efi └── ipxe.pxe 2 directories, 3 files (Install DNSMasq) $ sudo apt-get -y install dnsmasq $ sudo mv -v /etc/dnsmasq.conf /etc/dnsmasq.conf.backup (Configure DNSMasq) $ sudo vim /etc/dnsmasq.conf # This is designed to replace MAAS DHCP interface=bond0 bind-interfaces # Match MAAS Domain domain=alannet dhcp-range=bond0,10.1.13.100,10.1.13.200,255.255.248.0,8h dhcp-option=option:router,10.1.10.1 dhcp-option=option:dns-server,10.1.10.10 # Main Local DNS Forwarder dhcp-authoritative # Enable logging log-queries log-dhcp # Set tag "MAAS" if request comes from iPXE ("iPXE" user class) dhcp-userclass=set:MAAS,iPXE # Enable tFTP enable-tftp tftp-root=/pxeboot # Boot config for BIOS systems dhcp-match=set:bios-x86,option:client-arch,0 dhcp-boot=tag:bios-x86,firmware/ipxe.pxe dhcp-boot=tag:MAAS,tftp://10.1.8.44/config/boot.ipxe # Boot config for UEFI systems dhcp-match=set:efi-x86_64,option:client-arch,7 dhcp-match=set:efi-x86_64,option:client-arch,9 dhcp-boot=tag:efi-x86_64,firmware/ipxe.efi dhcp-boot=tag:MAAS,http://10.1.8.44/config/boot.php (Enable / Restart DNSMasq) $ sudo systemctl restart dnsmasq $ sudo systemctl status dnsmasq $ sudo systemctl enable dnsmasq (To work around LP #2002303 we need a nginx + PHP server) $ sudo apt-get -y install nginx php8.1-fpm $ sudo systemctl enable nginx $ sudo systemctl enable php8.1-fpm $ sudo mv /etc/nginx/sites-available/default /etc/nginx/sites-available/default.backup $ sudo vim /etc/nginx/sites-available/default server { listen 80 default_server; listen [::]:80 default_server; root /pxeboot; index index.php server_name _; location / { try_files $uri $uri/ =404; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php8.1-fpm.sock; } location ~ /\.ht { deny all; } } $ sudo vim /pxeboot/config/boot.php $ sudo systemctl restart nginx $ sudo systemctl restart php8.1-fpm Done!