Linux
Linux:tftp 不工作,傳輸超時,可能是什麼原因?
我有一個執行 cobbler 和 tftp 伺服器的伺服器。我的任務是配置一個讀寫 tftp 伺服器。
tftp是通過xinetd配置的,配置文件如下:
service tftp { disable = no socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd server_args = -B 1380 -v -s -c /var/lib/tftpboot per_source = 11 cps = 100 2 flags = IPv4 }
問題是,即使它看起來有效,但它不接受連接並以“傳輸超時”消息退出。
一些細節:
- tftp 目錄為:/var/lib/tftpboot
- selinux 和 iptables 被禁用
- 文件夾權限如下:
drwxrw-rw-. 8 root root 4096 2015-12-20 11:17 /var/lib/tftpboot/
- netstat 顯示埠已打開:
udp 0 0 0.0.0.0:69 0.0.0.0:* 21455/xinetd
/var/log/messages
日誌中沒有錯誤這是我測試配置的方式:
[root@ams2srv1 ~]# touch file.test [root@ams2srv1 ~]# tftp localhost tftp> put file.test Transfer timed out. tftp> quit [root@ams2srv1 ~]# tftp localhost -c put file.test Transfer timed out. [root@ams2srv1 ~]# [root@ams2srv1 ~]# touch /var/lib/tftpboot/test.file [root@ams2srv1 ~]# tftp localhost -c get test.file Transfer timed out.
編輯#1: 在連接到機器的真實 IP 時嘗試相同的命令時,會出現一條新的錯誤消息,如下所示:
[root@ams2srv1 ~]# tftp 10.x.x.38 tftp> put test Error code 0: Permission denied tftp>
但是
/var/lib/tftpboot
文件夾的權限是777,如上圖。關於如何解決這個問題的任何想法?
iptables 已禁用,但您是否刷新了在禁用服務之前載入的任何規則?
另外,我會在 /etc/xinetd.d/tftp 中使用最基本的 server_args 進行測試…例如:
server_args = -s /var/lib/tftpboot
編輯:在我的機器上,tftp 127.0.0.1 和 tftp 192.168.0.2 都可以正常工作,但 tftp localhost 給出的結果與您觀察到的相同。