TFTP issue

I’m having a strange issue. Fresh install of FreePBX.

  • tftp is running…

[root@pbx ~]# ps aux | grep tftp
root 1978 0.0 0.1 2488 696 ? Ss 09:44 0:00 in.tftpd -s /tftpboot --verbose

  • iptables turned off

  • I can connect locally but not pull file…
    [root@pbx ~]# tftp localhost
    tftp> status
    Connected to localhost.
    Mode: netascii Verbose: off Tracing: off Literal: off
    Rexmt-interval: 5 seconds, Max-timeout: 25 seconds
    tftp> get test
    Transfer timed out.

  • I can connect locally with Static IP of server…
    [root@pbx ~]# tftp (static public IP)
    tftp> status
    Connected to (Static IP).
    Mode: netascii Verbose: off Tracing: off Literal: off
    Rexmt-interval: 5 seconds, Max-timeout: 25 seconds
    tftp> get test
    tftp>

  • When I connect locally with IP, I get a message in /var/log/messages. Any other time, I don’t.

May 8 10:01:04 pbx in.tftpd[2161]: RRQ from (IP address) filename test

  • If I try to connect to TFTP from home here is what I get. Also nothings shows up in /var/log/messages…
    user@desktop:~$ tftp (static IP)
    tftp> status
    Connected to (static IP).
    Mode: netascii Verbose: off Tracing: off
    Rexmt-interval: 5 seconds, Max-timeout: 25 seconds
    tftp> get test
    Transfer timed out.

I have eliminated all firewalls. No luck. I’m not convince its a firewall issue.

Another odd thing is yesterday, on another test PBX, I had the same issue as above except in my /var/log/messages, it was actually showing that it was grabbing the file but it wasn’t, it time’d out.

Any help would be great.

Try running ‘tcpdump port 69’

See what you see on the server during the request.

By dump is below. Client still says “timeout” even though you see it access the file. Also, this is weird. Fresh install, I rebooted the same box, tftpd didnt start. Even if I did a “service xinetd restart”, didnt come up. I tried starting it manually, it started then instantly died. In the Advanced Settings for the TFTP Server in FreePBX gui, I checked the box that said “Disable TFTP checking”. I did that, of course Apache locked up. I restarted Apache, I look at the tftp service to see if it started running, and it was running. Not sure what Apache and TFTP service have in common.

Dump…

[root@turnup ~]# tcpdump -v port 69
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
11:13:27.696481 IP (tos 0x0, ttl 63, id 0, offset 0, flags [DF], proto UDP (17), length 44)
(client IP).43590 > (serverIP).tftp: 16 RRQ “test” netascii
11:13:32.696633 IP (tos 0x0, ttl 63, id 0, offset 0, flags [DF], proto UDP (17), length 44)

It just does that same message over and over again. But the client times out.

Okay so my findings thus far. Think the TFTP service was fine, it wasnt running cause it wasnt touched. I turned up a CentOS box bare minimum with TFTP running, I’m having the same issue. I believe its a NAT issue or routing. Because it will make it there but not back.

Thanks for the help!

try iptables -L