TFTP:无法发送/接收文件,显示错误: TFTP,Opcode: Error Code(5)
我试图使用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