VMware vSphere 5 上的 RHEL 6 TFTP 服务器不接受来自远程客户端的文件

VMware vSphere 5 上的 RHEL 6 TFTP 服务器不接受来自远程客户端的文件

我可以从本地主机成功上传文件。如果我尝试从另一台主机上传文件,客户端会连接并在服务器上创建文件,但文件为空。然后传输会稍后超时。

在客户端,我可以运行以下命令之一并获得相同的结果:

tftp <server> -c put install.log
tftp <server> -c put install.log install.log
tftp <server> -c put install.log /install.log

SELinux 处于宽容模式,并且 IPtables 目前处于关闭状态。

/etc/xinetd.d/tftpd 的内容:

service tftp
{
    socket_type             = dgram
    protocol                = udp
    wait                    = yes
    user                    = root
    server                  = /usr/sbin/in.tftpd
    server_args             = -v -c -s /var/lib/tftpboot
    disable                 = no
    per_source              = 11
    cps                     = 100 2
    flags                   = IPv4
}

/tftproot 已获得 777 权限。

在 /var/log/messages 中我得到:

Mar 21 17:10:30 <hostname> in.tftpd[29093]: WRQ from <client_ip> filename install.log
Mar 21 17:10:35 <hostname> in.tftpd[29093]: WRQ from <client_ip> filename install.log
Mar 21 17:10:40 <hostname> in.tftpd[29093]: WRQ from <client_ip> filename install.log
Mar 21 17:10:45 <hostname> in.tftpd[29093]: WRQ from <client_ip> filename install.log
Mar 21 17:10:50 <hostname> in.tftpd[29093]: WRQ from <client_ip> filename install.log

整个下午我都在撞墙。求求谁让我不再痛苦吧。我知道这是一件非常愚蠢的事情 :-(

答案1

发现问题

这是 VMware NIC 类型。我使用的是 VNXNET3,一旦我换成 E1000,一切就都按预期工作了。显然,vSphere 5 中仍然存在此问题。

http://communities.vmware.com/thread/215456

答案2

我认为这是 MTU/碎片问题。客户端和服务器之间的小数据包传输没有问题,因此服务器知道文件名。大数据包被阻止在某处。

您应该-B max-block-size为服务器使用具有最小块大小(512)的标志,如果这解决了问题,那么也尝试更大的标志(对于具有 1500 MTU 的以太网,~1460 是个不错的选择,但如果客户端和服务器之间有 IPSec/VPN,那么 ~1350 可能会更好)。

答案3

在 EL6 中,默认 tftp 目录从 更改/tftpboot/var/lib/tftpboot

确保目标目录中有一个具有 666 权限的文件。

相关内容