Curl tftp put times out

TFTP put times out w/ a curl error (28) when I use an FQDN, but it works when I use an IP Address. My DNS is properly configured. The VyOS instance is properly configured, and can resolve the TFTP server’s hostname with dig, or ping. This happens when i use the following:

save tftp://myhost.local.lan

OR via the my configuration directives to save

set system config-management commit-archive location 'tftp://myhost.local.lan'

To work around this, i simply use the IP Address when saving or in my config-management section.

Any ideas what’s going on here?

Hi @ddiguru
Which version of the VyOS do you use?
tested on VyOS 1.3-rolling-202001240217

sever@vyos01# save tftp://mynet.lan
Saving configuration to 'tftp://mynet.lan'...
####################################################################################################################################################### 100.0%
Done
[edit]
sever@vyos01#
Version:          VyOS 1.3-rolling-201912271900
Built by:         autobuild@vyos.net
Built on:         Fri 27 Dec 2019 19:00 UTC
Build UUID:       95437501-980e-48ea-aa3f-2e6182f9532c
Build Commit ID:  ef122b630db38e

How do you resolve myhost.local.lan ?
Via dns server or local via set system static-host-mapping ?

I resolve that host via DNS. As my post mentioned, i can ping the hostname OR use dig to resolve it w/o any problem. I’m running DNS over a couple of IP addresses on my network, an Anycast IP and static IP. I just tried changing the set system name-server command to use the static IP, and to no avail.

I will likely grab a newer rolling and see if it’s the version of the roll i’m using.

Just applied the following image:

Version:          VyOS 1.3-rolling-202001160217
Built by:         autobuild@vyos.net
Built on:         Thu 16 Jan 2020 02:17 UTC
Build UUID:       8d1ea774-c0d6-485d-adb0-6400bc25fa4c
Build Commit ID:  2b332ea0c3cd73

I still have the issue.

I can ping by hostname:

ping gitlab.ddiguru.net.
PING gitlab.ddiguru.net (192.168.30.60): 56 data bytes
64 bytes from 192.168.30.60: icmp_seq=0 ttl=64 time=0.523 ms
64 bytes from 192.168.30.60: icmp_seq=1 ttl=64 time=0.621 ms
64 bytes from 192.168.30.60: icmp_seq=2 ttl=64 time=0.575 ms
^C--- gitlab.ddiguru.net ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max/stddev = 0.523/0.573/0.621/0.040 ms

I can ping6 by name:

ping6 gitlab.ddiguru.net.
PING gitlab.ddiguru.net (2001:470:8759:30::60): 56 data bytes
64 bytes from gitlab.ddiguru.net: icmp_seq=0 ttl=64 time=0.651 ms
64 bytes from gitlab.ddiguru.net: icmp_seq=1 ttl=64 time=0.607 ms
64 bytes from gitlab.ddiguru.net: icmp_seq=2 ttl=64 time=0.548 ms
^C--- gitlab.ddiguru.net ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max/stddev = 0.548/0.602/0.651/0.042 ms

I’ve even tried set system static-host-mapping for both IPv4 and IPv6 addresses. Still no luck.

If i use FQDN it hangs. I can only get it to work by IP address.

Can you provide tcpdump from tftp server?
tcpdump -ntvvvi ethX host 192.168.122.103
Where ethX - interface on which a request is expected from vyos and host is ip address of vyos.
1 dump with IP
2 dump with FQDN

Arrrrr! Thanks for your suggestion, but i figured it out. The TFTP service was only binding to the IPv4 address. I’m dual stacked on the gitlab / tftp server and have A and AAAA records for it in DNS. VyOS was preferring the IPv6 connection when using FQDN.

Once i set the flag to IPv6, the service bound to both v4 and v6. Everything worked.

Thanks!

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.