在Ubuntu14中配置TFTP服务器

在Ubuntu14中配置TFTP服务器

sudo apt-get install xinetd

尤其是有人要求安装xinetd,然后还要配置这个xinetd.conf文件,事实证明根本没必要,如果你按照这个来,我运行半天总是time out

sudo apt-get install tftp-hpa tftpd-hpa

进入/etc/xinetd.d/文件夹,查看该目录下是否有一个tftp文件,如果没有就新建一个,如果有的话就查看内容是否与下面的一致,不一致则修改/etc/xinetd.d/tftp内容为:

gedit /etc/xinetd.d/tftp

service tftp

{

       socket_type=dgram

       protocol=udp

       wait=yes

       user=root//修改为你登录系统的用户名

       server=/usr/sbin/in.tftpd

       server_args=-s /home/zxc/tftpboot –c   /tftpboot为你存放TFTP的文件目录,我使用的是/home/xxx/Learning/tftpboot这个路径

       disable=no

       per_source=11

       cps=100 2

       flags=IPv4

}这里注意“user = ” 后面的用户名,很多帖子写的都是root用户,我之前也用过几次,并没有什么问题,可是这一次怎么也ping不到ubuntu系统,因此自己改成了当前的用户名,如果你也出现和我一样的问题,可以尝试一下

server_args  =  -s  /tftpboot  –c 

-c参数是允许上传用的,参数/tftpboot则是你的tftp目录,修改成你的目录即可。第一个是disabled选项,如果是yes,TFTP服务器是关闭的,修改为no启动TFTP服务器

 

 

 

修改/etc/default/tftpd-hpa配置文件。 将/etc/default/tftpd-hpa内容修改为:

gedit /etc/default/tftpd-hpa

# /etc/default/tftpd-hpa

TFTP_USERNAME="tftp"

TFTP_DIRECTORY="/home/zxc/tftpboot"///tftpboot改成你自己建立的tftpboot文件夹路径,我使用的是/home/xxx/Learning/tftpboot这个路径

TFTP_ADDRESS="0.0.0.0:69"

TFTP_OPTIONS="-l -c -s"

 

其中/home/zxc/tftpboot是你,tftp服务的共享文件夹,路径可以自己定义,只要在对应的路径下建一个该文件夹即可

69表示tftp协议的端口号

OPTIONS部分表示其操作权限,有些贴子也写成“--secure”

 

建立tftp传输目录。创建用户下载的文件存放目录

mkdir /home/zxc/tftpboot

 

修改该文件夹的执行权限

sudo chmod -R 777 /home/zxc/tftpboot

 

重启xinetd和tftp服务

sudo /etc/init.d/tftpd-hpa restart

sudo /etc/init.d/xinetd  reload

sudo /etc/init.d/xinetd restart

使用TFTP服务器的前提:

a、Linux系统与window系统能相互ping通

b、关闭Linux、Window的防火墙。运行 sudo ufw  disable 命令关闭Linux防火墙(防火墙在系统启动时自动禁用)。

关闭防火墙

ufw disable

 

测试tftp服务

a. 到/home/zxc/tftpboot文件夹下面建立一个test文本文件,输入一些内容

b. 然后在另外一个目录下执行如下命令(192.168.1.102为本机IP地址):

c. tftp 192.168.1.102 (这个地址是本地ip)

d. tftp > get test

e. tftp > q

d. cat test

如果在当前目录下多出了一个test文件,并且test文件的内容跟/tftpboot目录下test文件的内容一致,则tftp可以正常使用。