Red Hat Training
A Red Hat training course is available for RHEL 8
9.3. firewalld를 사용하여 네트워크 트래픽 제어
firewalld
패키지는 많은 수의 사전 정의된 서비스 파일을 설치하고 더 많은 서비스를 추가하거나 사용자 지정할 수 있습니다. 그런 다음 이러한 서비스 정의를 사용하여 사용하는 프로토콜과 포트 번호를 몰라도 서비스에 대한 포트를 열거나 닫을 수 있습니다.
9.3.1. CLI를 사용하여 긴급한 경우 모든 트래픽 비활성화
시스템 공격과 같은 긴급 상황에서는 모든 네트워크 트래픽을 비활성화하고 공격자를 차단할 수 있습니다.
절차
네트워킹 트래픽을 즉시 비활성화하려면 에서 패닉 모드를 전환합니다.
# firewall-cmd --panic-on
중요패닉 모드를 활성화하면 모든 네트워킹 트래픽이 중지됩니다. 따라서 시스템에 대한 물리적 액세스 권한이 있거나 직렬 콘솔을 사용하여 로그인하는 경우에만 사용해야 합니다.
패닉 모드를 끄면 방화벽을 영구 설정으로 되돌립니다. 패닉 모드를 끄려면 다음을 입력합니다.
# firewall-cmd --panic-off
검증
패닉 모드가 켜져 있는지 또는 꺼져 있는지 여부를 확인하려면 다음을 사용합니다.
# firewall-cmd --query-panic
9.3.2. CLI를 사용하여 사전 정의된 서비스로 트래픽 제어
트래픽을 제어하는 가장 간단한 방법은 사전 정의된 서비스를 firewalld
에 추가하는 것입니다. 그러면 필요한 모든 포트가 열리고 서비스 정의 파일에 따라 다른 설정을 수정합니다.
절차
서비스가 아직 허용되지 않은지 확인합니다.
# firewall-cmd --list-services ssh dhcpv6-client
사전 정의된 모든 서비스를 나열합니다.
# 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 ...
허용된 서비스에 서비스를 추가합니다.
# firewall-cmd --add-service=<service_name>
새 설정을 영구적으로 설정합니다.
# firewall-cmd --runtime-to-permanent
9.3.3. GUI를 사용하여 사전 정의된 서비스로 트래픽 제어
그래픽 사용자 인터페이스를 사용하여 사전 정의된 서비스로 네트워크 트래픽을 제어할 수 있습니다.
사전 요구 사항
-
firewall-config
패키지 설치
절차
사전 정의된 또는 사용자 지정 서비스를 활성화하거나 비활성화하려면 다음을 수행합니다.
- firewall-config 도구를 시작하고 구성할 서비스가 있는 네트워크 영역을 선택합니다.
-
영역
탭을 선택한 다음 아래의서비스
탭을 선택합니다. - 신뢰할 수 있는 각 서비스 유형의 확인란을 선택하거나 선택한 영역에서 서비스를 차단하는 확인란을 선택 취소합니다.
서비스를 편집하려면 다음을 수행합니다.
- firewall-config 도구를 시작합니다.
-
Configuration
(구성)이라는 레이블이 지정된 메뉴에서Permanent
(영구)를 선택합니다. Services (서비스) 창의 아래쪽에 추가 아이콘 및 메뉴 버튼이 표시됩니다. - 구성할 서비스를 선택합니다.
Ports
,Protocols
, Source Port
탭을 사용하면 선택한 서비스에 대한 포트, 프로토콜 및 소스 포트를 추가, 변경 및 제거할 수 있습니다. 모듈 탭은 Netfilter 도우미 모듈을 구성하는 데 사용됩니다. 대상
탭에서는 트래픽을 특정 대상 주소 및 인터넷 프로토콜(IPv4
또는 IPv6
)으로 제한할 수 있습니다.
런타임
모드에서는 서비스 설정을 변경할 수 없습니다.
9.3.4. 새 서비스 추가
그래픽 firewall-config 도구, firewall-cmd
및 firewall-offline-cmd
를 사용하여 서비스를 추가하고 제거할 수 있습니다. 또는 /etc/firewalld/services/
에서 XML 파일을 편집할 수 있습니다. 사용자가 서비스를 추가하거나 변경하지 않으면 /etc/firewalld/services/
에서 해당 XML 파일을 찾을 수 없습니다. 서비스를 추가하거나 변경하려면 /usr/lib/firewalld/services/
를 템플릿으로 사용할 수 있습니다.
서비스 이름은 영숫자이어야 하며 또한 _
(대부분) 및 (대시) 문자만 포함할 수 있습니다.
절차
터미널에 새 서비스를 추가하려면 firewalld
가 활성화되지 않은 경우 firewall-cmd
또는 firewall-offline-cmd
를 사용합니다.
다음 명령을 입력하여 새롭고 빈 서비스를 추가합니다.
$ firewall-cmd --new-service=<service_name> --permanent
로컬 파일을 사용하여 새 서비스를 추가하려면 다음 명령을 사용합니다.
$ firewall-cmd --new-service-from-file=<service_xml_file> --permanent
추가
--name= <service_name> 옵션을 사용하여 서비스 이름을 변경할 수
있습니다.서비스 설정이 변경되는 즉시 서비스의 업데이트된 사본이
/etc/firewalld/services/
에 배치됩니다.root
로 다음 명령을 입력하여 서비스를 수동으로 복사할 수 있습니다.# cp /usr/lib/firewalld/services/service-name.xml /etc/firewalld/services/service-name.xml
firewalld
는 첫 번째 위치에 있는 /usr/lib/firewalld/services
에서 파일을 로드합니다. 파일이 /etc/firewalld/services
에 배치되고 유효한 경우 파일이 /usr/lib/firewalld/services
에서 일치하는 파일을 재정의합니다. /usr/lib/firewalld/services
의 재정의된 파일은 /etc/firewalld/services
에서 일치하는 파일을 제거하거나 firewalld
가 서비스의 기본값을 로드하라는 요청을 받은 즉시 사용됩니다. 이는 영구 환경에만 적용됩니다. 런타임 환경에서도 이러한 폴백을 가져오려면 다시 로드해야 합니다.
9.3.5. GUI를 사용하여 포트 열기
방화벽을 통한 트래픽을 특정 포트에 대한 트래픽을 허용하려면 GUI에서 포트를 열 수 있습니다.
사전 요구 사항
-
firewall-config
패키지 설치
절차
- firewall-config 도구를 시작하고 변경할 설정이 있는 네트워크 영역을 선택합니다.
-
Ports(포트
) 탭을 선택하고 오른쪽에 있는 Add(추가 ) 버튼을 클릭합니다.Port and Protocol(포트 및 프로토콜
) 창이 열립니다. - 허용할 포트의 포트 번호 또는 범위를 입력합니다.
-
목록에서
tcp
또는udp
를 선택합니다.
9.3.6. GUI를 사용하여 프로토콜로 트래픽 제어
특정 프로토콜을 사용하여 방화벽을 통한 트래픽을 허용하려면 GUI를 사용할 수 있습니다.
사전 요구 사항
-
firewall-config
패키지 설치
절차
- firewall-config 도구를 시작하고 변경할 설정이 있는 네트워크 영역을 선택합니다.
-
Protocols(프로토콜
) 탭을 선택하고 오른쪽에 있는Add(추가
) 버튼을 클릭합니다.Protocol(프로토콜
) 창이 열립니다. -
목록에서 프로토콜을 선택하거나
Other Protocol(기타 프로토콜)
확인란을 선택하고 필드에 프로토콜을 입력합니다.
9.3.7. GUI를 사용하여 소스 포트 열기
특정 포트에서 방화벽을 통한 트래픽을 허용하려면 GUI를 사용할 수 있습니다.
사전 요구 사항
-
firewall-config
패키지 설치
절차
- firewall-config 도구를 시작하고 변경할 설정의 네트워크 영역을 선택합니다.
-
Source Port(소스 포트
) 탭을 선택하고 오른쪽에 있는Add
(추가) 단추를 클릭합니다.Source Port(소스 포트
) 창이 열립니다. -
허용할 포트의 포트 번호 또는 범위를 입력합니다. 목록에서
tcp
또는udp
를 선택합니다.