41.9. 영역 간 전달된 트래픽 필터링
firewalld
를 사용하면 서로 다른 firewalld
영역 간의 네트워크 데이터 흐름을 제어할 수 있습니다. 규칙과 정책을 정의하면 이러한 영역 간에 이동할 때 트래픽이 허용되거나 차단되는 방법을 관리할 수 있습니다.
정책 오브젝트 기능은 firewalld
에서 전달 및 출력 필터링 기능을 제공합니다. firewalld
를 사용하여 다른 영역 간 트래픽을 필터링하여 로컬 호스트 VM에 대한 액세스를 통해 호스트를 연결할 수 있습니다.
41.9.1. 정책 오브젝트와 영역 간의 관계
정책 오브젝트를 사용하면 사용자가 서비스, 포트 및 리치 규칙과 같은 firewalld 기본 기능을 정책에 연결할 수 있습니다. 정책 오브젝트를 상태 저장 및 단방향 방식으로 영역 간에 전달하는 트래픽에 적용할 수 있습니다.
firewall-cmd --permanent --new-policy myOutputPolicy firewall-cmd --permanent --policy myOutputPolicy --add-ingress-zone HOST firewall-cmd --permanent --policy myOutputPolicy --add-egress-zone ANY
# firewall-cmd --permanent --new-policy myOutputPolicy
# firewall-cmd --permanent --policy myOutputPolicy --add-ingress-zone HOST
# firewall-cmd --permanent --policy myOutputPolicy --add-egress-zone ANY
HOST
및 ALL
은 수신 및 송신 영역 목록에 사용되는 심볼릭 영역입니다.
-
HOST(호스트)
심볼릭 영역을 사용하면 firewalld를 실행하는 호스트의 대상이거나 에서 시작된 트래픽에 대한 정책을 사용할 수 있습니다. -
모든
심볼
릭 영역은 모든 현재 및 향후 영역에 정책을 적용합니다.모든
심볼릭 영역은 모든 영역에 대해 와일드카드 역할을 합니다.
41.9.2. 우선순위를 사용하여 정책 정렬
여러 정책이 동일한 트래픽 집합에 적용할 수 있으므로 적용할 수 있는 정책에 대한 우선 순위 순서를 생성하려면 우선 순위를 사용해야 합니다.
정책을 정렬하는 우선 순위를 설정하려면 다음을 수행합니다.
firewall-cmd --permanent --policy mypolicy --set-priority -500
# firewall-cmd --permanent --policy mypolicy --set-priority -500
위의 예에서 -500 은 우선 순위가 낮지만 우선 순위가 높습니다. 따라서 -500은 -100 전에 실행됩니다.
낮은 숫자 우선순위 값은 우선순위가 높고 먼저 적용됩니다.
41.9.3. 정책 오브젝트를 사용하여 로컬 호스트 컨테이너와 호스트에 물리적으로 연결된 네트워크 간의 트래픽을 필터링
정책 오브젝트 기능을 사용하면 사용자가 Podman과 firewalld 영역 간의 트래픽을 필터링할 수 있습니다.
Red Hat은 기본적으로 모든 트래픽을 차단하고 Podman 유틸리티에 필요한 선택적 서비스를 여는 것이 좋습니다.
절차
새 방화벽 정책을 생성합니다.
firewall-cmd --permanent --new-policy podmanToAny
# firewall-cmd --permanent --new-policy podmanToAny
Copy to Clipboard Copied! Podman에서 다른 영역으로의 모든 트래픽을 차단하고 Podman에서 필요한 서비스만 허용합니다.
firewall-cmd --permanent --policy podmanToAny --set-target REJECT firewall-cmd --permanent --policy podmanToAny --add-service dhcp firewall-cmd --permanent --policy podmanToAny --add-service dns firewall-cmd --permanent --policy podmanToAny --add-service https
# firewall-cmd --permanent --policy podmanToAny --set-target REJECT # firewall-cmd --permanent --policy podmanToAny --add-service dhcp # firewall-cmd --permanent --policy podmanToAny --add-service dns # firewall-cmd --permanent --policy podmanToAny --add-service https
Copy to Clipboard Copied! 새 Podman 영역을 생성합니다.
firewall-cmd --permanent --new-zone=podman
# firewall-cmd --permanent --new-zone=podman
Copy to Clipboard Copied! 정책의 수신 영역을 정의합니다.
firewall-cmd --permanent --policy podmanToHost --add-ingress-zone podman
# firewall-cmd --permanent --policy podmanToHost --add-ingress-zone podman
Copy to Clipboard Copied! 다른 모든 영역에 대한 송신 영역을 정의합니다.
firewall-cmd --permanent --policy podmanToHost --add-egress-zone ANY
# firewall-cmd --permanent --policy podmanToHost --add-egress-zone ANY
Copy to Clipboard Copied! 송신 영역을 ANY로 설정하면 Podman에서 다른 영역으로 필터링합니다. 호스트에 필터링하려면 송신 영역을 HOST로 설정합니다.
firewalld 서비스를 다시 시작합니다.
systemctl restart firewalld
# systemctl restart firewalld
Copy to Clipboard Copied!
검증
Podman 방화벽 정책을 다른 영역에 확인합니다.
firewall-cmd --info-policy podmanToAny
# firewall-cmd --info-policy podmanToAny podmanToAny (active) ... target: REJECT ingress-zones: podman egress-zones: ANY services: dhcp dns https ...
Copy to Clipboard Copied!
41.9.4. 정책 오브젝트의 기본 대상 설정
정책에 대해 --set-target 옵션을 지정할 수 있습니다. 다음 대상을 사용할 수 있습니다.
-
ACCEPT
- 패킷을 수락 -
DROP
- 원하지 않는 패킷을 삭제합니다. -
REJECT
- ICMP 응답을 사용하여 원하지 않는 패킷을 거부 CONTINUE
(기본값) - 패킷에는 다음 정책 및 영역의 규칙이 적용됩니다.firewall-cmd --permanent --policy mypolicy --set-target CONTINUE
# firewall-cmd --permanent --policy mypolicy --set-target CONTINUE
Copy to Clipboard Copied!
검증
정책에 대한 정보 확인
firewall-cmd --info-policy mypolicy
# firewall-cmd --info-policy mypolicy
Copy to Clipboard Copied!