41.8. firewalld를 사용하여 네트워크 트래픽 제어
firewalld 패키지는 사전 정의된 많은 서비스 파일을 설치하고 더 추가하거나 사용자 지정할 수 있습니다. 그런 다음 이러한 서비스 정의를 사용하여 사용하는 프로토콜과 포트 번호를 모르는 상태에서 서비스의 포트를 열거나 닫을 수 있습니다.
41.8.1. CLI를 사용하여 사전 정의된 서비스로 트래픽 제어 링크 복사링크가 클립보드에 복사되었습니다!
트래픽을 제어하는 가장 간단한 방법은 firewalld 에 사전 정의된 서비스를 추가하는 것입니다. 그러면 필요한 모든 포트가 열리고 서비스 정의 파일 에 따라 다른 설정을 수정합니다.
사전 요구 사항
-
firewalld서비스가 실행 중입니다.
프로세스
firewalld의 서비스가 아직 허용되지 않았는지 확인합니다.# firewall-cmd --list-services ssh dhcpv6-client명령은 기본 영역에서 활성화된 서비스를 나열합니다.
firewalld에서 사전 정의된 모든 서비스를 나열합니다.# firewall-cmd --get-services RH-Satellite-6 amanda-client amanda-k5-client bacula bacula-client bitcoin bitcoin-rpc bitcoin-testnet bitcoin-testnet-rpc ceph ceph-mon cfengine condor-collector ctdb dhcp dhcpv6 dhcpv6-client dns docker-registry ...명령은 기본 영역에 사용 가능한 서비스 목록을 표시합니다.
firewalld에서 허용하는 서비스 목록에 서비스를 추가합니다.# firewall-cmd --add-service=<service_name>명령은 지정된 서비스를 기본 영역에 추가합니다.
새 설정을 영구적으로 설정합니다.
# firewall-cmd --runtime-to-permanent명령은 이러한 런타임 변경 사항을 방화벽의 영구 구성에 적용합니다. 기본적으로 이러한 변경 사항은 기본 영역의 구성에 적용됩니다.
검증
모든 영구 방화벽 규칙을 나열합니다.
# firewall-cmd --list-all --permanent public target: default icmp-block-inversion: no interfaces: sources: services: cockpit dhcpv6-client ssh ports: protocols: forward: no masquerade: no forward-ports: source-ports: icmp-blocks: rich rules:명령은 기본 방화벽 영역(
공용)의 영구 방화벽 규칙을 사용하여 전체 구성을 표시합니다.firewalld서비스의 영구 구성의 유효성을 확인합니다.# firewall-cmd --check-config success영구 구성이 유효하지 않으면 명령에서 추가 세부 정보와 함께 오류를 반환합니다.
# firewall-cmd --check-config Error: INVALID_PROTOCOL: 'public.xml': 'tcpx' not from {'tcp'|'udp'|'sctp'|'dccp'}영구 구성 파일을 수동으로 검사하여 설정을 확인할 수도 있습니다. 기본 설정 파일은
/etc/firewalld/firewalld.conf입니다. 영역별 구성 파일은/etc/firewalld/zones/디렉터리에 있으며 정책은/etc/firewalld/policies/디렉터리에 있습니다.