TFTP服务器的安装与配置以及tftp的使用

时间:2023-02-10 07:00:41

转自: 

安装、配置tftp服务

1.安装TFTP软件

sudo  apt-get  install tftpd-hpa

sudo  apt-get  install tftpd-hpa

sudo  apt-get    install  tftp

tftp-hpa是客户端,tftpd-hpa是服务器端

2.建立tftpboot目录,作为服务器的目录
sudo mkdir  /tftpboot
释放权限:(服务器目录,需要设置权限为777,chomd 777)
sudo chmod  777  /tftpboot

3.配置TFTP服务器

sudo gedit /etc/default/tftpd-hpa

将原来的内容为:

# /etc/default/tftpd-hpa

TFTP_USERNAME="tftp"
#TFTP_DIRECTORY="/tftpboot"  #修改为自己需要的路径,与上面创建的目录一致
TFTP_ADDRESS="0.0.0.0:69"
#TFTP_OPTIONS="--secure"  #可以通过查看mantftpd,看各种参数的意义

#修改为

TFTP_DIRECTORY="/home/shenhao/tftpboot"

TFTP_OPTIONS="-l -c -s"

3.重新启动TFTP服务

sudo service tftpd-hpa restart

4.测试下

$ cd ~/tftpboot echo "hello tftp service">>a.txt

$ echo "hello tftp service,put to tftp serive">>b.txt

$ tftp localhost

tftp> get a.txt

tftp> put b.txt

tftp> quit 

其中get是取得文件,put是将文件上传到TFTP服务器上。

 

/*****************************************************************************/

xinetd版本

配置tftp服务的步骤:

1、安装相关软件包:tftpd(服务端),tftp(客户端),xinetd

sudo apt-get install tftpd tftp xinetd

2、建立配置文件

在/etc/xinetd.d/下建立一个配置文件tftp

sudo vi tftp

在文件中输入以下内容:

service tftp

{

socket_type = dgram

protocol = udp

wait = yes

user = root

server = /usr/sbin/in.tftpd

server_args = -s /tftpboot -c

disable = no

per_source = 11

cps = 100 2

flags = IPv4

}

保存退出

3、建立tftp服务文件目录(上传文件与下载文件的位置),并且更改其权限

sudomkdir /tftpboot

sudochmod 777 /tftpboot -R

4、重新启动服务

sudo /etc/init.d/xinetd restart

至此tftp服务已经安装完成了,下面可以对其进行一下测试。(假设在当前目录下有一个测试文件test.txt)

$tftp 127.0.0.1                     

tftp> put test.txt

Sent 1018 bytes in 0.0 seconds

tftp> get test.txt

Received 1018 bytes in 0.1 seconds

tftp> quit

通过get命令,可以把当前目录下的test.txt文件,通过tftp上传到它的服务文件目录。这时,在/tftpboot下面会出现test.txt文件。通过put命令,可以从/tftpboot下,下载test.txt文件。这样就验证了tftp服务配置的正确性。当文件上传与下载结束后,可以通过quit命令退出。

严格按照以上步骤配置tftp服务,一般都可以成功。如果出现无法get或者put的时候,可以查看一下防火墙是否关闭。

 

注意关闭防火墙: service iptables stop


****************************************************************************************************

Busybox下tftp命令使用详解

转自:http://blog.chinaunix.net/uid-375398-id-1991686.html


Busybox下的tftp命令可以用来进行单文件传输。使用的时候,是把电脑作为服务器ServerBusybox作为客户端Client

使用tftp命令可以实现从Server下载单个文件到Client,或者从Client***个文件到Server

首先来了解一下tftp命令参数,在Busybox下输入tftp help,得到tftp使用的详细参数,如下图

 TFTP服务器的安装与配置以及tftp的使用


参数说明:  -l   local的缩写,后跟存在于Client的源文件名,或下载Client重命名的文件名。

           -r   remote的缩写,后跟ServerPCtftp服务器根目录中的源文 件名,或上传Server后重命名后的文件名。

              -g  get的缩写,下载文件时用,

                        -p  put的缩写,上传文件时用,

                        tftp 默认占用的是69端口。

     根据上述参数,tftp的命令格式如下

1tftp g/-p 目标文件名  源文件名  服务器地址

        说明   -g表示下载    可与源文件名相同或不同   不可更名

   -p表示上传    下载时加参数-l    下载时加参数-r

      上传时加参数-r    上传时加参数-l

             

 从上述表格说明可知,

Server下载文件到Client,使用下面的命令:

tftp 目标文件名 –源文件名 服务器地址

如命令

tftp l B.txt r A.txt 192.168.1.2

 的作用是从server中的tftp根目录下,下载文件A.txtClient并更名为B.txt;若不更名,B.txt就改为A.txt.

      

Clinet上传文件到Server时,使用下面的命令

 tftp 目标文件名  -l 源文件名 服务器地址

 如命令 tftp r D.txt l C.txt 192.168.1.2 

的作用是从Client上传文件C.txtServertftp根目标下,并更名为D.txt;若不更名,D.txt就改为C.txt.

这个命令一般是用于下载或上传后进行更改文件名,如若不更改文件名,可使用以下简单命令

 

 2、不更名下载或上传

不更名下载命令:    (重点)

 tftp l/-r 源文件名   服务器地址  

(此时参数-l-r等效,使用时只使用其中一个);

tftp l A.txt 192.168.1.2或 tftp r A.txt 192.168.1.2 

作用相同,都表示ClientServer下载文件A.txt,且不更名。


  

tftp l/-r 源文件名   服务器地址   

(此时参数-l-r等效,使用时只使用其中一个);

tftp l B.txt 192.168.1.2或 tftp  -p r B.txt 192.168.1.2

作用相同,都表示从Client上传文件B.txtServer,且不更名。