在Ubuntu12.0.4下搭建TFTP服务器

一、安装相关安装包

tftpd(服务端),tftp(客户端)

sudo apt-get install tftp-hpa tftpd-hpa

安装xinetd

sudo apt-get install xinetd

二、配置tftp服务器

1、修改 /etc/default/tftpd-hpa

$sudo vim /etc/default/tftpd-hpa

将内容修改成:

# /etc/default/tftpd-hpa

TFTP_USERNAME="tftp"

TFTP_DIRECTORY="/tftpboot"   #tftp服务器的工作目录

TFTP_ADDRESS="0.0.0.0:69"

TFTP_OPTIONS="-l -c -s"

2、修改/etc/xinetd.d/tftp

如果/etc/xinetd.d/目录下没有tftp文件,就创建一个。内容为:

service tftp
{
socket_type = dgram
wait = yes
disable = no
user = root
protocol = udp
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot
    disable = no 
per_source =
cps =
flags =IPv4
}

 三、创建tftp服务器目录,并更改权限

创建目录

$sudo mkdir /tftpboot

更改权限

$sudu chmod  /tftpboot

四、重新启动服务

$sudo service tftpd-hpa restart
$sudo /etc/init.d/xinetd reload
$sudo /etc/init.d/xinetd restart

五、测试

测试原理:

  虚拟机Ubuntu上搭建了一个tftp服务器,并且其服务器目录为/tftpboot。

  在本机上进行自我测试,主要包括两个功能----上传和下载。

1、在服务器目录新建一个文件download.bin

$cd /tftpboot
$vim test.bin

执行完以上两条指令后,然后对vi编辑器保存,退出。

2、进入一个非/tftpboot的文件夹下,并创建一个文件upload.bin

$sudo mkdir /share
$cd /share
$vim upload.bin

3、进入tftp命令模式

$tftp 192.168.158.130 (本机的ip地址) 或者 $tftp localhost

4、测试从tftp服务器下载文件

$tftp> get download.bin //从tftp服务器下载download.bin
$tftp> quit //退出

查看是否下载成功(实际上执行完第一条命令没有提示信息,就说明已经成功了)

$ls

5、测试从tftp服务器上传文件

$tftp> put upload.bin //从tftp服务器上传upload.bin
$tftp> quit //退出

查看是否上传成功(实际上执行完第一条命令没有提示信息,就说明已经成功了)

$cd /tftpboot
$ls

后记

众多资料都说,实现tftp文件传输需要将linux系统的防火墙关闭,关闭命令:

# ufw disable

参考资料:Ubuntu下配置tftp服务和NFS服务

ubuntu 10.04下的配置tftp服务器

上一篇:tomcat + apache +jkmod 配置php,jsp共存


下一篇:How to use the Isolated Storage Explorer tool for Windows Phone