Iptables
Pure-FTPd:隨機失敗,受限 iptables INPUT
我已經在使用鏈的
iptables
預設DROP
策略執行的 Debian 10 機器上安裝了 Pure-FTPd。鏈設置為INPUT
。OUTPUT``ACCEPT
問題:如果我嘗試連接 FTP 客戶端,它有時只能工作。似乎可以隨機列出文件夾或失敗。通常重試新連接會起作用。
我的Pure-FTPd 配置了以下埠:
$ cat /etc/pure-ftpd/conf/Bind 85.xxx.xxx.xxx,57419 $ cat /etc/pure-ftpd/pure-ftpd.conf | grep Port # Port range for passive connections - keep it as broad as possible. PassivePortRange 30000 50000
要打開我使用的防火牆上的埠:
iptables -A INPUT -p tcp --dport 57419 -j ACCEPT iptables -A INPUT -p tcp --dport 30000:50000 -j ACCEPT
伺服器上的日誌:
pure-ftpd]: (?@176.x.x.x) [INFO] New connection from 176.x.x.x pure-ftpd]: (?@176.x.x.x) [INFO] TLS: Enabled TLSv1.2 with ECDHE-RSA-AES256-GCM-SHA384, 256 secret bits cipher pure-ftpd]: (?@176.x.x.x) [INFO] testuser is now logged in // no more output until the client retries a new connection
現在,如果我將 iptables
INPUT
鏈設置為ACCEPT
一切正常,那麼 Pure-FTPd 隨機嘗試使用的某些埠似乎仍然被阻塞,我該如何調試/修復它?謝謝你。
我設法將此跟踪到配置問題。
顯然將埠設置為
/etc/pure-ftpd/pure-ftpd.conf
是不夠的。通過進一步分析,ss -nap | grep pure
我發現 pure 正在嘗試使用防火牆允許範圍之外的埠。為了解決這個問題,我只是創建一個文件
/etc/pure-ftpd/conf/PassivePortRange
並在那裡設置埠範圍。