Fedora
Firewalld 中的連接跟踪(例如 CentOS 7)
我無法讓 vsftpd 和 firewalld 在 CentOS 7 上正常工作(沒有將被動範圍添加到 firewalld)。看起來 firewalld 忽略了連接跟踪(nf_conntrack_ftp 已載入但有 0 個使用者)。如此處所建議的,firewalld 還不支持連接跟踪是否正確?
在 firewalld 中,我啟用了 ftp 服務,但是雖然我可以登錄並列出我無法上傳文件,除非我停止防火牆或添加明確的被動範圍。
防火牆命令:
firewall-cmd --permanent --add-service=ftp
結果 iptables 規則:
-A IN_public_allow -p tcp -m tcp --dport 21 -m conntrack --ctstate NEW -j ACCEPT
連接跟踪模組:
# lsmod | grep conntrack_ftp nf_conntrack_ftp 18638 0
我在使用 CentOS 8 和 vsftpd 時遇到了同樣的問題。如另一篇文章所述,您必須載入核心模組“nf_conntrack_ftp”(在 CentOS 8 中已經是這種情況)並在核心設置中啟用“nf_conntrack_helper”:
echo 1 > /proc/sys/net/netfilter/nf_conntrack_helper
將此行添加到
/etc/sysctl.conf
(或存在/etc/sysctl.d/10-nf_conntrack_helper.conf
時/etc/sysctl.d/
)以進行重新啟動持久設置:net.netfilter.nf_conntrack_helper=1
我想你需要打開 ftp-data , tcp 埠 20