TFTP-服务搭建
介绍
TFTP (Trivial File Transfer Protocol) 是一个相比 FTP (File Transfer Protocol) 更为简单的文件传输协议.
其与 FTP 服务的差别在:
- 功能: TFTP 仅提供基本的文件传输 (上传和下载), 而 FTP 还提供文件和目录管理, 文件重命名, 权限设置等
- 验证: TFTP 不要求用户进行身份验证, 也没有内置加密机制保护数据传输, 而 FTP 支持多种身份验证方法, 如用户名/密码, ssh 密钥等
- 端口: TFTP 使用 69/UDP. 而 FTP 使用 21/TCP
- 效率: TFTP 在传输小文件上更高效. 而 FTP 支持数据分块, 断点续传等传递大文件
相关概念
TFTP 根目录
TFTP 根目录为 /var/lib/tftpboot
, 用于存放需要通过 TFTP 进行传输的文件.
安装及相关命令
服务端
这里以 Fedora 38 为例:
1 |
|
其提供:
/usr/sbin/in.tftpd
, TFTP 服务守护进程/etc/xinetd.d/tftp
或/etc/inetd.d/tftp
, 配置文件, 可能不存在/var/lib/tftpboot
或/srv/tftp
, 也可能不存在
in.tftpd
命令的常用选项有:
-c
,--create
, 允许客户端在服务器创建文件-s
,--secure
, 更改 TFTP 服务根目录-p
,--permissive
, 不做额外的权限检查
客户端
1 |
|
其提供:
/usr/bin/tftp
, 客户端命令
tftp
客户端常用选项有:
-v
, “verbose”, 开启详细输出模式-4
, 只允许 IPv4 连接-6
, 只允许 IPv6 连接
配置
服务端
TFTP 服务默认没有配置文件, 可以创建 /etc/default/tftp
或 /etc/default/tftp-hpa
来配置, 也可以结合 xinetd
服务使用.
TFTP 默认的设置有:
- 监听端口为 69/UDP
- 默认根目录为
/var/lib/tftpboot
一般用命令设置一些参数, 编写 Unit file 来启动:
1 |
|
客户端
1 |
|
启动
1 |
|
对于 PXE 启动
一般只需要安装 tftp-server
, 然后:
1 |
|
并开启防火墙:
1 |
|
并将相关文件放在 /var/lib/tftpboot/
目录下即可.
TFTP-服务搭建
http://example.com/2024/03/13/TFTP-服务搭建/