Linux

Fedora 17 tftp 未按請求發送文件

  • February 4, 2015

我的問題是我試圖在伺服器上設置 tftp,當我嘗試從 tftp 下載文件時,一切都正常執行,它從不響應,我沒有看到任何錯誤,只是沉默,當我嗅到來自應該響應的伺服器的流量,我看到了請求但是伺服器從不響應文件

我正在執行一台電腦Fedora 17(我知道這是生命的盡頭,但目前無法更改)

我正在嘗試tftp執行它,我安裝了 tftp ( yum install -y tftp-server) 並設置為執行,打開UDP69,並設置文件夾的權限,但它沒有任何響應,這是一些輸出和配置文件

當我執行 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 將不是)。

引用自:https://serverfault.com/questions/664740