搭建tftp服务器
1.首先需要安装 tftp-hpa,tftpd-hpa,前者是客户端,后者是服务程序,
在终端下输入 sudo apt-get install tftp-hpa tftpd-hpa
2.安装 xinetd,在终端下输入 sudo apt-get install xinetd
3.进入根目录下的 etc 文件夹(cd /etc/),首先看目录中有没有一个xinetd.conf 文件,如果没有则新建一个,有的话查看内容,看是否与下面的一致,若不一致,则修改内容如下:
# Simple configuration file for xinetd
#
# Some defaults, and include /etc/xinetd.d/
defaults
{
# Please note that you need a log_type line to be able to use log_on_success
# and log_on_failure. The default is the following :
# log_type = SYSLOG daemon info
}
includedir /etc/xinetd.d
4.配置/etc/default/tftpd-hpa
命令 :sudo vim /etc/default/tftpd-hpa
将内容修改成
# /etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/tftpboot"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="-l -c -s"
5.配置/etc/xinetd.d/tftp
然后进入 xinetd.d 文件夹(cd 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
#log_on_success += PID HOST DURATION
#log_on_failure += HOST
per_source = 11
cps =100 2
flags =IPv4
}
6.修改权限
创建一个文件夹(sudo mkdir /tftpboot),然后把它可以设置成访问权限最宽松的(sudo chmod 777 /tftpboot),也可以设置成合适的权限。
7.重新启动服务。依次执行:
sudo service tftpd-hpa restart
sudo /etc/init.d/xinetd reload
sudo /etc/init.d/xinetd restart
解释:sudo service tftpd-hpa restart,这也是我经常疏忽的一步,当配置好 tftp 的配置文件后,需要重新启动一下 xinetd,在终端中输入 sudo etc/init.d/xinetd reload,重新加载一下进程,再输入 sudo /etc/init.d/xinetd restart,重启服务。记住,每次修改完配置文件后,都需要重新启动一下服务。
8.测试
在/tftpboot文件夹下,创建一个文件vi a.c,输入一点东西,然后保存退出,退出/tftpboot文件夹,随便进入一个文件夹。在终端输入 sudo tftp localhost,就进入了tftp的模式下,使用命令get a.c ,就可以将在/tftpboot文件中创建的a.c复制到当前文件夹下。输入q退出tftp模式。Put命令是上传的意思。
来自于朱老师物联网大讲坛,感谢老师!