PC机系统:Win7  虚拟机linux系统:centosx86

1.tftp概论

TFTP(Trivial File Transfer Protocol,简单文件传输协议)是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。端口号为69。

TFTP是一个传输文件的简单协议,它基于UDP协议而实现,但是我们也不能确定有些TFTP协议是基于其它传输协议完成的。此协议设计的时候是进行小文件传输的。因此它不具备通常的FTP的许多功能,它只能从文件服务器上获得或写入文件,不能列出目录,不进行认证,它传输8位数据。

在嵌入式开发中,tftp服务器常用于通过PC机服务端的tftp目录中下载文件到开发板中,以待烧写或运行,操作方便,并且速度也可以。

2.linux下的tftp安装

首先确认系统上是否安装了tftp软件包:

[zzx@localhost ~]$ rpm -qa | grep tftp
tftp-server-0.49-8.el6.i686

若没显示安装,则使用sudo yum install -y tftp-server进行安装。

3.建立tftp服务主工作目录

使用命令mkdir建立tftp的主工作目录(这个目录用于存放宿主机与目标机之间使用tftp时传递的文件)

4.配置tftp

linux下的tftp服务是由xinetd(还有openbsd-inetd等其他服务)所设定的,默认情况下tftp是处于关闭状态。所以要修改tftp的配置文件,开启tftp服务。

tftp的配置文件在/etc/xinetd.d/tftp下:

[zzx@localhost ~]$ sudo vim /etc/xinetd.d/tftp
# default: off
# description: The tftp server serves files using the trivial file transfer \
#       protocol.  The tftp protocol is often used to boot diskless \
#       workstations, download configuration files to network-aware printers, \
#       and to start the installation process for some operating systems.
service tftp
{disable                 = no               #添加这一项socket_type             = dgramprotocol                = udpwait                    = yesuser                    = rootserver                  = /usr/sbin/in.tftpdserver_args             = -s /home/zzx/tftp -c       #修改这一项,这里-s指tftp服务器的根目录,我这里根目录就上上面建立的tftp文件夹,-c指能创建文件disable                 = yes       #可以去掉这一项,和添加的第一项重复设置了,控制tftp服务器的关闭和启动,默认值为“yes”,即关闭tftp服务器,这里修改为“no”,即开启tftp服务器per_source              = 11cps                     = 100 2flags                   = IPv4
}

说明:修改项server_args=-s    <path>   -c,其中<path>处可以改为你的tftp-server的根目录,参数-s指定chroot,-c指定了可以创建文件。

5.开启xinetd服务

使用命令:sudo service xinetd restart 使上面的更改生效

使用netstat命令查看69端口,确认tftp服务是否开启

出现udp   0   0 0.0.0.0:69  0.0.0.0:*   3092/ 则开启成功。

6.SeLinux策略修改

SeLinux保持开启状态的话,系统有可能会阻止tftp客户端的下载,可以将它暂时关闭:

[zzx@localhost ~]$ sudo setenforce 0      #这里0表示设置SeLinux为permissive模式,1代表设置SeLinux为enforcing模式

可以使用getenforce 命令查看SeLinux状态

[zzx@localhost ~]$ getenforce
Permissive

如果想彻底禁用SeLinux,修改其配置文件将它禁用

[zzx@localhost ~]$ sudo vim /etc/sysconfig/selinux# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disable    #此处设置为disable即可
# SELINUXTYPE= can take one of these two values:
#     targeted - Targeted processes are protected,
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

7.防火墙策略修改

系统开启了防火墙也有可能会阻止tftp客户端的下载,我们可以在防火墙规则中使能tftp,只需要使能tftp所使用的69端口即可。

[zzx@localhost ~]$ sudo /sbin/iptables -I INPUT -p tcp --dport 69 -j ACCEPT
[zzx@localhost ~]$ sudo /sbin/iptables -I INPUT -p udp --dport 69 -j ACCEPT
[zzx@localhost ~]$ sudo /sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT
[zzx@localhost ~]$ sudo /sbin/iptables -I INPUT -p tcp --dport 21 -j ACCEPT
[zzx@localhost ~]$ sudo /sbin/iptables -I INPUT -p tcp --dport 22 -j ACCEPT

保存

[zzx@localhost ~]$ sudo /etc/rc.d/init.d/iptables save
iptables: Saving firewall rules to /etc/sysconfig/iptables: [  OK  ]

重启防火墙

[zzx@localhost ~]$ sudo service iptables restart
iptables:将链设置为政策 ACCEPT:filter [确定]
iptables:清除防火墙规则:[确定]
iptables:正在卸载模块:[确定]
iptables:应用防火墙规则:[确定]

查看防火墙状态

[zzx@localhost ~]$ sudo service iptables status

如果希望在系统启动时防火墙不启动,我们可以用ntsysv关闭防火墙服务,同时还可 以设置tftp服务在系统启动时就开启

[zzx@localhost ~]$ sudo ntsysv[ ] ip6tables             [ ] iptables[*] tftp   [*] xinetd#使用空格键进行选中或取消

8.本机测试tftp服务器功能

首先,在你之前设置的tftp根目录下创建一个文件,我自己的是在/home/zzx/tftp/下用vim tt.c创建文件并写入“hello,zzx! ”使用ifconfig查看本机ip地址

通过命令tftp 192.168.127.128进入tftp命令模式,输入help命令,查看tftp支持的命令,通过命令get tt.c 就可以将/home/zzx/tftp下的tt.c文件下载到当前目录下(我当前在/home/zzx/目录下),用ls命令查看当前目录下是否存在tt.c,用cat tt.c查看tt.c的内容

OK!

遇到的问题:

1.没有tftp命令!

解决:安装的是tftp server包 ,但是没有安装tftp命令包

使用命令sudo yum install -y tftp安装

安装后如下有了

注意:是tftp和tftp server的版本要是一样的!

2.使用tftp获取超时

解决:原来是我自己之前的SeLinux未配置好,上面的是正确配置。

linux centos 安装配置tftp服务器相关推荐

  1. centos安装配置tftp服务器

    使用sudo yum install -y tftp-server进行安装. 建立目标 mkdir tftp 配置tftp tftp的配置文件在/etc/xinetd.d/tftp下: # defau ...

  2. 在红帽Linux上安装samba服务,如何在linux上安装配置samba服务器

    如何在linux上安装配置samba服务器 更新时间:2019-10-29 22:40 最满意答案 1.首先需要登入安装了Linux系统的计算机,安装Samba.Fedora发行版一般使用yum工具安 ...

  3. centos中安装配置tftp服务器

    --------------------------------------- 主机操作系统:Centos 6.7 安装配置:tftp服务器 邮箱:leiyuxing205@gmail.com --- ...

  4. centos 安装配置ftp服务器

    2019独角兽企业重金招聘Python工程师标准>>> vsftpd(Very Secure FTP Daemon)是unix/linux下安全快速的FTP服务器.本文主要记录如何在 ...

  5. linux搭建ldap服务器搭建,Linux下安装配置OpenLDAP服务器

    东西多了,为了好管理,我们会将它们别类:服务器中信息.资源多了,不言而喻也是这个道理,而目录服务器是这个原理.那么支持IPV6协议的OpenLDAP如何在Linux服务器上安装配置? 一.安装Open ...

  6. Linux(CentOS)安装配置zeromq、jzmq(解决各种问题)

    今天为Hadoop配置zeromq.jzmq遇到各种问题,先是编译出错,到编译成功后测试出错等等,下面将我遇到的问题与大家分享一下. 第一个注意点是:必须先编译安装zeromq,然后在编译jzmq,否 ...

  7. linux下安装配置DHCP服务器

    前提是已经安装了 core 及 base 两个组 1 2 3 4 5 # cat /etc/redhat-release   Red Hat Enterprise Linux Server relea ...

  8. 在linux下安装配置DNS服务器

    详细步骤如下: 1. 在虚拟机上安装红帽6.5. 2. 所在网络:内部局域网192.168.0.0网段. 机器一作为服务器,IP:192.168.0.10, 主机名:Hostname: test.co ...

  9. Linux安装和配置sanba服务器,在linux安装配置samba服务器.doc

    在linux安装配置samba服务器 PAGE PAGE 7 在linux上安装配置samba服务器 在linux上安装配置samba服务器 在这给大家介绍一个不错的家伙,samba服务.如果您正在犯 ...

最新文章

  1. 主题模型、LDA、LSA、LSI、pLSA
  2. RocketMQ 千锤百炼--哈啰在分布式消息治理和微服务治理中的实践
  3. Mysql函数示例(如何定义输入变量与返回值)
  4. 你可能不知道的java、python、JavaScript以及jquary循环语句的区别
  5. Vivado常见问题集锦
  6. 如何定义一个类对象并用next()的方法使用_python零基础必读--可迭代对象、迭代器与生成器...
  7. 我的CSDN博客下载器,下载博客文章保存为mht文件
  8. 【应用案例】CANape支持基于模型的ECU开发
  9. 电子罗盘在终端的应用
  10. hive相关的example
  11. 联想研究院裁员---血淋漓的教训:公司不是家(老文)
  12. 百度3D地球,高清地图!地形混合!
  13. Git正解 脱水版 【9. 其他VCS系统】
  14. K64 计算 UART波特率
  15. android手机 滚动截屏,安卓手机如何滚动截屏?看完图解一秒学会!
  16. AJP:纵向研究:抑郁症青年在当前期和累积期的奖赏系统的功能障碍具有不同的神经基础
  17. Python入门习题大全——词汇表2
  18. 掌握python和js_新华字典:掌_“掌”的意思,五笔,笔画,拼音,五行_HttpCN
  19. 【JavaScript】网页轮播图
  20. 项目分享-限流框架的实现

热门文章

  1. 设计模式 — 行为型模式 — 责任链模式
  2. 微服务架构 — 服务治理 — 服务监控与告警、服务日志与审计
  3. 字符串匹配的KMP算法和C语言代码,不需要思考就能理解
  4. 修改altium designer原理图右下角信息
  5. 开关电源 误差放大器电路
  6. SNF快速开发平台MVC-EasyQuery-拖拽生成SQL脚本
  7. Linux的用户和用户组管理
  8. 时代中坚:互联网电视迎来极致时代
  9. Slave: received end packet from server, apparent master shutdown
  10. discuz 修改积分策略( 在周期中添加每周 )