无法通过firewalld打开FTP端口

我正试图在公共区域打开ftp端口,而firewall-cmd以非描述性的响应退出。 命令输出是:

firewall-cmd --zone=public --add-service=ftp Error: COMMAND_FAILED 

操作系统:CentOS Linux版本7.3.1611(核心)


用更多的细节更新原始问题。

journalctl输出:

 ~ firewall-cmd --zone=public --add-service=ftp Error: COMMAND_FAILED ~ journalctl -xf Mar 06 00:46:42 hostname firewalld[3496]: ERROR: COMMAND_FAILED 

debugging输出:

 ~ firewalld --nofork --debug=10 <...> 2017-03-06 00:49:57 DEBUG1: zone.addService('public', 'ftp', 0) 2017-03-06 00:49:57 DEBUG4: <class 'firewall.core.fw_transaction.FirewallZoneTransaction'>.execute(True) 2017-03-06 00:49:57 DEBUG4: <class 'firewall.core.fw_transaction.FirewallZoneTransaction'>.prepare(True, ...) 2017-03-06 00:49:57 DEBUG4: <class 'firewall.core.fw_transaction.FirewallZoneTransaction'>.prepare(True, ...) 2017-03-06 00:49:57 DEBUG4: <class 'firewall.core.fw_transaction.FirewallZoneTransaction'>.pre() 2017-03-06 00:49:57 DEBUG2: <class 'firewall.core.ipXtables.ip4tables'>: /usr/sbin/iptables-restore /run/firewalld/temp.tptEtP: 89 1: *filter 2: -A IN_public_allow -p tcp --dport 21 -m conntrack --ctstate NEW -j ACCEPT 3: COMMIT 2017-03-06 00:49:57 DEBUG2: <class 'firewall.core.ipXtables.ip6tables'>: /usr/sbin/ip6tables-restore /run/firewalld/temp.CYsjiA: 89 1: *filter 2: -A IN_public_allow -p tcp --dport 21 -m conntrack --ctstate NEW -j ACCEPT 3: COMMIT 2017-03-06 00:49:57 DEBUG2: <class 'firewall.core.modules.modules'>: /sbin/modprobe nf_conntrack_ftp 2017-03-06 00:49:57 DEBUG2: <class 'firewall.core.ipXtables.ip4tables'>: /usr/sbin/iptables-restore /run/firewalld/temp.1dBrUZ: 89 1: *filter 2: -D IN_public_allow -p tcp --dport 21 -m conntrack --ctstate NEW -j ACCEPT 3: COMMIT 2017-03-06 00:49:57 DEBUG2: <class 'firewall.core.ipXtables.ip6tables'>: /usr/sbin/ip6tables-restore /run/firewalld/temp.vbUyZC: 89 1: *filter 2: -D IN_public_allow -p tcp --dport 21 -m conntrack --ctstate NEW -j ACCEPT 3: COMMIT 2017-03-06 00:49:57 ERROR: COMMAND_FAILED 

还有一个更新:如果我这样做:

 ~ iptables -A IN_public_allow -p tcp --dport 21 -m conntrack --ctstate NEW -j ACCEPT 

FTP服务正在工作。 不过我想通过firewalldpipe理所有的东西。 所以我想知道如果这是一个firewalld故障或configuration错误。

同样的问题,但–add-port为我工作:

 # firewall-cmd --zone=public --add-port=21/tcp