ChefファイアウォールルールはCentOS 7のファイアウォールにどのように適用されますか?

ChefファイアウォールルールはCentOS 7のファイアウォールにどのように適用されますか?

シェフを使っています。ファイアウォールレシピによって:

firewall 'default'

firewall_rule 'ssh' do
    port 22
end

内部的には、次のコマンドを作成してファイアウォールを設定します/etc/sysconfig/firewalld-chef.rules

firewall-cmd --direct --add-rule ipv4 filter INPUT 50 -p tcp -m tcp -m multiport --dports 22 -m comment --comment 'ssh' -j ACCEPT
firewall-cmd --direct --add-rule ipv6 filter INPUT 50 -p tcp -m tcp -m multiport --dports 22 -m comment --comment 'ssh' -j ACCEPT

ただし、それ以降はsystemctl restart firewalld変更は適用されなくなります。 Linuxネットワーク構成の経験がないので、どのように進むべきかわかりません。ファイアウォールの起動時にこのファイルを実行するように設定する簡単な方法はありますか?私はレシピを間違って作ったのでしょうか?

ベストアンサー1

/etc/sysconfig/firewalld-chef.rulesファイアウォールガイドラインは、ファイアウォールルールの状態を追跡するために使用されます。実行する必要があるコマンドのリストを作成し、そのリストがファイルの内容と異なる場合は、ルールセットを消去してから、ファイル内のすべてのコマンドを実行してファイル全体を再適用します。必ずしもファイルを直接実行する必要はありません。

このレシピの元のロジックに貢献した人がいたので、それらがどのように使用されたかについて詳細に話すことはできませんが、タスクを実行することがルールが:save永続的であることを確認する予想される方法のようです。起動時にルールが適用されるようにするには、:saveすべてのFirewall_rulesが適用された後にファイアウォールリソースのアクションを実行してみてください。

おすすめ記事