Я могу успешно загрузить файл с localhost. Если я попробую с другого хоста, клиент подключится, и файл будет создан на сервере, но он будет пустым. Время передачи истекает немного позже.
На клиенте я могу выполнить одно из следующих действий с тем же результатом:
tftp <server> -c put install.log
tftp <server> -c put install.log install.log
tftp <server> -c put install.log /install.log
SELinux находится в разрешающем режиме, а IPtables в настоящее время отключен.
Содержимое /etc/xinetd.d/tftpd:
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -v -c -s /var/lib/tftpboot
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}
/ tftproot имеет 777 разрешений.
В / var / log / messages я получаю:
Mar 21 17:10:30 <hostname> in.tftpd[29093]: WRQ from <client_ip> filename install.log
Mar 21 17:10:35 <hostname> in.tftpd[29093]: WRQ from <client_ip> filename install.log
Mar 21 17:10:40 <hostname> in.tftpd[29093]: WRQ from <client_ip> filename install.log
Mar 21 17:10:45 <hostname> in.tftpd[29093]: WRQ from <client_ip> filename install.log
Mar 21 17:10:50 <hostname> in.tftpd[29093]: WRQ from <client_ip> filename install.log
Весь день бился головой об эту кирпичную стену. Кто-нибудь, пожалуйста, избавьте меня от моих страданий. Я знаю, это будет что-то действительно глупое :-(
Нашел проблему
Это был тип сетевого адаптера VMware. Я использовал VNXNET3, как только я перешел на E1000, все работает, как ожидалось. Судя по всему, проблема все еще существует в vSphere 5.
Думаю, это проблема MTU / фрагментации. Небольшие пакеты между клиентом и сервером перемещаются без проблем, поэтому сервер знает имя файла. Большой где-то заблокирован.
Вы шолуд используете -B max-block-size
флаг с минимальным размером блока (512) для сервера, и если это решит проблему, попробуйте также больший (~ 1460 подходит для Ethernet с 1500 MTU, но если у вас есть IPSec / VPN между клиентом и сервером, то ~ 1350 может быть лучше ).
В EL6 каталог tftp по умолчанию изменен с /tftpboot
к /var/lib/tftpboot
.
Убедитесь, что в каталоге назначения есть файл с разрешениями 666 для файла.