July 15, 2008 · Server · Email This Post

Sponsored Link
atftp is Multi-threaded TFTP server implementing all options (option extension and multicast) as specified in RFC1350, RFC2090, RFC2347, RFC2348 and RFC2349. Atftpd also supports multicast protocol known as mtftp, defined in the PXE specification. The server supports being started from inetd as well as in daemon mode using init scripts.

Install atftp Server in Ubuntu

sudo aptitude install atftpd

This will complete the installation

Using atftpd

By default atftpd server starts using inetd so we need to tell atftpd to run as a server directly, not through inetd.Edit /etc/default/atftpd file using the following command

sudo gedit /etc/default/atftpd

Change the following line

USE_INETD=true

to

USE_INETD=false

save and exit the file

Now you need to run the following command

sudo invoke-rc.d atftpd start

Configuring atftpd

First you need to create a directory where you can place the files

sudo mkdir /tftpboot

sudo chmod -R 777 /tftpboot

sudo chown -R nobody /tftpboot

sudo /etc/init.d/atftpd restart

Security configuration for atftp

Some level of security can be gained using atftp libwrap support. Adding proper entry to /etc/hosts.allow and /etc/hosts.deny will restrict access to trusted hosts. Daemon name to use in these files is in.tftpd.

/etc/hosts.allow /etc/hosts.deny

in.tftpd : FQD or IP

atftp client installation

Advance Trivial file transfer protocol client,atftp is the user interface to the Internet ATFTP (Advanced Trivial File Transfer Protocol), which allows users to transfer files to and from a remote machine. The remote host may be specified on the command line, in which case atftp uses host as the default host for future transfers.

sudo aptitude install atftp

That’s it you are ready to transfer your files using tftp clients

Testing tftp server

Tranfering file hda.txt from 192.168.1.100 (Client using tftp) to 192.168.1.2 (Server 192.168.1.100). Get an example file to transfer (eg. hda.txt)

touch /tftpboot/hda.txt

chmod 777 /tftpboot/hda.txt

ls -l /tftpboot/

total 0
-rwxrwxrwx 1 ruchi ruchi 223 hda.txt

atftp 192.168.1.2

atftp> put hda.txt

Sent 722 bytes in 0.0 seconds

atftp> quit

ls -l /tftpboot/

total 4
-rwxrwxrwx 1 ruchi ruchi 707 2008-07-07 23:07 hda.txt

Sponsored Link

Incoming search terms:

Related posts

38 Comments to “Howto Setup advanced TFTP server in Ubuntu”

  1. Mohamed says:

    Hello Freinds,

    i’m unable to upload any IOS of file to my routers/switches.

    any help will be appreciated.

    this is my config file.

    service tftp
    {
    protocol = udp
    port = 69
    socket_type = dgram
    wait = yes
    user = nobody
    server = /usr/sbin/in.tftpd
    server_args = -s /home/moh/D/ios-image
    disable = no
    }

    thanks alot.

    Linux83

    [Reply]

  2. Elden says:

    Under Ubuntu 11.10…

    ‘sudo apt-get install atftpd’
    (It is installed and started automatically)

    —-Test It ———————–
    sudo apt-get install atftp
    sudo chmod ugoa+w /srv/tftp
    echo hello > /srv/tftp/hello.txt
    atftp –verbose -g -l local_hello.txt -r hello.txt 127.0.0.1
    cat local_hello.txt

    [Reply]

    Elden Reply:

    thats a dash dash in front of verbose
    “atftp –verbose -g -l local_hello.txt -r hello.txt 127.0.0.1″
    and it does not auto start atftpd in Ubuntu12.10

    [Reply]

    Elden Reply:

    One other thing in 12.10
    edit /etc/default/atftpd to contain INET_ANY (0.0.0.0) as the IP to make ports on…….

    USE_INETD=false
    OPTIONS=”–tftpd-timeout 300 –bind-address 0.0.0.0 –retry-timeout 5 –mcast-port 1758 –mcast-addr 239.239.239.0-255 –mcast-ttl 1 –maxthread 100 –verbose=5 /srv/tftp”

    [Reply]

  3. Stan says:

    When I do atftp 192.168.1.2 I get tftp> at the prompt instead of atftp>. Suggestions?
    Thank you.

    [Reply]

  4. GdeS says:

    Hi, I am running Ubuntu Studio 12.04. I configured atftd and can start it by running invoke-rc.d command and file transfer works perfectly well. However, it does not start at boot time. The log has an error message saying that it cannot bind to my ip interface. Still I can start it by running invoke-rc.d command manually.

    No other process is using port 69. I have also changed the /etc/rcX.d to start up atftpd after rlinetd is started just to make sure that the port is available for binding but still no success.

    It is not a major issue but interesting find out why this is happening. Would appreciate any suggestions to resolve this.

    thanks

    [Reply]

  5. mostafa says:

    after
    atftp 192.168.1.2

    atftp> put hda.txt
    I received this message:
    timeout: retrying…
    timeout: retrying…
    timeout: retrying…
    timeout: retrying…
    timeout: retrying…
    timeout: retrying…
    tftp: aborting
    why????
    my ip is 192.168.112.128

    [Reply]

  6. Jamieson Becker says:

    Don’t chown the directory to nobody. That may allow an unauthenticated attacker to upload/overwrite your boot operating system files!

    [Reply]

Leave a Reply