
У меня есть образ Ubuntu, работающий под VMWare Workstation 11.1 на машине с Windows 7 pro. Этот образ виртуальной машины нужен отчасти для обслуживания некоторых файлов по TFTP на нескольких хостах в сети.
TFTP-сервер на Ubuntu-компьютере управляется с помощью xinetd со следующей конфигурацией:
service tftp {
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /mnt/tftp_files
disable = no
per_source = 11
cps = 100 2
}
Я зашел в брандмауэр Windows (который я не могу отключить из-за групповой политики) и добавил правило приема UDP/69.
Однако я все еще не могу попасть на tftpd с другого хоста в сети. Я вижу явные потери пакетов в журналах событий безопасности.
В качестве шага по устранению неполадок я разместил сервер tftpd на хост-системе Windows 7, и когда он работает, я могу подключиться к нему без проблем.
Моя текущая гипотеза заключается в том, что проблема в «скрытых» функциях брандмауэра Windows. Возможно, из-за того, как работает xinted (в чем я совершенно не разбираюсь).
решение1
TFTP использует UDP-порт 69 только при установлении передачи, затем фактическая передача «данных» происходит на случайно выбранном UDP-порту, который также должен быть «открыт» в вашем брандмауэре (механизм, в некоторой степени схожий с передачей по FTP). Вы можете прочитать о протоколе TFTP здесь.RFC1350