netbootxyz / docker-netbootxyz

netboot.xyz docker container
https://netboot.xyz/docs/docker
162 stars 50 forks source link

Replace in.tftp server with dnsmasq, to add support for single-port TFTP #55

Closed dezeroku closed 2 weeks ago

dezeroku commented 6 months ago

Dnsmasq provides TFTP server functionality that supports the optional --tftp-single-port argument. Essentialy, when this flag is provided, all TFTP connections (not only the initial one) are performed over port 69. This makes it much easier to set up in environment with heavy NAT and/or firewall. It comes in handy e.g. with the Kubernetes deployments.

Reasoning is basically the same as in parallel PR.

I've tested the changes in K8s environment (exposing only port 69 of the container) and with the example docker-compose.yml, connecting from a VM and a "real" device.

Also documenting the TFTPD_OPTS env variable.

The --port=0 argument disables the built-in DNS server.

Oh, and thanks for providing nice software!

antonym commented 6 months ago

I think the change makes sense, I'll need to spend some time to test and make sure there aren't any issues switching packages.