개념

    - IPtabels를 대체해 새롭게 선보인 패킷 필터링 방화벽

     

    특징

    1. 방화벽 구성 도구 존재

    각각 firewall-cmd, firewall-config, firewall-applet 이렇게 존재합니다.

     

    각각의 도구에 대한 자세한 설명은 나중에 설명 드리겠습니다.

     

    2. 런타임 구성과 영구 구성을 분리

    런타임 구성은 방화벽이 동작 할 때 현재의 구성이고 데몬이 reload나 시스템이 reboot될 시 모든 구성은 사라지게 됩니다.

     

    영구 구성은 방화벽 서비스가 시작하거나 reload되었을 때 런타임구성으로 불러오는 구성입니다.

     

    둘은 각각 다르게 다른 구성으로 돌아간다고 생각하시면 됩니다.

     

    3.여러 기능과 유형을 제공

    Zone(영역), Service, IPSet, ICMP Type

     

    이렇게 크게 4가지가 있습니다.

     

    이것 또한 자세한 설명은 나중에 하겠습니다.

     

    4. 계층적 구조

    크게 2계층으로 나누어져 있고 설명은 아래와 같습니다.

     

    Core Layer D-Bus Layer
    구성 및 IPtables, ip6tables, ebtables, ipset

    모듈 로더와 같은 백엔드를 처리

    방화벽 구성 변경 및 생성하는 기본 방법을 제공

    firewall제공 온라인 도구를 사용해 구성변경

    firewall-offine-cmd

    firewalld가 실행되지 않는경우에만 사용

    방화벽의 영구 구성만 변경 가능

    일단 D-Bus Layer에서 명령어 입력을 수행하고 명령어를 Core Layer로 넘겨주게 됩니다.


    Core Layer에서는 내부적으로 Backend즉 Kernel에게 명령어를 수행 할 수 있는 데몬에게 넘겨주게 되고

     

    Backend에서는 직접적으로 패킷에 영향을 줄 수 있는 netfilter에게 명령을 전달 하게 됩니다.

     

    아래의 그림은 전체적인 구조를 나타냅니다.

     

    <그림 1> 계층과 구조

     

     

     

    5. NetworkManager를 사용하는걸 권장

    공식적으로 '의존하지는 않지만 사용을 권장' 이라고 하였고

     

    만약 사용하지 않을경우 아래와 같은 문제가 생긴다고 합니다.

     


     - Firewalld가 네트워크 장치(NIC) 이름을 변경하지 않음

     - 만약 인터페이스를 수동으로 추가 하였다면 그 인터페이스는 Firewalld가 실행된 이 후 Zone할당을 받지 못함

     

    하지만 수동으로 추가 가능하다고 합니다.

     

    ※ /etc/sysconfig/network-script/ifcfg-<interface> 에 설정된 Zone과 일치해야함

    firewall-cmd [--permanent] --zone=<zone_name> --add-interface=<interface>

     

     

    Posted by Ralreu