web-dev-qa-db-ja.com

Linux:tftpが機能せず、転送がタイムアウトしました。理由は何でしょうか。

Cobblerとtftpサーバーを実行するサーバーがあります。私の仕事は、読み取り/書き込みtftpサーバーを構成することです。

tftpはxinetdを介して構成され、構成ファイルは次のようになります。

service tftp
{
        disable                 = no
        socket_type             = dgram
        protocol                = udp
        wait                    = yes
        user                    = root
        server                  = /usr/sbin/in.tftpd
        server_args             = -B 1380 -v -s -c /var/lib/tftpboot
        per_source              = 11
        cps                     = 100 2
        flags                   = IPv4
}

問題は、動作しているように見えても、接続を受け入れず、「転送がタイムアウトしました」というメッセージで終了することです。

いくつかの詳細:

  • tftpディレクトリは次のとおりです:/ var/lib/tftpboot
  • selinuxとiptablesが無効になっている
  • フォルダの権限は次のとおりです。

drwxrw-rw-. 8 root root 4096 2015-12-20 11:17 /var/lib/tftpboot/

  • netstatは、ポートが開いていることを示しています。

udp 0 0 0.0.0.0:69 0.0.0.0:* 21455/xinetd

  • /var/log/messagesログにエラーはありません

これは私が構成をテストする方法です:

[root@ams2srv1 ~]# touch file.test
[root@ams2srv1 ~]# tftp localhost
tftp> put file.test
Transfer timed out.

tftp> quit
[root@ams2srv1 ~]# tftp localhost -c put file.test
Transfer timed out.
[root@ams2srv1 ~]#

[root@ams2srv1 ~]# touch /var/lib/tftpboot/test.file
[root@ams2srv1 ~]# tftp localhost -c get test.file
Transfer timed out.

編集#1:マシンの実際のIPに接続しているときに同じコマンドを試行すると、次のような新しいエラーメッセージが表示されます。

[root@ams2srv1 ~]# tftp 10.x.x.38
tftp> put test
Error code 0: Permission denied
tftp>

ただし、上記のように、/var/lib/tftpbootフォルダーのアクセス許可は777です。

この問題を解決する方法について何かアイデアはありますか?

1
Itai Ganot

iptablesは無効になっていますが、サービスを無効にする前にロードされたルールをフラッシュしましたか?

また、/ etc/xinetd.d/tftpの最も基本的なserver_argsでテストします...例:

   server_args             = -s /var/lib/tftpboot

編集:私のマシンでは、tftp127.0.0.1とtftp192.168.0.2の両方が正しく機能しますが、tftplocalhostはあなたが観察するのと同じ結果をもたらします。

1
Richard Curtis