TFTP
简单文件传输协议(Trivial File Transfer Protocol,TFTP)是一种基于 UDP 协议在客户端和服务器之间进行简单文件传输的协议。顾名思义,他提供不复杂,开销不大的文件传输服务(可将其当做 FTP 协议的简化版本)
TFTP 的命令功能不如 FTP 服务强大,甚至不能遍历目录,在安全性方面也弱于 TFTP 服务。而且,由于 TFTP 在传输文件是采用的是 UDP 协议,使用 69 端口,因此文件的传输过重也不想 FTP 协议那样可靠。但是,因为 TFTP 不需要客户端的权限认证,也就减少了无所谓的系统和网络带宽消耗,因此在传输琐碎(trivial)不到的文件是,效率要搞
第一步:安装
[root@localhost ~]# yum -y install tftp-server tftp
在 RHEL 7 系统中,TFTP服务是使用 xinetd 服务程序来管理的。xinetd 服务也可以管理多种轻量级网络服务,而且具有强大的日志功能。简单来说,在安装 TFTP 软件包后,还需要在 xinetd 服务程序中将其开启,把禁用(disable)参数修改为 no:
[root@localhost ~]# vi /etc/xinetd.d/tftp
# default: off
# description: The tftp server serves files using the trivial file transfer \
# protocol. The tftp protocol is often used to boot diskless \
# workstations, download configuration files to network-aware printers, \
# and to start the installation process for some operating systems.
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /var/lib/tftpboot <==站点主目录
disable = no <==改为 no,表示启用
per_source = 11
cps = 100 2
flags = IPv4
}
然后,重启 xinetd 服务并将它添加到系统的开机启动项中,以确保 TFTP 服务在系统重启后依然处于运行状态
systemctl restart xinetd
systemctl enable xinetd
TFTP 的根目录为 /var/lib/tftpboot。我们可以使用刚安装好的 tftp 命令尝试访问其中的文件。在使用 tftp 命令时,可能会用到以下参数
命令 | 作用 |
---|---|
? | |
put | 上传文件 |
get | 下载文件 |
verbose | 显示详细的处理信息 |
status | 显示当前状态信息 |
binary | 使用二进制进行传输 |
ascii | 使用 ASCII 码进行传输 |
timeout | 设置重传的超时时间 |
quit | 退出 |
[root@localhost ~]# echo "hello" > /var/lib/tftpboot/readme.txt
[root@localhost ~]# tftp 10.10.10.11
tftp> get readme.txt
tftp> quit
[root@localhost ~]# ls
readme.txt