Ubuntu 14.04下TFTP server环境搭建及测试

1. install

sudo apt-get install tftpd tftp openbsd-inetd
2. 修改配置
sudo  vim /etc/inetd.conf

#:BOOT: TFTP service is provided primarily for booting. Most sites
# run this only on machines acting as "boot servers."
#tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /srv/tftp  (/srv/tftp 为默认tftp目录)

#修改如下文件

tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /home/**/tftp  (自定义的tftp目录)

sudo  vim /etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/home/**/tftp"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="-l -c -s"

3. 创建文件并修改权限

sudo mkdir /home/**/tftp
sudo chmod 777 /home/**/tftp

4. 重启

sudo /etc/init.d/openbsd-inetd restart

5. 查看69端口是否打开

netstat -an | more | grep udp
udp 0 0 0.0.0.0:69 0.0.0.0:*


PC本地测试:

1. 在/home/**/tftp下新建test.txt文件

2. 在其他路径(如study)下,执行tftp 127.0.0.0

tftp 127.0.0.1
tftp> get test.txt

ls查看,当前路径(study)下会多了test.txt文件。

环境搭建成功。

开发板与PC之间测试:

1、保证开发板与PC端在同一网段,能够ping通

2、开发板从PC拿文件,在开发板端执行,IP为PC的IP

tftp -g -r test.txt 10.0.2.100
执行完后,开发板这边根目录下会多出test.txt文件,cat查看内容,与PC tftp/目录下的test.txt文件内容相同。

PS: 参数含义

-g 表示下载文件 (get)
-p 表示上传文件 (put)
-l 表示本地文件名 (local file)
-r 表示远程主机的文件名 (remote file)

要注意的是,建立上述环境后,tftp 10.0.2.114 -m binary -c put linux.bin不能正常往开发板上put文件了,此时需要重新sudo apt-get install tftp-hpa因为从安装log可以看出tftp和tftp-hpa互斥。若需要作为server使用,重新安装tftp即可。

Ubuntu 14.04下TFTP server环境搭建及测试_第1张图片


参考https://blog.csdn.net/rudyn/article/details/38638759



你可能感兴趣的:(Linux)