Firewall-cmdでファイアウォールの変更を永久に設定するには?

Firewall-cmdでファイアウォールの変更を永久に設定するには?

CentOS 7でいくつかのポートを開こうとしています。

以下を使用してポートを開くことができます。

firewall-cmd --direct --add-rule ipv4 filter IN_public_allow 0 -m tcp -p tcp --dport 7199 -j ACCEPT

以下を確認して、iptables -L -n設定が正常に完了したことを確認します。

Chain IN_public_allow (1 references)
target     prot opt source               destination         
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:7199

残念ながら、これらの変更を永久に適用することはできません。次のオプションを使用しても--permanent:

firewall-cmd --direct --permanent --add-rule ipv4 filter IN_public_allow 0 -m tcp -p tcp --dport 7199 -j ACCEPT

この問題を解決する方法を知っていますか?このオプションが正しく機能しないのはなぜですか--permanent

答え1

--direct注文は永久にできません。対応する領域コマンドを使用します。

   sudo firewall-cmd --zone=public --add-port=7199/tcp --permanent
   sudo firewall-cmd --reload

結果を確認してください。

   sudo firewall-cmd --zone=public --list-all

答え2

次のこともできます。 sudo firewall-cmd --zone=public --add-port=7198/tcp sudo firewall-cmd --zone=public --add-port=7199/tcp sudo firewall-cmd --runtime-to-permanent ...これにより、現在のファイアウォール設定が永久に適用されます。

答え3

多くの方法がありますが、今日はここに記載されていない方法を紹介します。

# firstly run it without --permanent
sudo firewall-cmd --zone=public --add-port=7199/tcp 
# then run it again with adding --permanent
sudo firewall-cmd --zone=public --add-port=7199/tcp --permanent

有効でなければなりません

関連情報