Ubuntu + CentOS7 搭建tftp Server

基于Ubuntu系统做的tftp服务器,基于CentOS 7都差不多,书写了关键命令,测试过Ubuntu 12.0.4 和CentOS 7环境

1.介绍tftp服务器
     TFTP(Trivial File Protocol , 简单文件传输协议),是一个基于UDP协议实现的客户机和服务器之间进行简单的文件传输协议,适合开销不大、复杂的场合。
     在嵌入式开发中,因为Uboot支持tftp服务,可以从服务器上加载内核并运行。
     tftp服务依赖xinetd服务,需要安装xinetd,安装tftp-server和安装tftp客户端,
2.安装过程:
    1>安装xinetd
             apt-get install xinetd (yum install xinetd)
    2>安装tftp和tftpd
              apt-get install tftp-hpa tftpd-hpa(yum install tftp-server tftp)
    3>创建tftpboot目录
               mkdir /home/wwb/tftpboot
    4>建立/etc/xinetd.d/tftp文件
        vim  /etc/xinetd/tftp(原本没有这个文件)
    5>写入内容
      sevice tftp
       {
           socket_type  =  dgram
           protocol     =  udp
           wait         =  yes
           user         =  root
           server       = /usr/sbin/in.tftpd
           server_args  = -s /home/wwb/tftpboot -c
           disable      = no
           per_source   = 11
           cps          = 100 2
           flags        =  IPv4
        }
       :wq
     6>重启 xinetd 服务
        /etc/init.d/xinetd restart
     7>测试服务
        tftp 127.0.0.1
        get 目录中的文件
        出现错误:
                 Error code 1:File not found
        解决方案:
                 vim /etc/default/tftpd-hpa
                 #/etc/default/tftpd-hpa
                 TFTP_USERNAME="tftp"
                 TFTP_DIRECTORY="/home/wwb/tftpboot"//改成你的目录
                 TFTP_ADDRESS="0.0.0.0:69"
                 TFTP_OPTIONS="-l -c -s"
                 :wq
                 重新启动
      8>重新启动,启动成功
      9>说明:1》使用开发板与虚拟机安装的客户系统进行TFTP通讯,需要将虚拟网卡设置为Bridged模式,并建议使用静态IP地址。
              2》如果以上设置都确认无误,但tftp还是不成功,请检查主机的防护墙是否已经关闭。
                 /etc/init.d/iptables stop  //关闭防护墙
                 ufw disable   //关闭防护墙(ubuntu)
              3》如果老出现“AVC Denial ,click icon to view"的错误,并不能传输文件,需要做如下更改
                 修改/etc/sysconfig/selinux,将SELINUX设置为 disable
                 使用命令setenforce 0 让selinux配置文件生效

10>权限问题

chmod 777 /home/wwb/tftpboot

上一篇:Mantis邮件服务器配置


下一篇:swift开发:试玩 Apple 网站的 playground