首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TFTP:无法发送/接收文件,显示错误: TFTP,Opcode: Error Code(5)

TFTP:无法发送/接收文件,显示错误: TFTP,Opcode: Error Code(5)
EN

Unix & Linux用户
提问于 2019-09-07 01:25:17
回答 1查看 4.3K关注 0票数 0

我试图使用TFTP从网络交换机发送/接收一个文件到ubuntu(Windows10Pro上的VirtualBox),但是得到了一个错误代码5

通过遵循下面提到的步骤,我的localhost似乎正在使用TFTP服务器,我可以使用localhost发送和接收文件:

代码语言:javascript
复制
/home/abc# tftp localhost

tftp> put test

Sent 16 bytes in 0.0 seconds

tftp> get test

Received 16 bytes in 0.0 seconds

root@abc:/home/abc# ls -l /var/lib/tftpboot/
total 4
-rwxrwxrwx 1 root root 14 Sep  6 18:03 test

当我使用开关中的命令发送/接收文件时,我得到了错误消息:

普通文件传输协议

操作码:错误码(5)

目标文件:测试

错误代码:访问冲突(2)

错误消息:访问冲突

专家信息(警告/响应):TFTP错误数据包

TFTP错误包

严重程度:警告

组别:回应

,你能指导我如何解决这个问题吗?

https://icesquare.com/wordpress/how-to-setup-tftp-on-ubuntu/

首先,让我们安装所有必要的软件包:

代码语言:javascript
复制
sudo apt-get install xinetd tftpd tftp -y

接下来,我们需要创建一个配置文件:

代码语言:javascript
复制
sudo nano /etc/xinetd.d/tftp

将以下内容放入文件中。

代码语言:javascript
复制
service tftp
{
   protocol = udp
   port = 69
   socket_type = dgram
   wait = yes
   user = nobody
   server = /usr/sbin/in.tftpd
   server_args = var/lib/tftpboot -s
   disable = no
}

在server_args中,我有var/lib/tftpboot,它表示tftp根的位置,即/var/lib/tftpboot。注意,我跳过了根/。

现在,让我们更改目录的所有权:

代码语言:javascript
复制
sudo mkdir /var/lib/tftpboot
sudo chown -R nobody:nobody /var/lib/tftpboot
sudo chmod -R 777 /var/lib/tftpboot

并启动TFTP服务:

代码语言:javascript
复制
sudo service xinetd stop
sudo service xinetd start

验证TFTP是否正确运行:

代码语言:javascript
复制
netstat -na | grep LIST | grep 69
You should see something like this:
tcp        0      0 0.0.0.0:69              0.0.0.0:*     LISTEN

测试:将文件上载到TFTP服务器现在让我们先登录到服务器来测试TFTP服务器:

tftp本地主机和上载文件:

代码语言:javascript
复制
tftp> put myfile.jpg
Sent 56733279 bytes in 5.7 seconds
Quit:
q

确保该文件已上载:

代码语言:javascript
复制
ls -l /var/lib/tftpboot

测试:现在从TFTP服务器下载一个文件,让我们转到另一个目录并下载我们刚刚上传的文件。

代码语言:javascript
复制
cd some_other_directory

并再次登录到tftp服务器:

代码语言:javascript
复制
tftp localhost

然后拿到文件:

代码语言:javascript
复制
tftp> get myfile.jpg
Received 56733279 bytes in 5.7 seconds
EN

回答 1

Unix & Linux用户

发布于 2019-09-09 17:56:16

问题是,交换机网络IP和Ubuntu机器IP地址在不同的网络上。通过设置我的Ubuntu机器的静态IP地址,与交换机IP相同的网络IP,解决了这个问题。

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/539437

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档