Centos
CentOS 7 中如何將 Chef 防火牆規則應用於 firewalld?
我正在通過以下方式使用廚師防火牆食譜:
firewall 'default' firewall_rule 'ssh' do port 22 end
它通過編寫如下命令在內部配置firewalld
/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網路配置的經驗,所以我不知道如何繼續。有沒有一種簡單的方法可以將此文件設置為與 firewalld 一起執行?我的食譜做錯了嗎?
防火牆說明書
/etc/sysconfig/firewalld-chef.rules
用於跟踪防火牆規則的狀態。它建構它應該執行的命令列表,如果該列表與該文件的內容不同,它會通過清除規則集然後執行文件中的每個命令來重新應用整個文件。它不一定直接執行該文件。我們有人貢獻了這個秘籍中的原始邏輯,所以我不能告訴你更多關於他們使用它的方式,但執行這個
:save
動作似乎是確保規則永久有效的預期方式。如果您要確保在啟動時應用規則,請在應用:save
所有 firewall_rule(s) 後嘗試執行防火牆資源的操作。