Mam obraz Ubuntu działający pod VMWare Workstation 11.1 na komputerze z systemem Windows 7 pro. Ten obraz maszyny wirtualnej służy częściowo do udostępniania niektórych plików przez TFTP wielu hostom w sieci.
Serwer tftp na urządzeniu ubuntu jest kontrolowany przez xinetd w następującej konfiguracji:
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
}
Poszedłem do zapory systemu Windows (której nie mogę wyłączyć z powodu zasad grupy) i dodałem regułę UDP / 69 Accept.
Jednak nadal nie mogę uzyskać dostępu do tftpd z innego hosta w sieci. Widzę wyraźne spadki pakietów w dziennikach zdarzeń bezpieczeństwa.
Jako krok do rozwiązania problemu umieściłem serwer tftpd na systemie hosta Windows 7, a gdy jest uruchomiony, mogę się z nim połączyć bez problemu.
Moja obecna hipoteza jest taka, że problemem są tutaj „ukryte” funkcje zapory systemu Windows. Być może z powodu sposobu, w jaki działa xinted (o czym jestem dość nieświadomy).
Odpowiedzi:
TFTP używa portu UDP 69 tylko podczas ustanawiania transferu, następnie faktyczny transfer „danych” odbywa się na losowo wybranym porcie UDP, który również musi być „otwarty” w zaporze (mechanizm podobny do transferów FTP). Możesz przeczytać o Protokół TFTP tutaj RFC 1350
źródło