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服务器

安装完成后,我们确认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_DIRECTORYTFTP_ADDRESS的值,编辑它们并确保它们看起来如下所示。

TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/var/lib/tftpboot"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="--secure"

TFTP 服务器配置

默认配置文件包括以下设置:

  • 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共享目录

完成这些更改后,重新启动 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 服务器

要从tftp服务器下载文件,请使用get命令,如下所示。

tftp> grt linuxmi.info

在 Ubuntu 上设置 TFTP 服务器是一个简单的过程。通过执行以下步骤,您可以快速准备好 TFTP 服务器,以便在网络内传输文件。

请记住考虑安全方面,尤其是在可从不受信任的网络访问 TFTP 服务器的情况下,因为 TFTP 本身不提供加密或身份验证机制。

发表回复