搭建tftp服务器

Posted 四季帆

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了搭建tftp服务器相关的知识,希望对你有一定的参考价值。

1. 安装tftp

首先需要安装 tftp-hpa,tftpd-hpa,前者是客户端,后者是服务程序,然后还需要安装xinetd。

sudo apt-get install tftp-hpa tftpd-hpa
sudo apt-get install xinetd

2. 配置/etc/default/tftpd-hpa

打开/etc/default/tftpd-hpa,将内容修改成以下内容:

# /etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/tftpboot"  #这是你 tftp 服务器的工作目录,自行修改,注意,在新建工作目录时,最好使用命令“sudo chmod 777 /tftpboot”修改其权限为777
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="-l -c -s"

3. 配置/etc/xinetd.d/tftp

进入 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        #配置服务器文件存放的位置,就是进行 tftp 传输的时候,都是从该文件夹中搜索文件的
    #log_on_success += PID HOST DURATION
    #log_on_failure += HOST
    per_source = 11
    cps =100 2
    flags =IPv4
}

4. 重启服务

记住,每次修改完配置文件后,都需要重新启动一下服务。执行次序如下

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

5. 本地测试

先在/tftpboot 中新建一个文件 file,然后在其中随便输入内容;然后进入一个不是/tftpboot 的目录下;在终端中输入 sudo tftp localhost,进入 tftp 命令符下(可以在其中输入 help查看命令和命令的作用),输入 get file,如果没有任何提示,就说明传输成功了,然后输入 q退出 tftp 命令符,在当前目录下就可以看到一个 file 文件。同样也可以在 tftp 命令符中输入 put xx,把 xx 文件上传到服务器文件夹中。如果一切 ok,那就么一个可用的 tftp 服务器就顺利搭建成功了。

 

6. 异地传输

将虚拟机和开发板通过网线连接,将两者的ip改到同一个网段。如果是在开发板启动后(非uboot阶段)修改开发板ip,使用命令:ifconfig eth0 192.168.1.1设置开发板系统IP

示例:

tftp -g -r ath.ko 192.168.1.155       //从Ubuntu主机tftp服务器获取ath.ko文件,下载成功以后设备中可以看到ath.ko文件
                                      //注意:192.168.1.155是主机ip,-g和-r两个参数的顺序不能颠倒

tftp -l -p ath.ko 192.168.1.155       //向Ubuntu主机tftp服务器上传ath.ko文件,上传成功以后可以在Ubuntu主机的/tftpboot/ 目录下看到ath.ko文件

 

以上是关于搭建tftp服务器的主要内容,如果未能解决你的问题,请参考以下文章

搭建tftp服务器

ubuntu下tftp服务器的搭建

嵌入式开发-迅为4412开发板学习笔记-TFTP服务器的搭建

TFTP服务器搭建

实验:搭建TFTP服务

tftp服务器的搭建