本文主要是介绍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
出现下面成功
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的功能,但是更加强大和安全。
这篇关于Ubuntu12.04安装配置tftp服务,以及错误解决的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!