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
}
問題は、動作しているように見えても、接続を受け入れず、「転送がタイムアウトしました」というメッセージで終了することです。
いくつかの詳細:
drwxrw-rw-. 8 root root 4096 2015-12-20 11:17 /var/lib/tftpboot/
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です。
この問題を解決する方法について何かアイデアはありますか?
iptablesは無効になっていますが、サービスを無効にする前にロードされたルールをフラッシュしましたか?
また、/ etc/xinetd.d/tftpの最も基本的なserver_argsでテストします...例:
server_args = -s /var/lib/tftpboot
編集:私のマシンでは、tftp127.0.0.1とtftp192.168.0.2の両方が正しく機能しますが、tftplocalhostはあなたが観察するのと同じ結果をもたらします。