zoukankan      html  css  js  c++  java
  • Ubuntu 12.04 搭建TFTP服务器

    吐槽先:在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-release
    DISTRIB_ID=Ubuntu
    DISTRIB_RELEASE=12.04
    DISTRIB_CODENAME=precise
    DISTRIB_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/tftpboot
    zlf@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:~$ cd
    zlf@ubuntu:~$ tftp localhost
    tftp> get gettest   #获取gettest文件
    tftp> put puttest   #上传puttest文件 tftp
    > q  #退出tftp

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

    TFTP服务器搭建完成。

    参考文献:

    1、ubuntu下搭建tftp服务器
    2、Ubuntu 11.04下安装 TFTP Server
    3、在ubuntu 下安装xinetd模式的tftpd服务
    4、ubuntu 12.04搭建tftp服务器的安装、设置、调试
    5、Ubuntu下配置tftp服务和NFS服务

  • 相关阅读:
    unity 凸多形顶点排序
    unity Plane
    Git MAC电脑Git使用
    Spine运行库指南
    VsCode TypeScritp整理Import
    TypeScript 扩展声明文件 .d.ts
    UnityEditor 编辑多个场景里的对象,Revert 预制件实例
    unity 球形插值
    研究生基础咨询
    ACSM-CPT 考试资料
  • 原文地址:https://www.cnblogs.com/siikee/p/4332342.html
Copyright © 2011-2022 走看看