I was using 14.04 before, and I was able to setup and make tftp server and client work. Now that I upgrade to 14.10, tftp server isn't working anymore

Here's what I did:

  1. Install the package.

    sudo apt-get install tftpd-hpa 
  2. Edit config file as follows.

    sudo vi /etc/default/tftpd-hpa

    # /etc/default/tftpd-hpa TFTP_USERNAME="tftp" TFTP_DIRECTORY="/tftpboot" TFTP_ADDRESS="0.0.0.0:69" TFTP_OPTIONS="-s -c -l" 
  3. Create TFTP folder.

    sudo mkdir /tftpboot sudo chmod -R 777 /tftpboot sudo chown -R nobody /tftpboot 
  4. Restart the app to apply new configuration.

    sudo service tftpd-hpa restart 

(Source)

At that time, I didn't know that tftpd-hpa is the package for TFTP server and tftp-hpa is for TFTP client so what I did was install another package for the TFTP CLIENT.

  1. Install the following packages:

    sudo apt-get install xinetd tftpd tftp 
  2. Change permission of /etc/xinetd.d directory.

    sudo chmod –R 777 xinetd.d 
  3. Create a file named tftp in /etc/xinetd.d and write the following:

    service tftp { socket_type = dgram protocol = UDP. WAIT = YES user = root server = /usr/sbin/in.tftpd server_args =-s /tftpboot disable = no per_source = 11 cps = 100 2 flags = IPv4 } 
  4. Save and exit.

  5. Create tftpboot directory and change permission.

    cd / sudo mkdir /tftpboot chmod –R 777 /tftpboot 
  6. Restart the service

    sudo /etc/init.d/xinetd restart 

This step by step process of installing TFTP server and another package for TFTP Client workis in 14.04 but not in 14.10, and I think that the 2nd installation and set up (sudo apt-get install xinetd tftpd tftp) is the culprit why TFTP server isn't working. I've already uninstalled the packages which I think isn't needed. But TFTP server still isn't working. What can I do to make TFTP server work?

4

2 Answers

This works for me:

service tftp { protocol = udp port = 69 socket_type = dgram wait = yes user = nobody server = /usr/sbin/in.tftpd server_args = /tftpboot disable = no } 
1

This is an old question, but for anyone looking for clarity my answer may help:

tftpd-hpa is a self-contained tftp server - it doesn't need xinetd configured to work, in fact some of the recommendations I've read will result in contention for port 69 between tftpd-hpa and xinetd!

The answer elsewhere on this page from user storm is an example. I'm sure this xinetd configuration works with some other tftp package, but I don't see how it could with tftpd-hpa.

Take a look at the default configuration for tftpd-hpa in /etc/default/tftpd-hpa:

# /etc/default/tftpd-hpa TFTP_USERNAME="tftp" TFTP_DIRECTORY="/srv/tftp" TFTP_ADDRESS=":69" TFTP_OPTIONS="--secure" 

Unless you need a solution with more options, you should make sure you do not configure xinetd to handle tftp or listen on port 69 (or just don't install it at all). Edit /etc/default/tftpd-hpa as per your needs and then run sudo systemctl restart tftpd-hpa and you should be good. You can verify with this:

$ sudo netstat -tulpn | grep 69 udp 0 0 0.0.0.0:69 0.0.0.0:* 45262/in.tftpd udp6 0 0 :::69 :::* 45262/in.tftpd 

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy