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이 적용된 후 방화벽 리소스의 작업을 실행해 보십시오.

관련 정보