Я запускаю tftp-сервер через xinetd. Когда я подключаю клиентское устройство напрямую или через коммутатор, оно загружается правильно. Однако я не могу полностью загрузиться с клиентского устройства, подключенного через маршрутизатор в режиме моста. Он получает договор аренды DHCP и начинает загрузку файлов, но затем истекает время ожидания. Мне не ясно, какой шаг должен выполняться по истечении времени ожидания. На самом деле кажется, что "время ожидания истекло" в ту же секунду, когда клиент завершил загрузку start.elf.
Когда я подключаю свой ноутбук к маршрутизатору с мостовым подключением и запускаю traceroute на адресе tftp-сервера, у него есть доступ:
Traceroute has started…
traceroute to 192.168.10.1 (192.168.10.1), 64 hops max, 72 byte packets
1 192.168.10.1 (192.168.10.1) 10.906 ms 5.274 ms 4.500 ms
Есть ли способ лучше регистрировать и знать, какой шаг истекает, чтобы я знал, где отлаживать? Я уже запускаю -v -v в исполняемом файле tftp, но не могу найти там дополнительной информации о дополнительном журналировании.
Это результат в / var / log / messages:
Apr 8 23:01:25 shepherd dnsmasq-dhcp[19671]: DHCPDISCOVER(eno1) da:0d:17:d4:30:3b
Apr 8 23:01:25 shepherd dnsmasq-dhcp[19671]: DHCPOFFER(eno1) 192.168.10.133 da:0d:17:d4:30:3b
Apr 8 23:01:25 shepherd in.tftpd[19022]: RRQ from 192.168.10.133 filename bootcode.bin
Apr 8 23:01:26 shepherd in.tftpd[19022]: Client 192.168.10.133 finished bootcode.bin
Apr 8 23:01:26 shepherd in.tftpd[19027]: RRQ from 192.168.10.133 filename bootsig.bin
Apr 8 23:01:26 shepherd in.tftpd[19027]: Client 192.168.10.133 File not found bootsig.bin
Apr 8 23:01:26 shepherd in.tftpd[19027]: sending NAK (1, File not found) to 192.168.10.133
Apr 8 23:01:26 shepherd dnsmasq-dhcp[19671]: DHCPDISCOVER(eno1) da:0d:17:d4:30:3b
Apr 8 23:01:26 shepherd dnsmasq-dhcp[19671]: DHCPOFFER(eno1) 192.168.10.133 da:0d:17:d4:30:3b
Apr 8 23:01:26 shepherd in.tftpd[19029]: RRQ from 192.168.10.133 filename 69d4303b/start.elf
Apr 8 23:01:26 shepherd in.tftpd[19029]: Client 192.168.10.133 File not found 69d4303b/start.elf
Apr 8 23:01:26 shepherd in.tftpd[19029]: sending NAK (1, File not found) to 192.168.10.133
Apr 8 23:01:26 shepherd in.tftpd[19030]: RRQ from 192.168.10.133 filename autoboot.txt
Apr 8 23:01:26 shepherd in.tftpd[19030]: Client 192.168.10.133 File not found autoboot.txt
Apr 8 23:01:26 shepherd in.tftpd[19030]: sending NAK (1, File not found) to 192.168.10.133
Apr 8 23:01:26 shepherd in.tftpd[19031]: RRQ from 192.168.10.133 filename config.txt
Apr 8 23:01:26 shepherd in.tftpd[19031]: Client 192.168.10.133 finished config.txt
Apr 8 23:01:26 shepherd in.tftpd[19032]: RRQ from 192.168.10.133 filename recovery.elf
Apr 8 23:01:26 shepherd in.tftpd[19032]: Client 192.168.10.133 File not found recovery.elf
Apr 8 23:01:26 shepherd in.tftpd[19032]: sending NAK (1, File not found) to 192.168.10.133
Apr 8 23:01:26 shepherd in.tftpd[19033]: RRQ from 192.168.10.133 filename start.elf
Apr 8 23:01:32 shepherd in.tftpd[19040]: RRQ from 192.168.10.133 filename fixup.dat
Apr 8 23:01:32 shepherd in.tftpd[19040]: Client 192.168.10.133 finished fixup.dat
Apr 8 23:01:37 shepherd in.tftpd[19033]: Client 192.168.10.133 finished start.elf
Apr 8 23:01:37 shepherd in.tftpd[19033]: Client 192.168.10.133 timed out
[adam@shepherd ~]$ cat /etc/xinetd.d/tftp
# default: off
# description: The tftp server serves files using the trivial file transfer \
# protocol. The tftp protocol is often used to boot diskless \
# workstations, download configuration files to network-aware printers, \
# and to start the installation process for some operating systems.
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -v -v -s /tftpboot
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}
Чтобы отследить эту проблему, вам понадобится захват трафика Wireshark (то есть на сервере TFTP), чтобы действительно знать, что происходит на уровне пакетов.