zoukankan      html  css  js  c++  java
  • CentOS中TFTP配置

    转载:http://www.centoscn.com/image-text/config/2013/1105/2062.html

    TFTP是用来下载远程文件的最简单网络协议,它其于UDP协议而实现

    1.安装软件

    yum install tftp*   安装好tftp-server包, 需要把/etc/xinetd.d/tftp文件做一下几个修改。

    2.修改启动配置文件
    不管使用的是哪一种super-server,inetd或者xinetd,默认情况下TFTP服务是禁用的,所以要修改文件来开启服务。修改文件/etc/xinetd.d/tftp,主要是设置TFTP服务器的根目录,开启服务。

    修改后的配置文件如下:

    service tftp
    {
           disable = no
           socket_type             = dgram
           protocol                = udp
           wait                    = yes
           user                    = root
           server                  = /usr/sbin/in.tftpd
           server_args             = -u root -s /tftpboot -c #指定tftp服务器的目录,-c为指定为可以创建文件
           per_source              = 11
           cps                     = 100 2
           flags                   = IPv4
    }

    3.创建tftp根目录,关闭防火墙,启动tftp-server

    #mkdir -m 777 /tftpboot

    #/etc/init.d/iptables stop        //关闭防火墙

    #service xinetd restart          //重启 xinetd 服务重启xinetd服务,因为TFTP服务受控与xinetd, xinetd是管服务的服务,它是不开端口的。

    验证一下TFTP是否起来了:

    [root@kashu /]# netstat -tunap | grep :69

    出现下面的信息代表已经启动了

    udp        0      0 0.0.0.0:69                  0.0.0.0:*                               1258/xinetd

    4.tftp的使用

    #tftp 192.168.2.105  登陆到tftp server

    >get filename  从tftp server根目录获取文件

    >put filename 上传文件到tftp server根目录

    >q 离开    


    安装过程中出现的问题及原因

    问题一

    tftp> get <filename>

    Transfer timed out.

    原因:

    tftpd服务没有启动

    解决:

    #service xinetd status   先查看tftp运行状态,如果是没开启服务,再执行如下语句

    #service xinetd start

    问题二

    tftp> put <filename>

    Error code 0: Permission denied

    原因:

    运行命令,查看系统日志

    #tail /var/log/messages

    发现有如下一段文字:

    Mar 24 19:05:26 localhost setroubleshoot:      SELinux is preventing /usr/sbin/in.tftpd (tftpd_t) "write" to tftpboot (tftpdir_t).      For complete SELinux messages. run sealert -l 40a5a6bf-8ded-4bfa-ab6e-fa669a25fc6c
    知道这是是由SELinux造成的,在FC3和FC3以后的FC版本中SELinux默认的都是开启的,现关掉它。

    解决:

    修改文件 /etc/sysconfig/selinux,设定其中的SELINUX=disabled,然后重启电脑即可。或者执行命令 system-config-securitylevel 打开“安全级别配置”对话框,将SELinux(S)选项中“强制”改为“允许”。或者使用setup命令,将SELinux设置为DISABLE。

    问题三

    tftp> put <filename>

    Error code 1: File not found
    原因:

    指定的文件不存在;

    解决:

    /etc/xinetd.d/tftp中的server_args指定的目录中没有该文件,将要下载的文件拷贝到该目录即可,或server_args不是默认的/tftpboot,而是自己设定,但是在后面没有指定-c选项,补上即可。

    问题四

    tftp> get test.log

    Error code 2: Only absolute filenames allowed

    原因:

    在/etc/xinetd.d/tftpd中设置的server_args为/etc/default/tftpd-hpa

    cat /etc/default/tftpd-hpa

    #Defaults for tftpd-hpa

    RUN_DAEMON="no"

    OPTIONS="-s /home/tftpd -c -p -U 077 -u tftpd"

    设置的时候只要将server_args=改为你自己设定的服务器文件夹就行了

  • 相关阅读:
    input 放大镜
    记住密码弹出事件
    thinkphp修改及编写标签库,编辑器的使用
    thinkphp 配合mongodb
    缓存技术
    php面试题目
    pdo 整套类的封装,保存修改查询
    mongodb 的备份恢复导入与导出
    mongodb 分组查询
    smarty 模板的入门使用
  • 原文地址:https://www.cnblogs.com/pengdonglin137/p/3532379.html
Copyright © 2011-2022 走看看