Fedora

Firewalld 中的連接跟踪(例如 CentOS 7)

  • December 10, 2019

我無法讓 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

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