本文主要是介绍tftp 服务部署,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
这个服务挺简单的,但是今天用到了,还是写一下把
简单文件传输协议(Trivial File Transfer Protocol,TFTP)是一种基于 UDP 协议在客户端
和服务器之间进行简单文件传输的协议。顾名思义,它提供不复杂、开销不大的文件传输服
务(可将其当作 FTP 协议的简化版本)。
TFTP 的命令功能不如 FTP 服务强大,甚至不能遍历目录,在安全性方面也弱于 FTP
服务。而且,由于 TFTP 在传输文件时采用的是 UDP 协议,占用的端口号为 69,因此
文件的传输过程也不像 FTP 协议那样可靠。但是,因为 TFTP 不需要客户端的权限认证,
也就减少了无谓的系统和网络带宽消耗,因此在传输琐碎(trivial)不大的文件时,效率
更高。
TFTP 服务是使用 xinetd 服务程序来管理的。xinetd 服务可以用来管理
多种轻量级的网络服务,而且具有强大的日志功能。简单来说,在安装 TFTP 软件包后,还需
要在 xinetd 服务程序中将其开启,把默认的禁用(disable)参数修改为 no:
-
安装tftp
yum install tftp-server tftp xinetd
# 检查一下包是否安装 [root@localhost ~]# rpm -qa|grep tftp tftp-5.2-22.el7.x86_64 tftp-server-5.2-22.el7.x86_64 [root@localhost ~]# rpm -qa|grep xinetd xinetd-2.3.15-14.el7.x86_64
- tftp-server 服务端
- tftp 客户端
- xinetd 用来管理TFTP 的程序
-
编辑
/etc/xinetd.d/tftp
service tftp {socket_type = dgramprotocol = udpwait = yesuser = rootserver = /usr/sbin/in.tftpdserver_args = -s /var/lib/tftpboot -c disable = no per_source = 11cps = 100 2flags = IPv4 }
disable = no
启用tftp服务器server_args = -s /var/lib/tftpboot -c
/var/lib/tftpboot 默认的存储位置,可以修改, -c 加上-c参数可以上传文件,不然就无法上传
重启xinetd
服务
[root@localhost ~]# systemctl restart xinetd
[root@localhost ~]# systemctl enable xinetd
tftp使用udp 69端口,需要开放端口,或者关闭防火墙
- 测试
tftp默认文件路径在/var/lib/tftpboot/
在服务端生成文件[root@localhost ~]# echo "success" > /var/lib/tftpboot/test.txt
在客户端下载测试
[root@localhost ~]# tftp 192.168.92.80
tftp> get test.txt
tftp> q
[root@localhost ~]# cat test.txt
success
192.168.92.80 是服务端的IP
在客户端上传测试
[root@localhost ~]# ll
total 8
-rw-------. 1 root root 1357 Apr 28 10:41 anaconda-ks.cfg
-rw-r--r--. 1 root root 8 May 7 09:31 test.txt
[root@localhost ~]# tftp 192.168.92.80
tftp> put test.txt
Error code 0: Permission denied
[root@localhost ~]# tftp 192.168.92.80
tftp> put anaconda-ks.cfg
Error code 0: Permission denied
[root@localhost ~]# chmod 777 anaconda-ks.cfg
[root@localhost ~]# tftp 192.168.92.80
tftp> put anaconda-ks.cfg
Error code 0: Permission denied
[root@localhost ~]# ls
anaconda-ks.cfg test.txt
[root@localhost ~]# tftp 192.168.92.80
tftp> put anaconda-ks.cfg
在上面报了一个权限错误
Error code 0: Permission denied
,解决办法将 服务端 执行:
chmod 777 /var/lib/tftpboot
这篇关于tftp 服务部署的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!