Firewalldのrich-ruleが”Error: %x format: a number is required, not NoneType”で消せない

ルールを整理していて不要なリッチルールを削除しようとしたら

Error: %x format: a number is required, not NoneType

と出て、firewall-cmdから消せなかったのでその時の対応。

remove-rich-ruleをadd-rich-ruleに変えると「すでに存在してる」と怒られるのに、削除できないなんて。

[root@myhost ~]# firewall-cmd --zone=external --add-rich-rule='rule family="ipv4" forward-port port="13389" protocol="tcp" to-port="3389" to-addr="192.168.2.11"'
Warning: ALREADY_ENABLED: 'rule family="ipv4" forward-port port="13389" protocol="tcp" to-port="3389" to-addr="192.168.2.11"' already in 'external'
# firewalldの停止
sudo systemctl stop firewalld.service

# 設定の手動削除
#   今回のゾーンはexternalに書いてあるのでexternal.xml
vim /etc/firewalld/zones/external.xml

# firewalldの再開
sudo systemctl start firewalld.service

最後にfirewall-cmd –info-zone=して消えていることを確認。

参考にしたページ:https://bugzilla.redhat.com/show_bug.cgi?id=1056154

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です