linux中TFTP配置

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

1.安装两个软件

tftp-0.39-2.i386.rpm

tftp-server-0.39-2.i386.rpm

#yum install tftp

#yum install tftp-server

2.修改启动配置文件
不管使用的是哪一种super-serverinetd或者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             = -s /tftpboot -c #指定tftp服务器的目录,-c为指定为可以创建文件

        per_source              = 11

        cps                     = 100 2

        flags                   = IPv4

}

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

#mkdir /tftpboot

#chmod -R 777 /tftpboot

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

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

验证一下TFTP是否起来了:

# netstat -nlp

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

 udp        0      0 0.0.0.0:69                  0.0.0.0:*   

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)选项中 “强制”改为“允许”。

问题三

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=改为你自己设定的服务器文件夹就行了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值