7장. firewalld 사용 및 구성
방화벽 은 시스템을 외부로부터 원하지 않는 트래픽으로부터 보호하는 방법입니다. 사용자가 방화벽 규칙 집합을 정의하여 호스트 시스템에서 들어오는 네트워크 트래픽을 제어할 수 있습니다. 이러한 규칙은 들어오는 트래픽을 정렬하고 차단하거나 을 통해 허용하는 데 사용됩니다.
firewalld
는 D-Bus 인터페이스와 함께 동적 사용자 지정 호스트 기반 방화벽을 제공하는 방화벽 서비스 데몬입니다. 동적이기 때문에 규칙이 변경될 때마다 방화벽 데몬을 다시 시작할 필요 없이 규칙을 생성, 변경 및 삭제할 수 있습니다.
firewalld
는 트래픽 관리를 간소화하는 영역과 서비스의 개념을 사용합니다. 영역은 사전 정의된 규칙 세트입니다. 네트워크 인터페이스 및 소스를 영역에 할당할 수 있습니다. 허용되는 트래픽은 컴퓨터가 연결된 네트워크에 따라 달라지며 이 네트워크가 할당된 보안 수준입니다. 방화벽 서비스는 특정 서비스에 대해 들어오는 트래픽을 허용하기 위해 필요한 모든 설정을 포괄하고 영역 내에서 적용되는 사전 정의된 규칙입니다.
서비스는 네트워크 통신에 하나 이상의 포트 또는 주소를 사용합니다. 방화벽은 포트를 기반으로 통신을 필터링합니다. 서비스에 대한 네트워크 트래픽을 허용하려면 포트를 열어야 합니다. firewalld
는 명시적으로 open으로 설정되지 않은 포트의 모든 트래픽을 차단합니다. trusted와 같은 일부 영역에서 기본적으로 모든 트래픽을 허용합니다.
nftables
백엔드가 있는 firewalld
는 --direct
옵션을 사용하여 사용자 지정 nftables
규칙을 firewalld
에 전달하는 것을 지원하지 않습니다.
7.1. firewalld, nftables 또는 iptables를 사용하는 경우
다음은 다음 유틸리티 중 하나를 사용해야 하는 시나리오에 대한 간략한 개요입니다.
-
firewalld
: 간단한 방화벽 사용 사례에firewalld
유틸리티를 사용합니다. 유틸리티는 사용하기 쉽고 이러한 시나리오의 일반적인 사용 사례를 다룹니다. -
nftables
:nftables
유틸리티를 사용하여 전체 네트워크에 대해 과 같이 복잡하고 성능이 중요한 방화벽을 설정합니다. -
iptables
: Red Hat Enterprise Linux의iptables
유틸리티는레거시
백엔드 대신nf_tables
커널 API를 사용합니다.nf_tables
API는 이전 버전과의 호환성을 제공하므로iptables
명령을 사용하는 스크립트가 여전히 Red Hat Enterprise Linux에서 작동합니다. 새 방화벽 스크립트의 경우 Red Hat은nftables
를 사용하도록 권장합니다.
다른 방화벽 관련 서비스(firewalld
,nftables
또는 iptables
)가 서로 영향을 미치지 않도록 하려면 RHEL 호스트에서 해당 서비스 중 하나만 실행하고 다른 서비스를 비활성화합니다.