- 博客访问: 44709
- 博文数量: 9
- 博客积分: 0
- 博客等级: 民兵
- 技术积分: 100
- 用 户 组: 普通用户
- 注册时间: 2015-09-17 19:50
分类: LINUX
2015-09-17 20:11:59
一,
tftp简介:
TFTP(Trivial File Transfer Protocol,简单文件传输协议)是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。端口号为69。它基于UDP协议而实现。其语法为:TFTP [-i] host [GET |
PUT] source [destination]。在嵌入式开发过程中可以该协议烧写内核,以及在上位机和开发板之间传递文件。
二,服务器端tftp的安装
首先通过 rpm -qa | grep tftp*
查看本机是否安装过tftp和tftp-server 然后再通过 rpm -qa | grep xinetd
查看xinetd安装与否,若没有安装则 yum install tftp tftp-server xinetd
进行安装。这三个软件中tftp为clicent端;tftp-server是服务器端;xinetd管理小网络服务的工具,可以管理诸如telnet
ssh之类的网络服务。
三,服务器端tftp服务的配置
由于tftp受控于xinetd,所以现在 /etc/xinetd.d/目录下建立名为tftp的tftp配置文件:sudo vi
/etc/xinetd.d/tftp 文件内容如下:
service tftp
{
disable =
no
socket_type
= dgram
protocol
= udp
wait
= yes
user
= root
server
= /usr/sbin/in.tftpd
server_args
= -s /opt/tftpboot -c
per_source
= 11
cps
= 100 2
flags
=IPv4
}
其中disable=表示是否禁用该服务,yes:禁用;no:启用。server_args
= -s /opt/tftpboot -c 其中 -s /opt/tftpboot
指定服务器端上传下载的目录,为避免权限问题,该目录权限直接修改为 777, -c 表示客户端可以在该目录下创建文件
即上传文件。建立该配置文件后保存,然后启动xinetd服务: systemctl start xinetd 通过netstat -a
| grep tftp
查看tftp服务是否启动,若出现udp
0
0
0.0.0.0:tftp
0.0.0.0:*
则表示启动成功。
四,tftp的使用
为在本机试用,先执行 touch /opt/tftpboot/aa 在 /opt/tftpboot/ 下建文件aa ,再 cd
/home/ln/ 执行touch bb ,在ln目录下执行 tftp
192.168.1.111(本机ip),建立连接。在tftp模式下输入 get aa 然后查看/home/ln/ 下出现文件 aa
若是出现 timed out!的提示,一般是firewalld导致。可直接关闭防火墙 ,或在防火墙配置中允许tftp服务。 再输入
put bb 然后看/opt/tftpboot/ 下文件 bb 出现,若出现权限问题,一般是 selinux 机制导致,可以直接关闭
selinux 机制,sudo vi /etc/selinux/config 将SELINUX=enforcing 修改为
SELINUX=disabled 然后重启系统就ok了
busybox提供的tftp的使用:
tftp -help 查看 tftp的使用方法
Usage: tftp [OPTION]... HOST [PORT]
Transfer a file from/to tftp server
Options:
-l FILE Local FILE
-r FILE Remote FILE
-g
Get file
-p
Put file