Linux
TFTP 配置問題
我無法讓 TFTP 在我的系統上正常工作。我已經設置
/etc/default/tftpd-hpa
了我已經設置為所有內容的/srv/tftp/
權限(也是)但是,每當我這樣做時,我都會超時,(並且我在我的本地主機上連接到 127.0.0.1)。我認為 TFTP 不會在某處記錄日誌,是嗎?任何有關如何調試的幫助將不勝感激!777``/srv/``get test
編輯#1
這是在 (K)Ubuntu 系統上
/srv
,其內容歸 擁有root:root
,我現在將其更改為,nobody:nogroup
但我仍然得到相同的超時:$ ls -la total 12 drwxrwxrwx 3 nobody nogroup 4096 Nov 5 08:47 . drwxrwxrwx 3 nobody nogroup 4096 Nov 5 2013 .. drwxrwxrwx 2 nobody nogroup 4096 Nov 5 2013 artifacts -rwxrwxrwx 1 nobody nogroup 0 Nov 5 08:48 test -rw-r--r-- 1 reg reg 0 Nov 5 08:47 vx.bin reg@ubuntu:/srv/tftp$tftp 127.0.0.1 tftp> get test Transfer timed out.
編輯#2
在意識到似乎沒有
tftp
執行實例之後,我嘗試啟動它,#tftp
然後 Ubuntu 告訴我,我應該apt-get install cobbler
安裝 cobbler,這就是我所做的,然後我再次嘗試並得到以下結果:# tftpd Traceback (most recent call last): File "/usr/sbin/tftpd", line 51, in <module> import tornado.ioloop as ioloop ImportError: No module named tornado.ioloop root@ubuntu:/srv#
這是什麼意思,我想知道,任何線索?
我最終遵循了本指南,該指南解釋了也
openbsd-inetd
應該安裝,我還必須RUN_DAEMON="yes"
在我的 tftp 配置文件中設置/etc/default/tftpd-hpa
.更新#1
上面的連結不再有效,所以我在這裡找到了一個替代方案,標題為: Running TFTP Server on Ubuntu 12.04 LTS (Precise) UPDATE。
我最近不得不自己處理幾次,這些是我問自己解決問題的問題:
- tftpd 是從 xinetd 執行還是作為獨立的守護程序執行?
- 您是否需要更改 /etc/hosts.allow 或 hosts.deny
- 是否啟用了 SELinux(使用“getenforce”命令檢查)?
- 是否有主機防火牆在執行?(服務 iptables 狀態)
- 您確定 tftpd 使用的目錄是數據目錄嗎?
- 您嘗試“獲取”的文件是否真的存在?
我的賭注是上述的組合。像防火牆和 SELinux 以及數據目錄位置。
您不希望 /srv 以 0777 模式打開。您也不需要對 tftp 數據目錄執行此操作。您只需要世界可讀的文件。除非您將文件放到伺服器上。在這種情況下,您必須提前創建文件,並在您編寫它們時使它們在世界範圍內可寫。
祝你好運!