mirror of
https://github.com/netbootxyz/docker-netbootxyz.git
synced 2026-04-25 15:05:50 +03:00
[GH-ISSUE #14] TFTP sending wrong IP address #126
Labels
No labels
enhancement
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/docker-netbootxyz#126
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @derdeagle on GitHub (Mar 21, 2022).
Original GitHub issue: https://github.com/netbootxyz/docker-netbootxyz/issues/14
I currently face the issue where the TFTP server seems to answer with the wrong IP address (from Docker). I am using the default docker-compose.yml file.
10.10.0.103is my client,10.10.3.6is thenext-serverand192.168.192.2is the IP address of the Docker container running netboot.xyz.The following is the tcpdump output on the host machine (where Docker is **running).
The following is the tcpdump output on docker container itself (please don't mind the time offset).
I tried running the Docker container with
network_mode: hostwhich leads to the fact that no Docker internal IP address is shown in the TCPdump output but it fails to start fully because of nginx (I have somehting running on port 80 on the hardware server so nginx cannot bind on it).What do I need to configure in order to get this up and running?
@ikkemaniac commented on GitHub (May 22, 2022):
I see this too, pretty logical as well as the docker container is only ware of its internal nic's if you're not in
network_mode: hostThat having said; no further/other configuration is need to get this up and running. As long as you fwd port 69/udp you can serve your LAN.
@dezeroku commented on GitHub (Mar 24, 2024):
I've had similar experience when trying to run netbooxyz containerized without host networking.
The issue here seems to be that TFTP protocol, while accepting requests on port 69, can (should?) use (by the RFC) other ports to actually send the data.
This results in ReadReQuests to pass through to the container just ok, but NAT gets confused when container tries to open connections from other ports to the same host.
A fix for that is running TFTP server in a mode where only port 69 is used for both commands and data.
While this isn't strictly RFC compliant it should work with most clients.
PR adding such capability: https://github.com/netbootxyz/docker-netbootxyz/pull/55
With this in place you'd have to set env variable
TFTPD_OPTS='--tftp-single-port'and it should work.@m7les commented on GitHub (Sep 24, 2024):
For what it's worth I've had a similar problem that turned out to be due to running docker in an environment with multiple MACs and IPs - solved by running on a host with a single IP
@jamesbrink commented on GitHub (Nov 6, 2024):
this merge and option fixed the issue for me on macos, thank you!
@DocSneider commented on GitHub (Nov 28, 2024):
I had to apply the same "fix", otherwise I got a timeout error:
Wouldn't it be better to set the
TFTPD_OPTS='--tftp-single-port'by default?Or may it be possible to add some information regarding this problem to the wiki?
@diktamxx commented on GitHub (Jan 14, 2026):
Currently, we are facing the same problem.
@dezeroku commented on GitHub (Jan 14, 2026):
@diktamxx you can try to work around it by adding
-e TFTPD_OPTS='--tftp-single-port'to your docker run call, this should help if it's indeed the same issue (and it looks like it is).@DocSneider well, answering this took longer than expected, sorry 😅
It would be a bit controversial, as the single port approach is not exactly RFC compliant. I haven't had any issues with it personally, but there probably are some devices in the wild that would respond poorly to this option. I've no idea about the scale though
That sounds useful imho, I suppose that you had README.md in mind or is there something more comprehensive for this project?
Also, feel free to whip up a PR for it if you'd like