Setting Up a TFTP Server on Ubuntu
Want to transfer files effortlessly across your network without the complexities of FTP? Consider using TFTP, the Trivial File Transfer Protocol. It's a lightweight, simple protocol designed for quick and easy file transfer.
This guide will walk you through setting up a TFTP server on your Ubuntu system, enabling you to share files easily.
Prerequisites:
- Ubuntu System: This guide assumes you have an Ubuntu operating system installed.
- Root Access: You'll need root privileges to install and configure the necessary packages.
Steps to Install and Configure TFTP Server:
-
Install Required Packages:
Begin by updating your package lists and installing the necessary packages:
sudo apt-get update sudo apt-get install xinetd tftpd tftp
xinetd acts as a daemon that manages the TFTP service. tftpd provides the TFTP server functionality, while tftp is the client tool that you will use to transfer files from the server.
-
Configure xinetd:
Edit the xinetd configuration file:
sudo nano /etc/xinetd.d/tftp
The xinetd configuration file is where you specify the settings for the TFTP service. You'll need to create a new entry for it if it's not already present. Here is an example of the configuration:
service tftp { disable = no socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd server_args = -s /srv/tftp per_source = 10 cps = 100 flags = IPv4 }
Let's break down the key settings:
- disable = no: Enables the TFTP service.
- socket_type = dgram: Specifies the type of socket to use (datagram).
- protocol = udp: Uses UDP as the transport protocol.
- wait = yes: Waits for a client connection.
- user = root: Runs the TFTP server as the root user.
- server = /usr/sbin/in.tftpd: Points to the location of the tftpd executable.
- server_args = -s /srv/tftp: Specifies the root directory for TFTP files.
- per_source = 10: Limits the number of simultaneous connections from a single source.
- cps = 100: Limits the number of connections per second.
- flags = IPv4: Specifies that the service will use IPv4.
-
Create a TFTP Directory:
Create the directory where you want to store the TFTP files:
sudo mkdir /srv/tftp sudo chown root:root /srv/tftp
This directory will serve as the root directory for all the files that you wish to share using the TFTP server.
-
Restart xinetd:
Restart the xinetd service to apply the changes:
sudo systemctl restart xinetd
-
Test the TFTP Server:
To check if your server is working, open a terminal on another system on your network and use the tftp command:
tftp
Replace
<server_IP_address>
with the IP address of your TFTP server.You should see a prompt to enter the TFTP commands. Now you can use tftp commands such as get and put to transfer files to and from the server.
Important: For security reasons, you should only enable TFTP on a private network. It is recommended to disable TFTP if you are not using it.
Example Usage:
-
Upload a file:
tftp
put -
Download a file:
tftp
get
Conclusion:
Setting up a TFTP server using sudo apt-get install xinetd tftpd tftp on Ubuntu is a straightforward process. By following these steps, you can create a simple yet efficient way to share files within your network. Remember to prioritize security and consider disabling TFTP if it's not in use.