1.1 基础知识介绍
TFTP(Trivial File Transfer Protocol,简单文件传输协议),是一个基于 UDP 协议实现的用于在客户机和服务器之间进行简单文件传输的协议,适合于开销不大、不复杂的应用场合。TFTP 协议专门为小文件传输而设计,只能从服务器上获取文件,或者向服务器写入文件,不能列出目录,也不能进行认证。
1.2 搭建服务器
在虚拟机 Ubuntu 上打开终端,如下图。
首先输入命令“sudo apt-get install xinetd”,安装 xinetd,如下图。
接下来输入命令“sudo apt-get install tftp tftpd”安装 tftp 和 tftpd,如下图。
然后建立 TFTP 的配置文件,使用命令“vi /etc/xinetd.d/tftp”建立文件,如下图。
写入下面的内容: service tftp { socket_type |
= dgram |
protocol | = udp |
wait | = yes |
user | = root |
server | = /usr/sbin/in.tftpd |
server_args = -s /var/tftpboot/
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}
如下图。注意: 如上图所示, 这个文件在粘贴内容之后, 必须按照下面的格式严格对齐。
退出并保存。其中 server_args 设置的/var/tftpboot 目录是 tftp 服务器的目录,TFTP 客户端就是从这个目录里面获取服务器上的文件的。使用命令 mkdir /var/tftpboot 建立 tftp 服务器的目录,如下图。
然后设置/var/tftpboot 的访问权限为 777,如下图。
输入:sudo /etc/init.d/xinetd restart 命令重启 xinetd 服务,如下图。
服务器到这一步就搭建好了,后面来进行测试。
1.3 服务器测试
本机测试:在/var/tftpboot 下面建立一个文件 test,在里面输入 hello world,然后保存该文件,如下图。
再启动另外一个终端,如下图。
然后输入:tftp 127.0.0.1,如下图。
输入 get test 获取 test 文件,如下图。
在上图看到获取到 test 的信息 14 字节,然后输入 q 退出 tftp,如下图。
然后输入 ls 查看当前目录下是否有 test 文件了,通过查看,发现当前目录下应经有 test文件了,这就是/var/tftpboot 目录下的那个 test 文件,如下图。
使用 cat 命令查看一下 test 文件的内容,如下图。
通过上面的截图,看到 test 文件里面的内容是 hello world,与/var/tftpboot 目录的 test是一样的,至此的 TFTP 服务器端的配置和测试就完成了。