Linux
Fedora 17 tftp 未按請求發送文件
我的問題是我試圖在伺服器上設置 tftp,當我嘗試從 tftp 下載文件時,一切都正常執行,它從不響應,我沒有看到任何錯誤,只是沉默,當我嗅到來自應該響應的伺服器的流量,我看到了請求但是伺服器從不響應文件
我正在執行一台電腦
Fedora 17
(我知道這是生命的盡頭,但目前無法更改)我正在嘗試
tftp
執行它,我安裝了 tftp (yum install -y tftp-server
) 並設置為執行,打開UDP
埠69
,並設置文件夾的權限,但它沒有任何響應,這是一些輸出和配置文件當我執行 tftp
$$ ip of server $$ 得到測試 任何幫助將不勝感激
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
您可以設置防火牆規則阻止訪問
或者
您的 /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 將不是)。