我通过 xinetd 运行 tftp-server。当我直接或通过交换机插入客户端设备时,它可以正确启动。但是,我无法通过桥接模式的路由器连接客户端设备完全启动。它获得 DHCP 租约 OK 并开始下载文件,但随后超时。我不清楚超时时应该运行哪个步骤。它实际上似乎在客户端完成下载 start.elf 的同一秒内“超时”。
当我将笔记本电脑连接到桥接路由器并在 tftp 服务器地址上运行 traceroute 时,它可以访问:
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
有没有更好的方法可以记录并知道哪个步骤超时,以便我知道在哪里调试?我已经在 tftp 可执行文件上运行 -v -v,但我找不到有关额外日志记录的更多信息。
这是 /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
}
答案1
要追踪此问题,您需要进行 Wireshark 流量捕获(即在 TFTP 服务器上)才能真正了解数据包级别发生的情况。