Centos
VMware vSphere 5 上的 RHEL 6 TFTP 伺服器不接受來自遠端客戶端的文件
我可以從 localhost 成功放置文件。如果我嘗試從另一台主機連接客戶端並在伺服器上創建文件,但它是空的。然後,傳輸會稍後超時。
在客戶端上,我可以執行以下之一併獲得相同的結果:
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
整個下午我的頭都撞在這堵磚牆上。有人請讓我擺脫痛苦。我知道這將是一件非常愚蠢的事情:-(
發現問題
它是 VMware NIC 類型。我使用的是 VNXNET3,一旦我更改為 E1000,一切都按預期工作。顯然,這個問題在 vSphere 5 中仍然存在。
我認為這是 MTU/碎片問題。客戶端和伺服器之間的小數據包傳輸沒有問題,因此伺服器知道文件名。大被擋在某處。
您應該
-B max-block-size
為伺服器使用具有最小塊大小(512)的標誌,如果這解決了問題,那麼也嘗試更大的一個(〜1460對於具有1500 MTU的乙太網來說是一個很好的選擇,但如果您在客戶端和伺服器之間有IPSec / VPN,那麼〜1350可能更好)。