配置tftp服务以及开发板中通过tftp下载文件

来源:互联网 发布:软件开发全面质量管理 编辑:程序博客网 时间:2024/04/29 22:30
配置tftp服务的步骤: 

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

2、建立配置文件(蓝色的目录是可以更改为其他地址的,例如/home/user/tftpboot) 
在/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 
disable = no 
per_source = 11 
cps = 100 2 
flags = IPv4 

保存退出

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

sudu chmod 777 /tftpboot

4、重新启动服务 
sudo /etc/init.d/xinetd restart 
至此tftp服务已经安装完成了,下面可以对其进行一下测试。


5. 当前目录~下建立一个测试文件test_local,内容为:

This is a file from local!

在/tftpboot目录下建立一个文件test_server,内容为:

This is a file from server!

tftp -ltest -rtest_server -g ip(xx.xx.xx.xx)

改变用户到root,在~目录运行tftp,

$tftp 192.168.1.161 (本机的ip地址)

或tftp localhost

tftp> get test_server
Received 31 bytes in 0.0 seconds
tftp> quit 
$

通过get命令,可以从/tftpboot下,下载test_server文件。

这样,就验证了从server端下载文件是成功的。


tftp> put test_local
Error code 2: Access violation

试图通过put命令,把当前目录下的test_local文件,通过tftp上传到它的服务文件目录/tftpboot。

经查找该错误信息,发现是因为这样的规定:tftp默认只允许下载文件,要上传文件,必须是服务器中已存在同名的文件,且该文件权限允许被覆盖。

在/tftpboot目录中,touch test_local,并将test_local文件设为777。

再次通过tftp上传文件test_local

tftp> put test_local
Sent 30 bytes in 0.0 seconds

这样,就验证了从本地向server端上传文件是成功的。

这样就验证了tftp服务配置的正确性。当文件上传与下载结束后,可以通过quit命令退出。


0 0
原创粉丝点击