ubuntu14笔记: 开启tftp服务

阅读更多

  TFTP服务依赖于网络守护进程服务程序,可选择安装inetd或者升级版的xinetd,然后安装tftp和tftp-server,接着修改或者创建/etc/xinetd.d/tftp配置文件,最后重启xinetd,启动TFTP服务。

无论采用什么发行版,TFTP服务器的安装都是这样的流程


安装xinetd:
sudo apt-get install xinetd


安装tftp和tftpd:
sudo apt-get install tftp tftpd

 或者安装tftp的增强版本tftp-hpa, tftpd-hpa (推荐)
sudo apt-get install tftp-hpa tftpd-hpa
tftp-hpa 这个是客户端
tftpd-hpa 这个是服务端

【重要1】配置/etc/xinetd.d/tftp
sudo vim /etc/xinetd.d/tftp 写入如下内容:
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
 user = root
server = /usr/sbin/in.tftpd
server_args = -s /home/book/work/ -c
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}

【重要2】配置tftpd-hpa
sudo vim /etc/default/tftpd-hpa

TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/home/book/work/"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="-l -c -s"
//不行试试-l -c -s 去掉"--secure -l -c -s"

【重要3】配置/etc/xinetd.conf 没有则新建一个,有的话查看内容,
看是否与下面的一致,若不一致则修改,内容如下:
# Simple configuration file for xinetd
#
# Some defaults, and include /etc/xinetd.d/
defaults
{
# Please note that you need a log_type line to be able to use log_on_success
# and log_on_failure. The default is the following :
# log_type = SYSLOG daemon info
}
includedir /etc/xinetd.d

【重要4】重启服务,修改配置文件的任何地方都要重启服务
sudo /etc/init.d/xinetd reload
sudo /etc/init.d/xinetd restart

 


sudo service tftpd-hpa restart


book@ubuntu:~$ sudo service tftpd-hpa restart
tftpd-hpa stop/waiting
tftpd-hpa start/running, process 9510


ps -ef |grep tftp          能看到tftpd-hpa进程
netstat -a | grep tftp 成功显示正在运行
不行的话试试/etc/init.d/xinetd start

测试时先建立服务目录 /home/book/work/ 并设置权限 

放一个有内容的文件1.txt,


在测试目录test放一个有内容的文件2.txt
然后终端进入test目录
tftp 127.0.0.1
tftp>get 1.txt    从服务端目录下载1.txt到当前目录
成功后在test目录多了个1.txt 并且有内容
同理测试put 2.txt 将test里的2.txt发送到服务端目录

 

当然也可以在windows端利用tftp工具测试下是否安装成功, 例如Tftpd32.exe

如果以上设置都确认无误,但tftp还是不成功,请检查主机的防火墙是否已经关闭。

 

输入问号可以查看版本号,以及所有命令帮助

tftp> ?
tftp-hpa 5.2
Commands may be abbreviated. Commands are:

connect connect to remote tftp
mode set file transfer mode
put send file
get receive file
quit exit tftp
verbose toggle verbose mode
trace toggle packet tracing
literal toggle literal mode, ignore ':' in file name
status show current status
binary set mode to octet
ascii set mode to netascii
rexmt set per-packet transmission timeout
timeout set total retransmission timeout
? print help information
help print help information

 

 

book@ubuntu:~/test$ tftp 127.0.0.1
tftp> get 23.gif

tftp没有stftp那样的ls,cd等命令, 传好了文件也不能直接参看,它的特点就是短小精悍

你可能感兴趣的:(tftp)