TFTP PUT не работает через хосты

У меня на сервере CentOS установлен TFTP-сервер.

/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 /var/lib/tftpboot
    per_source              = 11
    cps                     = 100 2
    flags                   = IPv4
}

Если я пытаюсь передать файл с удаленного хоста на хост, на котором работает TFTP-сервер, я получаю тайм-аут переноса - однако он создает файл в /var/lib/tftpboot, но файл пуст. Если я tftp от сервера tftp к себе (localhost) и PUT файл, он работает нормально. Я убедился, что SELinux отключен, а IPTables отключены. Я могу подключиться с удаленных хостов без проблем - кажется, это PUT, с которым у меня проблема:

[root@SVR01 TEST]# tftp 10.100.2.15
tftp> status
Connected to 10.100.2.15.
Mode: netascii Verbose: off Tracing: off Literal: off
Rexmt-interval: 5 seconds, Max-timeout: 25 seconds
tftp> 

3 ответа

Используйте tcpdump 'port 69 и udp', затем выполните strace -s 2000 -ttf -p . И попробуйте снова поместить файл в tftp, у вас должно быть достаточно выходных данных для устранения этой проблемы.

Также дважды проверьте getenforce, iptables -L -v -n.

Запустите "chmod 666" для пустого файла, затем попробуйте снова использовать tftp.

TFTP устанавливает передачу через порт 69, но фактическая передача данных использует временный порт. В вашем случае порт 69 работает, Сервер создает и открывает файл, но данные так и не поступают; наверняка эфемерный порт заблокирован. Вот почему вы видите переданный файл с 0 байтами.

Другие вопросы по тегам