TFTP(简单文件传输协议)是一种简单的文件传输协议,通常用于在远程网络主机上的计算机之间传输文件。
它是轻量级的,不提供 FTP 或 SFTP 的高级功能,但通常用于网络设备配置和固件更新等任务。
本文将探讨如何在 Ubuntu 和Debian 发行版上安装和配置 TFTP 服务器。
步骤1:在Ubuntu上安装TFTP服务器
打开系统上的终端并运行以下apt 命令来更新本地软件包列表并安装TFTP服务器,如图所示。
linuxmi@linuxmi ~/www.linuxmi.com
% sudo apt update
linuxmi@linuxmi ~/www.linuxmi.com
% sudo apt install tftpd-hpa
安装时,确保选择正确的软件包至关重要,因为我们需要TFTP的增强版本,称为tftp-hpa软件包。
安装完成后,我们确认TFTP服务器正在运行并且已经安装成功。
linuxmi@linuxmi ~/www.linuxmi.com
% sudo systemctl status tftpd-hpa.service
或者,我们可以将TFTP服务器配置为在引导期间自动启动。
sudo systemctl enable tftpd-hpa
重要的是要认识到TFTP协议缺乏身份验证和安全功能。因此,建议远程服务器实施访问控制措施或防火墙。这些访问限制是特定于服务器的,应根据个人需求进行配置。
步骤 2:在 Ubuntu 上配置 TFTP 服务器
安装完成后,您需要配置位于/etc/default/tftpd-hpa的TFTP服务器的邮件主配置文件。
使用文本编辑器打开此文件或使用以下命令。
linuxmi@linuxmi ~/www.linuxmi.com
% sudo nano /etc/default/tftpd-hpa
在编辑器中,修改TFTP_DIRECTORY
和TFTP_ADDRESS
的值,编辑它们并确保它们看起来如下所示。
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/var/lib/tftpboot"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="--secure"
默认配置文件包括以下设置:
- TFTP_USERNAME:指示 TFTP 执行时使用的用户。
- TFTP_DIRECTORY:初始设置为/srv/tftp,建议自定义此位置。在本指南中,我们将使用/var/lib/tftpboot。
- TFTP_ADDRESS:最初设置为 ‘ :69 ‘,我们已将其修改为0.0.0.0:69。前面的零表示服务器接受来自端口69上的任何客户端的连接。
- TFTP_OPTIONS:允许指定 TFTP 服务器的特定参数。在本例中,我们将其设置为“安全”。
TFTP_OPTIONS使用 TFTP 服务器行为的各个方面,包括超时、安全设置、块大小、传输大小限制以及与文件传输操作相关的其他参数。
这里使用了“-s(–secure)”标志,其他可能的标志包括“-c(–create)”、“-a(–address)”、“-u(–user)”等。未指定“-c”标志将禁止任何连接的客户端向服务器上传新项目。
步骤3:在Ubuntu中创建TFTP目录
配置完成后,创建共享目录并设置允许用户访问该目录所需的权限。
linuxmi@linuxmi ~/www.linuxmi.com
% sudo mkdir -p /var/lib/tftpboot
linuxmi@linuxmi ~/www.linuxmi.com
% sudo chown -R nobody:nogroup /var/lib/tftpboot
linuxmi@linuxmi ~/www.linuxmi.com
% sudo chmod -R 777 /var/lib/tftpboot
linuxmi@linuxmi ~/www.linuxmi.com
%
这些命令将所有权设置为 TFTP 服务器的默认用户和组 ( nobody:nogroup ),并允许完全读写访问。
完成这些更改后,重新启动 TFTP 服务器以使配置生效。
linuxmi@linuxmi ~/www.linuxmi.com
% sudo systemctl restart tftpd-hpa
步骤 4:测试 TFTP 服务器
要测试TFTP服务器,您可以在本地计算机上安装一个常用的TFTP客户端(称为tftp-hpa) 。
linuxmi@linuxmi ~/www.linuxmi.com
% sudo apt install tftp-hpa
然后,使用tftp命令连接到服务器。
linuxmi@linuxmi:~/www.linuxmi.com$ tftp 192.168.174.133
如果tftp连接成功,我们将看到tftp提示符,您可以在其中检查连接状态。
tftp> status
要从tftp服务器下载文件,请使用get命令,如下所示。
tftp> grt linuxmi.info
要将文件上传到tftp服务器,请使用put命令,如下所示。
tftp> put linuxmi.com.txt
结论
在 Ubuntu 上设置 TFTP 服务器是一个简单的过程。通过执行以下步骤,您可以快速准备好 TFTP 服务器,以便在网络内传输文件。
请记住考虑安全方面,尤其是在可从不受信任的网络访问 TFTP 服务器的情况下,因为 TFTP 本身不提供加密或身份验证机制。