博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Ubuntu 12.04 搭建TFTP服务器
阅读量:5966 次
发布时间:2019-06-19

本文共 2589 字,大约阅读时间需要 8 分钟。

 

吐槽先:在Ubuntu上搭建TFTP服务器,网上搜到一堆资料,可惜基本都是部分能用,至于哪些部分能用还要自己摸索着试出来,郁闷之情仅次于找不到任何资料……

--------------------------------------------正文开始--------------------------------------------

TFTP(Trivial File Transfer Protocol,简单文件传输协议),是一个基于UDP协议实现的用于在客户机和服务器之间进行简单文件传输的协议,适合于开销不大、不复杂的应用场 合。TFTP协议专门为小文件传输而设计,只能从服务器上获取文件,或者向服务器写入文件,不能列出目录,也不能进行认证。它传输8位数据,传输中有三种模式:netascii,这是8位的ASCII码形式,另一种是octet,这是8位源数据类型;最后一种mail已经不再支持,它将返回的数据直接返回给用户而不是保存为文件。

在嵌入式Linux开发中,TFTP协议在很多场合都被用到,甚至是必不可少的,特别是在内核调试阶段,在U-Boot下通过TFTP协议从服务器上加载内核并运行,既方便又快捷。

一般的Linux发行版默认都没有安装TFTP服务以及TFTP服务器。TFTP服务依赖于网络守护进程服务程序,可选择安装inetd或者升级版的xinetd, 然后安装tftp和tftp-server,接着修改或者创建/etc/xinetd.d/tftp配置文件,最后重启xinetd,启动TFTP服务。 无论采用什么发行版,TFTP服务器的安装都是这样的流程,只不过不同发行版的安装命令不同而已。

 

1、查看系统信息

我用的系统是Ubuntu 12.04.5 LTS。

zlf@ubuntu:~$ cat /etc/lsb-releaseDISTRIB_ID=UbuntuDISTRIB_RELEASE=12.04DISTRIB_CODENAME=preciseDISTRIB_DESCRIPTION="Ubuntu 12.04.5 LTS"

2、安装软件

安装xinetd:

zlf@ubuntu:~$ sudo apt-get install xinetd

安装tftpd-hpa和tftp-hpa:

zlf@ubuntu:~$ sudo apt-get install tftpd-hpa tftp-hpa
tftpd-hpa是服务器端,tftp-hpa是客户端。tftpd-hpa和tftp-hpa是tftpd和tftp的增强版本。

3、修改配置文件

建立/etc/xinetd.d/tftp文件,写入如下内容:

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

其中server_args设置的/home/zlf/tftpboot/目录是tftp服务器的目录,设置其访问权限为777:

zlf@ubuntu:~$ mkdir -pv /home/zlf/tftpbootzlf@ubuntu:~$ chmod 777 /home/zlf/tftpboot

修改/etc/default/tftpd-hpa文件:

zlf@ubuntu:~$ sudo vi /etc/default/tftpd-hpa

将文件从

1 # /etc/default/tftpd-hpa  2   3 TFTP_USERNAME="tftp"  4 TFTP_DIRECTORY="/var/lib/tftpboot"  5 TFTP_ADDRESS="0.0.0.0:69"  6 TFTP_OPTIONS="--secure"

修改为:

1 # /etc/default/tftpd-hpa  2   3 TFTP_USERNAME="zlf"  4 TFTP_DIRECTORY="/home/zlf/tftpboot"  5 TFTP_ADDRESS="127.0.0.1:69"  6 TFTP_OPTIONS="-s -c"

TFTP的OPTIONS可以通过man tftpd查看。

4、启动服务

软件安装后已自动启动,此时将服务重启:

zlf@ubuntu:~$ sudo service xinetd restart zlf@ubuntu:~$ sudo service tftpd-hpa restart

5、本机测试

在/home/zlf目录下创建文件puttest,在/home/zlf/tftpboot目录下创建文件gettest。

echo "tftp put test" >> /home/zlf/puttest echo "tftp get test" >> /home/zlf/tftpboot/gettest

在/home/zlf目录下运行tftp。

zlf@ubuntu:~$ cdzlf@ubuntu:~$ tftp localhosttftp> get gettest   #获取gettest文件 tftp> put puttest   #上传puttest文件tftp> q             #退出tftp

用ls命令查看,在/home/zlf目录下可以看到下载的gettest文件,在/home/zlf/tftpboot目录下可以看到上传的puttest文件。

TFTP服务器搭建完成。

参考文献:

转载于:https://www.cnblogs.com/siikee/p/4332342.html

你可能感兴趣的文章
如何解决/home/oracle: is a directory报警
查看>>
python基础学习笔记(九)
查看>>
BaaS API 设计规范
查看>>
bootloader功能介绍/时钟初始化设置/串口工作原理/内存工作原理/NandFlash工作原理...
查看>>
iOS开发UI篇—Quartz2D使用(矩阵操作)
查看>>
PostgreSQL 如何实现网络压缩传输或加密传输(openssl)
查看>>
Markdown 语法
查看>>
Apache Rewrite实现URL的跳转和域名跳转
查看>>
音频 m4a 转 wav
查看>>
MySQL深入02-DML之Select查询
查看>>
Java判断平台为32位或64位,载入对应DLL
查看>>
Bash 一些变量的操作
查看>>
Fedora 17 Beta is declared GOLD.
查看>>
[转]python中去掉字符串中的\xa0、\t、\n
查看>>
bboss_spring_struts2_myibatis对比分析
查看>>
CSRF 攻击的应对之道
查看>>
JVM原理及调优--网页链接收藏
查看>>
时间管理的十一条金律
查看>>
我的友情链接
查看>>
Juniper CoS 基本配置说明
查看>>