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

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

我无法让 vsftpd 和firewalld 在 CentOS 7 上正常工作(没有向firewalld 添加被动范围)。看起来firewalld 忽略了连接跟踪(nf_conntrack_ftp 已加载但有 0 个用户)。firewalld 尚不支持连接跟踪,这是正确的吗?这里

在firewalld中我已启用ftp服务,但虽然我可以登录和列出,但我无法上传文件,除非我停止防火墙或添加明确的被动范围。

Firewalld 命令:

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

答案1

我在使用 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

答案2

我认为你需要打开 ftp-data , tcp 端口 20

相关内容