TFTP是一个基于UDP协议使用端口69的传输服务,主要用于客户机和服务器之间进行简单文件传输。TFTP协议专门为小文件传输而设计,只能从服务器上获取文件或者向服务器写入文件,不能列出目录,也无法进行认证。
一. 环境
系统:Centos6/7
共享路径:root/tftp 此目录可根据需求自定,文件权限必须777
Selinux:关闭
二. 安装
1. 安装tftp服务
yum install -y tftp-server
2. 安装xinetd依赖服务
yum install -y xinetd
3. 检查是否安装成功
rpm -qa | grep tftp
rpm -qa | grep xinetd
三. 配置
1. 创建共享文件夹及授予权限
mkdir /root/tftp
chmod 777 /root/tftp
2. 配置tftp服务
vi /etc/xinetd.d/tftp
按以下例子配置tftp服务
“server_args” 为共享目录, 后面的-C为可写入,如果没有-C则只可读不可写。
“disable”为是否关闭,默认是yes,将yes改为no即为开启tftp服务。
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /root/tftp -C
disable = no #默认为yes,这里我们将其更改为no
per_source = 11
cps = 100 2
flags = IPv4
}
3. 重启服务
Centos 6:
service xinetd restart
Centos 7:
systemctl restart xinetd
4.防火墙放行
Centos7:
firewall-cmd --permanent --add-port=69/udp
fire-cmd --reload
五. 测试
在其他linux设备上安装tftp-client
yum install -y tftp
假设server端ip地址为192.168.1.100,client端ip地址为192.168.1.200,在server端创建文件server,client创建文件client
并在client端使用tftp命令
tftp 192.168.1.100
则会弹出“tftp>”提示符,在其后输入TFTP命令。
主要的TFTP命令其实就三个:
get 接文件名 //将当前目录下的文件上传至TFTP服务器
put 接文件名 //从TFTP服务器下载文件到当前目录
q //退出TFTP客户端工具
分别执行命令get server 和put client,然后查看client端是否有文件server,server端是否有文件client,都有则表明测试成功