web-dev-qa-db-ja.com

tftpサーバーがScientificLinux6.1で動作しない

Scientific Linux6.1を実行しているマシンでtftpを動作させることができません。

[root@bugs ~]# ls /tftpboot/
default  example.txt  MX075000.002_107  MX075100.002_025  MX076000.002  MX076200.002      MX0779900.002
[root@bugs ~]# tftp localhost
tftp> status
Connected to localhost.
Mode: netascii Verbose: off Tracing: off Literal: off
Rexmt-interval: 5 seconds, Max-timeout: 25 seconds
tftp> get example.txt
Transfer timed out.

これはtftp設定です:

[claudiu@bugs claudiu]$ cat /etc/xinetd.d/tftp
service tftp
{
    disable = no
    socket_type     = dgram
    protocol        = udp
    wait            = yes
    user            = root
    server          = /usr/sbin/in.tftpd
    server_args     = -c -s /tftpboot -v -v -v
    per_source      = 11
    cps         = 100 2
    flags           = IPv4
}

xinetdが稼働しています:

[claudiu@bugs claudiu]$ Sudo service xinetd status
xinetd (pid  23864) is running...

Tftpがオンになっていて、ポート69が開いているようです。

[claudiu@bugs claudiu]$ chkconfig | grep tftp
    tftp:           on
[claudiu@bugs claudiu]$ Sudo nmap -sU localhost | grep 69
69/udp   open|filtered tftp

また、権限は正しく設定されているようです。

[claudiu@bugs claudiu]$ ls -l / | grep ftp
drwxrwxrwx.   2 root    root     4096 Jan  5 15:48 tftpboot
[claudiu@bugs claudiu]$ cd /tftpboot/
[claudiu@bugs tftpboot]$ ls -l example.txt
-rwxrwxrwx. 1 root root 0 Jan  4 15:38 /tftpboot/example.txt

誰かが何がうまくいかないか考えているなら、私はいくつかの助けを使うことができます...

2
Claudiu

SELinuxが問題を引き起こしていたようです。 tftpを動作させることができなかったので、SELinuxを完全に無効にしました。推奨されないことはわかっていますが、他の誰かがこれを行う方法を知る必要がある場合は、次のようになります。/etc/selinux/configファイルを編集し、「SELINUX =」を含む行を次のように変更する必要があります。

SELINUX=disabled

システムの再起動は必須です。これがないと、変更は有効になりません。

3
Claudiu

iptablesでICMPが禁止されていないことを確認します。それは私の問題を解決しました。

ちなみに、SELinuxを機能させるために無効にする必要はありません。

2
mike
echo 0 >/selinux/enforce

これにより、SELinuxはパーミッシブモードになりますが、再起動するとこれがクリアされます。

cat /selinux/enforce

これにより、許容モードになっていることが確認されます。

このようにして、マシンを再起動する必要はありません。 SELINUX=disabled in /etc/selinux/configしたがって、再起動後も存続します。

1
Arwin Reprakash