Назад | Перейти на главную страницу

Сервер CentOS tftp сломан

Я пытаюсь бежать tftpd из xinetd на CentOS 6; однако я могу tftp только с localhost.

У меня есть файл в /opt/tftpboot/fw.test.conf что я могу получить, если я tftp на localhost:

[mpenning@localhost ~]$ tftp localhost
tftp> get fw.test.conf
tftp> quit
[mpenning@localhost ~]$ ls
fw.test.conf
[mpenning@localhost ~]$

Однако я не могу получить этот файл, если tftp к eth1 на этом сервере (адрес на eth1 172.16.1.4).

[mpenning@localhost ~]$ sudo tshark -i eth1 udp and host 172.16.1.5
Running as user "root" and group "root". This could be dangerous.
Capturing on eth1
  0.000000   172.16.1.5 -> 172.16.1.4   TFTP Read Request, File: fw.test.conf\000, Transfer type: netascii\000
  5.000133   172.16.1.5 -> 172.16.1.4   TFTP Read Request, File: fw.test.conf\000, Transfer type: netascii\000
 10.000184   172.16.1.5 -> 172.16.1.4   TFTP Read Request, File: fw.test.conf\000, Transfer type: netascii\000
 15.000297   172.16.1.5 -> 172.16.1.4   TFTP Read Request, File: fw.test.conf\000, Transfer type: netascii\000
 20.000331   172.16.1.5 -> 172.16.1.4   TFTP Read Request, File: fw.test.conf\000, Transfer type: netascii\000
^C5 packets captured
[mpenning@localhost ~]$

У меня следующая конфигурация xinetd:

[root@localhost mpenning]# cat /etc/xinetd.d/tftp
# default: off
# description: The tftp server serves files using the trivial file transfer \
#       protocol.  The tftp protocol is often used to boot diskless \
#       workstations, download configuration files to network-aware printers, \
#       and to start the installation process for some operating systems.
service tftp
{
        socket_type             = dgram
        protocol                = udp
        wait                    = yes
        user                    = root
        server                  = /usr/sbin/in.tftpd
        server_args             = -s /opt/tftpboot
        disable                 = no
        per_source              = 11
        cps                     = 100 2
        flags                   = IPv4
}
[root@localhost mpenning]#

В производственной среде вы можете специально разрешить TFTP через брандмауэр. Это можно сделать, запустив system-config-firewall-tui, настроив брандмауэр и выбрав службу «TFTP».

CentOS блокирует входящие запросы UDP tftp с помощью iptables на интерфейсах Ethernet по умолчанию ... отключение iptables служба устранила проблему (это лабораторная машина, поэтому отключение iptables в порядке).

[root@localhost mpenning]# chkconfig iptables off
[root@localhost mpenning]# /etc/init.d/iptables stop
[root@localhost mpenning]#