如何在 Ubuntu 和 Debian 上安装 TFTP 服务器
TFTP(简单文件传输协议)是一种简单的文件传输协议,通常用于在远程网络主机上的计算机之间传输文件。
它是轻量级的,不提供 FTP 或 SFTP 的高级功能,但通常用于网络设备配置和固件更新等任务。
本文将探讨如何在 Ubuntu 和 Debian 发行版上安装和配置 TFTP 服务器。
步骤1:在Ubuntu上安装TFTP服务器
在系统上打开终端并运行以下 apt 命令来更新本地软件包列表并安装 TFTP 服务器,如图所示。
sudo apt update
sudo apt install tftpd-hpa
安装时,确保选择正确的软件包至关重要,因为我们需要 TFTP 的增强版本,称为 tftp-hpa 软件包。
安装完成后,我们确认TFTP服务器正在运行并且已经安装成功。
sudo systemctl status tftpd-hpa.service
或者,我们可以将 TFTP 服务器配置为在引导期间自动启动。
sudo systemctl enable tftpd-hpa
重要的是要认识到 TFTP 协议缺乏身份验证和安全功能。因此,建议远程服务器实施访问控制措施或防火墙。这些访问限制是特定于服务器的,应根据个人需求进行配置。
步骤 2:在 Ubuntu 上配置 TFTP 服务器
安装完成后,您需要配置TFTP服务器的邮件主配置文件,该文件位于/etc/default/tftpd-hpa。
使用您喜欢的文本编辑器打开此文件或使用以下命令。
sudo nano /etc/default/tftpd-hpa
在编辑器中,通过编辑并确保它们如下所示来修改 TFTP_DIRECTOR
Y 和 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(<代码>--地址)、<代码>-u(<代码>--用户)等。不指定 -c
标志将不允许任何连接的客户端将新项目上传到服务器。
步骤3:在Ubuntu中创建TFTP目录
配置完成后,创建共享目录并设置允许用户访问该目录所需的权限。
sudo mkdir -p /var/lib/tftpboot
sudo chown -R nobody:nogroup /var/lib/tftpboot
sudo chmod -R 777 /var/lib/tftpboot
这些命令将所有权设置为 TFTP 服务器的默认用户和组 (nobody:nogroup),并允许完全读写访问。
完成这些更改后,重新启动 TFTP 服务器以使配置生效。
sudo systemctl restart tftpd-hpa
步骤 4:测试 TFTP 服务器
要测试TFTP服务器,您可以在本地计算机上安装一个名为tftp-hpa的常用TFTP客户端。
sudo apt install tftp-hpa
然后,使用tftp命令连接到服务器。
tftp 192.168.100.160
如果tftp连接成功,我们会看到tftp提示,您可以在其中检查连接状态。
tftp> status
要从 tftp 服务器下载文件,请使用 get 命令,如图所示。
tftp> get tecmint.info
要将文件上传到 tftp 服务器,请使用 put 命令,如图所示。
tftp> put tecmint.txt
结论
在 Ubuntu 上设置 TFTP 服务器是一个简单的过程。通过执行以下步骤,您可以快速准备好 TFTP 服务器,以便在网络内传输文件。
请记住考虑安全方面,尤其是在可从不受信任的网络访问 TFTP 服务器的情况下,因为 TFTP 本身不提供加密或身份验证机制。