转载自红黑联盟 部分已修改,已经测试成功,同时也可以参考原文,已经测试!!
第1步:安装服务 安装tftp-hpa tftpd-hpa xinetd # apt-get install tftp-hpa tftpd-hpa xinetd 第2步:在创建文件夹/home/phoenix/tftpboot (这个是服务器的文件交换目录,将来客户机获取服务器文件时就是从这个文件夹中获取的),并且修改这个文件夹的权限为777 #mkdir /home/phoenix/tftpboot #chmod -R 777 /home/phoenix/tftpboot 第3步:修改tftp配置文件,如果没有就创建,我喜欢用gedit #gedit /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/home/phoenix/tftpboot //此处文件目录就是上面说道的服务器文件交换目录 source = 11 cps = 100 2 flags =IPv4 } 第五步:修改inetd.conf文件 # gedit /etc/inetd.conf 一般这个文件在打开的时候里面是有内容的,只要在最后添加下面内容即可: tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /home/phoenix/tftpboot //此处文件目录就是上面说道的服务器文件交换目录 第六步:修改tftpd-hpa文件 # vim /etc/default/tftpd-hpa 内容为: #RUN_DAEMON="no" #OPTIONS="-s /home/phoenix/tftpboot -c -p -U tftpd" TFTP_USERNAME="tftp" TFTP_DIRECTORY="/home/phoenix/tftpboot" //此处文件目录就是上面说道的服务器文件交换目录 TFTP_ADDRESS="0.0.0.0:69" TFTP_OPTIONS="-l -c -s" 第七步:重启服务 # service tftpd-hpa restart # sudo /etc/init.d/xinetd reload # sudo /etc/init.d/xinetd restart (此处会提示用 service xinetd restart) 第八步:本地测试 (1)在/tftpboot 下创建测试文件test,并修改test的文件权限 #cd /home/phoenix/tftpboot #touch test #chmod 777 test (2)测试一下 tftp服务: #cd /root #tftp 127.0.0.1 tftp>get test tftp>q #ls 查看当前目录,发现test 文件已在当前目录,此时tftp搭建成功! 附:tftp与ftp的区别 TFTP是一个传输文件的简单协议,它其于UDP协议而实现,但是我们也不能确定有些TFTP协议是基于其它传输协议完成的。此协议设计的时候是进行小文件传输的。因此它不具备通常的FTP的许多功能,它只能从文件服务器上获得或写入文件,不能列出目录,不进行认证,它传输8位数据。传输中有三种模式:netascii,这是8位的ASCII码形式,另一种是octet,这是8位源数据类型;最后一种mail已经不再支持,它将返回的数据直接返回给用户而不是保存为文件。