TFTP:ファイルを送受信できません。エラー表示:TFTP、オペコード:エラーコード(5)

TFTP:ファイルを送受信できません。エラー表示:TFTP、オペコード:エラーコード(5)

TFTPを使用してネットワークスイッチからubuntu(Windows 10 ProのVirtualBox)にファイルを送受信しようとすると、エラーコード5が表示されます。

以下の手順を実行すると、私のローカルホストはTFTPサーバーを使用しているように見え、自分のローカルホストを使用してファイルを送受信できます。

/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

スイッチでコマンドを使用してファイルを送受信すると、エラーメッセージが表示されます。

簡単なファイル転送プロトコル

Opcode: エラーコード(5)

[対象ファイル:テスト]

エラーコード:アクセス違反(2)

エラーメッセージ:アクセス違反

[専門家情報(警告/対応):TFTP ERRORパケット]

[TFTPエラーパケット]

[重大度:警告]

[グループ:回答]

この問題を解決する方法を教えてください。

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

まず、必要なすべてのパッケージをインストールしてみましょう。

sudo apt-get install xinetd tftpd tftp -y

次に、構成ファイルを生成する必要があります。

sudo nano /etc/xinetd.d/tftp

ファイルに次の内容を入れます。

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には、tftpルートディレクトリである/var/lib/tftpbootの場所を示すvar/lib/tftpbootがあります。ルートディレクトリ/をスキップしました。

それでは、ディレクトリの所有権を変更してみましょう。

sudo mkdir /var/lib/tftpboot
sudo chown -R nobody:nobody /var/lib/tftpboot
sudo chmod -R 777 /var/lib/tftpboot

TFTPサービスを開始します。

sudo service xinetd stop
sudo service xinetd start

TFTPが正しく機能していることを確認してください。

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 localhostとファイルのアップロード:

tftp> put myfile.jpg
Sent 56733279 bytes in 5.7 seconds
Quit:
q

ファイルがアップロードされたことを確認してください。

ls -l /var/lib/tftpboot

テスト:TFTPサーバーからファイルをダウンロードする今、別のディレクトリに移動して、アップロードしたばかりのファイルをダウンロードしてみましょう。

cd some_other_directory

tftpサーバーに再度ログインします。

tftp localhost

ファイルをインポートします。

tftp> get myfile.jpg
Received 56733279 bytes in 5.7 seconds

ベストアンサー1

問題は、スイッチネットワークIPとUbuntuシステムIPアドレスが異なるネットワークにあることです。私のUbuntuコンピュータに固定IPアドレス(スイッチIPと同じネットワークIP)を設定して問題を解決しました。

おすすめ記事