老男人百科 > 百科 > 正文

ubuntu搭建tftp服务器(ubuntu tftp服务器)

2023-05-14 05:21:34 阅读( 6150)

但是配置了,我的老是出现Errorcode1:Filenotfound错误,经过探索,tftpd-hpa是一个功能增强的TFTP服务器。

然而,当它被配置时,总是有错误代码1:在我的文件中找不到错误。经过探索,tftpd-hpa是一个功能增强的TFTP服务器。它提供了许多TFTP增强功能,

它已经被移植到大多数现代UNIX系统中。

1、sudo容易得到安装tftp-hpa tftpd-hpa xinetd

2.建立配置文件

sudo vi /etc/xinetd.d/tftp

新建文件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

per_source=11

cps=100 2

}

3.建立tftp服务文件目录。

mkdir /tftpboot

修改权限:sudo chmod 777 /tftpboot -R

4.重新启动该服务。

配置好tftp的配置文件后,需要重启xinetd在终端中输入sudo/etc/init.d/xinetdread,

重新加载流程;然后输入sudo /etc/init.d/xinetd restart来重新启动服务。

请记住,每次修改配置文件时,都需要重新启动服务。

5.安装完成!测试方法:

只需将文件abc放在/tftpboot目录中。

然后登录另一个目录运行tftp 192.168.123.202 //切换到你的IP。

输入tftp命令行

输入get abc查看是否可以下载该文件。如果可以,可以,也可以把文件放上去。

如果出现错误代码1:找不到文件解决方案:

sudo vi /etc/default/tftpd-hpa

# /etc/default/tftpd-hpa

TFTP_USERNAME='tftp'

TFTP _ Directory='/var/lib/tftpboot' //Change it to the tftpboot you want.

TFTP_ADDRESS='0.0.0.0:69'

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

然后记得重启服务, sudo /etc/init.d/xinetd restart

如果还是上面的错误,把文件复制到/var/lib/tftpboot ,再试下,如果成功,则要重启系统使上面的配置生效。

以后就可以用你改的那个tftpboot了。

终于配置出来了,记录如下:

1:安装服务,共3个服务

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

2:新建配置文件/etc/xinetd.d/tftp

1 sudo vim /etc/xinetd.d/tftp

注意:如果不是root用户,则加sudo,否则系统不允许tftp,出现错误

'/etc/xinetd.d/tftp' E212: Can't open file for writing

修改/etc/xinetd.d/tftp内容为:

1 service tftp

2 {

3 disable=no

4 socket_type=dgram

5 protocol=udp

6 wait=yes

7 user=root

8 server=/usr/sbin/in.tftpd

9 server_args=-s /tftpboot -c

10 per_source=11

11 cps=100 2

12 }

注意:第九行中

server_args=-s /tftpboot -c

-c参数是允许上传用的,参数/tftpboot则是你的tftp目录,修改成你的目录即可,但是笔者建议在根目录下,方便

3:修改配置文件/etc/default/tftpd-hpa

1 sudo vim /etc/default/tftpd-hpa

修改为:

1 # /etc/default/tftpd-hpa

2 TFTP_USERNAME='tftp'

3 TFTP_DIRECTORY='/tftpboot ' //改成你想要的那个tftpboot

4 TFTP_ADDRESS='0.0.0.0:69'

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

4:在根目录下新建tftpboot目录,并修改权限

1 mkdir /tftpboot

2 sudo chmod 777 -R /tftpboot

5:在/tftpboot中新建一个测试文件test

1 touch test

6:【重要】重启服务,修改配置文件的任何地方都要重启服务

1 sudo /etc/init.d/xinetd reload

2 sudo /etc/init.d/xinetd restart

7:测试服务tftp是否启动

netstat -a|grep tftp

显示:

udp 0 0 *:tftp *:*

则启动服务了

8:测试tftp

进入另一个目录【不是/tftpboot目录,比如用户jyg目录】

cd /home/jyg

测试如图:

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:重启服务或者重启系统

专题页