docker run -d \
--cap-add NET_BIND_SERVICE \
--cap-add NET_ADMIN \
--cap-add NET_RAW \
--name dhcp-relay \
--network host \
--restart always \
quay.io/poseidon/dnsmasq:v0.5.0-31-gdc1adc8@sha256:6a839fde323fb405f6be84003a6b9019d9151caa983bfdcbc8cc1b51b1f8627d \
--log-dhcp --log-queries --no-daemon \
--port=0 \
--dhcp-range=<Your Network Gateway>,proxy,255.255.255.0 \
--enable-tftp \
--tftp-root=/var/lib/tftpboot \
--pxe-service=net:#ipxe,x86PC,,undionly.kpxe \
--pxe-service=net:#ipxe,X86-64_EFI,,ipxe.efi \
--dhcp-match=set:bios,option:client-arch,0 \
--dhcp-boot=tag:bios,undionly.kpxe \
--dhcp-match=set:efi32,option:client-arch,6 \
--dhcp-boot=tag:efi32,ipxe.efi \
--dhcp-match=set:efibc,option:client-arch,7 \
--dhcp-boot=tag:efibc,ipxe.efi \
--dhcp-match=set:efi64,option:client-arch,9 \
--dhcp-boot=tag:efi64,ipxe.efi \
--dhcp-match=set:arm64,option:client-arch,11 \
--dhcp-boot=tag:arm64,ipxe-arm64.efi \
--dhcp-userclass=set:ipxe,iPXE \
--dhcp-boot=tag:ipxe,http://<TFTP Server>/boot.ipxe