天天看点

Ubuntu12.04安装配置tftp服务,以及错误解决

tftp服务,安装起来很简单,但是由于配置起来时的粗心导致出现一些错误,Error code 0: Permission denied,Error code 1: File not found

经过探索,tftpd-hpa 是一个功能增强的TFTP服务器。它提供了很多TFTP的增强功能,它已经被移植到大多数的现代UNIX系统

安装tftp-hpa(客户端),   tftpd-hpa(服务端), xinetd(是什么)

1、安装

sudo apt-get install tftp-hpa tftpd-hpa xinetd
           

2、在创建文件夹/tftpboot (这个是服务器的文件交换目录,将来客户机获取服务器文件时就是从这个文件夹中获取的,并且修改这个文件夹的权限为777)

sudo mkdir tftpboot
sudo chmod 777 -R tftpboot
           

3、修改tftp配置文件,如果没有就创建

sudo vim /etc/xinetd.d/tftp

文件内容为:

service tftp

{

disable = no

socket_type = dgram

protocol = udp

wait = yes

user = root

server = /usr/sbin/in.tftpd

server_args = -s /tftpboot -c   -c参数是允许上传用的,参数/tftpboot则是你的tftp目录,修改成你的目录即可

source = 11

cps = 100 2

flags =IPv4

}

4、修改inetd.conf文件

sudo vim /etc/inetd.conf

一般这个文件在打开的时候里面是有内容的,只要在最后添加下面内容即可:

tftp dgram udp wait nobody /usr/sbin/tcpd

/usr/sbin/in.tftpd /tftpboot //此处文件目录就是上面说道的服务器文件交换目录

5、修改tftpd-hpa文件

sudo vim /etc/default/tftpd-hpa

内容为:

#RUN_DAEMON="no"

#OPTIONS="-s /home/zyp/tftpboot -c -p -U tftpd"

TFTP_USERNAME="tftp"

TFTP_DIRECTORY="/tftpboot"       //此处文件目录就是上面说道的服务器文件交换目录

TFTP_ADDRESS="0.0.0.0:69"

TFTP_OPTIONS="-l -c -s"    //这里是选项

6、重启服务

sudo service tftpd-hpa restart

sudo /etc/init.d/xinetd reload

sudo /etc/init.d/xinetd restart

7、测试服务tftp是否启动

  netstat -a|grep tftp

  显示 :

  udp 0 0 *:tftp *:*

  则启动服务了

8、测试tftp

出现下面成功

Ubuntu12.04安装配置tftp服务,以及错误解决

9、出现错误:

  【错误】Error code 0: Permission denied,是因为tftpboot文件夹没有权限,或者是要上传和下载的文件没有权限。

  【解决】修改权限

  sudo chmod 777 -R /tftpboot

  【错误】Error code 1: File not found,原因1:指定的文件不存在;原因2:tftpd启动参数中没有指定-c选项;原因3:目录有问题,因为安装的时候默认的tftp目录是           【/var/lib/tftpboot】,您可以把test文件放在这个目录中重新测试一下,如果正确说明猜想是正确的。

  【解决】原因1和原因2都好解决,这里只解决原因3:重启服务或者重启系统

10、xinetd是什么?

xinetd即extended internet daemon,xinetd是新一代的网络守护进程服务程序,又叫超级Internet服务器。经常用来管理多种轻量级Internet服务。xinetd提供类似于inetd+tcp_wrapper的功能,但是更加强大和安全。

继续阅读