前天,我介绍了基于FreeNAS下的CIFS/SMB共享服务。包含此文在内,目前一共写了六篇FreeNAS的学习笔记,对于初学者来说,可以 看作是第一次尝试使用FreeNAS的教程——写的简单没有深度,想更深入研究则靠进一步实践了,我帮不了你。什么?你还不知道什么是FreeNAS!如 果你对此感兴趣,从FreeNAS系统安装一起开始学习之旅吧。
今天我们将研究FreeNAS提供的另一项服务——TFTP,踏实简单文件传输协议的简称,是简化版的FTP。在开始本教程之前,咱们首先简单了解了什么是TFTP,TFTP的缺点以及运行原理。
什么是TFTP,简单文件传输协议
TFTP(Trivial File Transfer Protocol,简单文件传输协议)是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服 务。是一种简化的FTP,于1980年定义。它有以下特点:
- 不能列出索引内容。
- 无验证或加密机制。
- 被用于从远程服务器读取或写入文件。
- 使用UDP(端口69)作为其传输协议(不像FTP使用TCP端口21)。
- 支持三种传输模式:netascii、octet、mail。前两者符合FTP协议中的ASCII和image(binary)模式;第三种很少使用,目前已经废弃。
由于TFTP缺少安全性,在开放式因特网上传输非常危险,因此通常仅允许下载数据而不允许上传数据,或用于私人本地网络以及某些特殊场合。
一、FreeNAS的TFTP服务使用
学前准备工作。在F盘新建两个文件夹:budeyan文件夹存放了 budeyan.txt和atx690.rar两个文件,用于TFTP上传测试;budeyancom文件夹用于下载TFTP服务器文件测试。
一、开启FreeNAS的TFTP服务
开启用VMware虚拟的FreeNAS服务器,输入IP地址,打开“FreeNAS Web GUI”登录。打开“Services–>TFTP”,选中“Trivial File Transfer Protocol”右侧的“Enable”,在“Directory”输入路径“/mnt/data/”,或点右侧浏览指定TFTP服务根目录。选中 “Allow new files”即允许写入新文件(Allow new files to be created.)。高级设置“Advanced settings”选择默认。“Save and Restart”保存。
The directory containing the files you want to publish. The remote host does not need to pass along the directory as part of the transfer.
选中你要发布的文件夹目录。在远程服务器上传或下载文件时并不需要输入完整路径。例如传送文件“/mnt/data/tftp/budeyan.txt”时使用相对路径:“tftp/budeyan.txt”而非“/mnt/data/tftp/5ihll.txt”。
出于安全考虑,在默认情况下,仅允许已存在的文件上传(By default, only already existing files can be uploaded.)。这句话的意思就是说,即使被发现服务器开着TFTP,在不选中“允许写入新文件”时,非知情者很难猜中服务器TFTP含有的文件。 因此不存在被恶意上传写入文件的可能,提高了安全性。
二、测试FreeNAS的TFTP服务
运行CMD后,输入下述TFTP命令,把budeyan文件夹下budeyan.txt和atx690.rar传送到FreeNAS服务器。如果不知道如何使用tftp命令,可以在CMD下,输入tftp /?,寻求帮助。这里atx690.rar、ATX690.rar在Windows下是同一个文件,而在FreeNAS下是两个文件。原因是FreeNAS区分大小写,而Windows不区分大小写。
- tftp -i 192.168.1.21 put F:\budeyan\budeyan.txt
- tftp -i 192.168.1.21 put F:\budeyan\atx690.rar
- tftp -i 192.168.1.21 put F:\budeyan\ATX690.rar
在FreeNAS下输入数字6进入Shell。输入cd /mnt/data进入data文件夹,s -l列出文件。细心的朋友会发现服务器data下有两个文件同名文件atx690.rar和ATX690.rar。执行删除命令rm ATX690.rar删除后,atx690.rar依然存在。验证了FreeNAS是区分大小写的,一大一小就是两个文件了。习惯于 Windows的初学者朋友,请注意了,别因一时疏忽忘记大小写让你郁闷的抓耳挠腮而不知所以然。
三、FreeNAS的TFTP服务下载
运行CMD,然后输入下面tftp命令。从TFTP服务器根目录下在atx690.rar、budeyan.txt到文件夹budeyancom。 在tftp下载FreeNAS的tftp服务器文件时,我进行了重命名(仅仅是大小写——虽然对Windows没用)。请确保保存的文件夹存在,不然下载 会失败。有兴趣的朋友,可以在FreeNAS Web GUI里,去掉“Allow new files”,进行文件传送测试。