Fedora 17 tftp 未根据请求发送文件

Fedora 17 tftp 未根据请求发送文件

我的问题是,我试图在服务器上设置 tftp,一切似乎都运行正常,但当我尝试从 tftp 下载文件时,它从不响应,我没有看到任何错误,只是一片寂静,当我嗅探到应该响应的服务器的流量时,我看到了请求,但服务器从不响应文件

我正在运行一台电脑Fedora 17(我知道它已经过时了,但目前无法改变)

我正在尝试运行tftp它,我安装了 tftp(yum install -y tftp-server)并设置为运行,打开了UDP端口69,并设置了文件夹的权限,但它没有任何反应,以下是一些输出和配置文件

当我运行 tftp [服务器的 ip] get test

任何帮助将不胜感激

SELinux

# setenforce 0
setenforce: SELinux is disabled

tftp config

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     = -s /copos/tftp -vvv
    disable         = no
    per_source      = 11
    cps         = 100 2
    flags           = IPv4
}

The Directory

# ls -lah /copos/tftp/
total 48K
drwxrwxrwx   4 root      root      4.0K Feb  3 14:42 .
drwxr-xr-x. 31 coposuser coposuser 4.0K Feb  3 14:46 ..
drwxrwxrwx   3 root      root      4.0K Feb  3 14:42 clonezilla
-rwxrwxrwx   1 root      root       27K Feb  3 14:42 pxelinux.0
drwxrwxrwx   2 root      root      4.0K Feb  3 14:42 pxelinux.cfg
-rwxrwxrwx   1 root      root         9 Feb  3 14:42 test

The Port is opened

# netstat -anp|grep 69|grep xinet 
udp        0      0 0.0.0.0:69              0.0.0.0:*                           3533/xinetd

答案1

你可以设置防火墙规则阻止访问

或者

您的 /copos 目录没有完全权限。

你应该能够通过执行以下操作来解决这个问题:

tail -f /var/log/messages

当您尝试下载文件时。如果您没有收到任何条目,则可能是防火墙问题,如果您收到类似以下内容的信息:

Feb  3 18:50:48 host1 in.tftpd[10298]: RRQ from 192.168.4.190 filename test.xml
Feb  3 18:50:48 host1 in.tftpd[10298]: sending NAK (0, Permission denied) to 192.168.4.190

那么这是一个权限问题。

还请记住,仅在端口 69 上进行捕获不会显示所有跟踪。tftp 服务器将使用不同于 69 的源端口进行传输。这就是为什么如果涉及某些 NAT,tftp 通常就会崩溃的原因。

因此完整的交流通常是这样的:

client requests file via tftp (source port random_client -> dest port 69)
server send back tftp file (source port random_server -> dest port random_client)

如您所见,端口 69 上的 tcpdump 捕获不会显示完整对话框。此外,如果您有 NAT,一旦服务器尝试从 69 以外的源端口发送文件,大多数 NAT 实现都将无法转发数据包(只有全锥形或受限锥形 NAT 可以工作,但端口受限或对称 NAT 则不行)。

相关内容