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 байтами.