Linux

配置 atftp 伺服器在 69 埠回复

  • February 6, 2014

問題:我面臨 TFTP 伺服器和 Cisco 79XX IP 電話的問題。在本地網路上時,一切正常,但是當 TFTP 伺服器在公共伺服器上(以及專用網路內的電話 - 在 NAT/防火牆後面)時,電話可以在 UDP 69 上聯繫 TFTP,但無法檢索任何文件/數據(超時)。

原因:“根據 RFC 1350,伺服器(從隨機埠)向客戶端發送 DATA TFTP 數據包。但是,防火牆拒絕此數據包,因為它無法在表中找到所選伺服器埠和客戶端埠之間的現有連接翻譯。”

可能的解決方案:我需要讓 TFTP 伺服器使用埠 69 不僅可以接收請求,還可以將答案發送給客戶端。“在這種情況下,防火牆將根據翻譯表中的記錄正確地將答案傳輸給客戶端。” 此外,一些 VoIP 提供商通過編寫自己的 TFTP 伺服器解決了這個問題。

問題:我在 linux atftp 伺服器中找不到任何特定的選項/配置,它定義了用於回复客戶端的埠。有沒有這樣的選項或另一個可以處理這個的免費/開源 linux TFTP 伺服器?

謝謝, CL

您的解決方案應該在您的防火牆配置中找到,而不是在 TFTP 伺服器中。

任何稱職的防火牆都應該能夠辨識對初始 TFTP 請求的響應,並且可以配置為動態跟踪並臨時允許返回的 TFTP 連接。

即Linux netfilter 有一個幫助模組nf_conntrack_tftp 和nf_nat_tftp,它們與FTP 幫助程序類似,在載入後允許跟踪返回的TFTP 連接。

例如,Cisco PIX 可以做同樣的事情(甚至可能在預設情況下)。

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