본문 바로가기
OS & Software/Linux

Rocky Linux 9에서 방화벽(firewalld) 설정 방법

by 아이럽스토리지 2025. 1. 18.
반응형

 

Rocky Linux 9은 보안을 유지하기 위해 기본적으로 firewalld 서비스를 제공합니다.

firewalld는 동적 방화벽 관리 도구로, 네트워크 트래픽을 관리하고 시스템을 보호하는 데 유용합니다.

이 글에서는 firewalld의 기본 설정과 주요 관리 방법을 살펴보겠습니다.

1. firewalld 서비스 확인 및 시작

먼저 아래 명령어로 firewalld 시작하고, systemctl enable firewalld 명령어로 부팅 시 시작되게 설정.

sudo systemctl status firewalld
sudo systemctl start firewalld
sudo systemctl enable firewalld

 

2. 기본 Zone과 정책 확인

firewalld는 네트워크 인터페이스를 Zone에 매핑하여 동작. (Zone은 각각의 보안 정책을 정의)

기본 Zone은 public으로 설정되어 있으며, 필요에 따라 변경 가능.

# 활성화된 Zone 확인
sudo firewall-cmd --get-active-zones

# 기본 Zone 확인
sudo firewall-cmd --get-default-zone

# 모든 Zone 목록 확인
sudo firewall-cmd --get-zones

 

 

3. Zone 변경

인터페이스의 Zone을 변경하거나 기본 Zone을 수정 가능.

예시로 public zone에 있던, enp0s8 인터페이스를 dmz zone으로 변경해봤습니다.

 

인터페이스의 Zone 변경

sudo firewall-cmd --zone=<새로운_Zone> --change-interface=<네트워크_인터페이스> --permanent

 

 

 

기본 Zone 변경

아래 명령어로 default zone을 변경 합니다. 변경 사항은 서비스 reload 후 적용됨.

예시는 default zone을 internal로 변경해보았습니다.

sudo firewall-cmd --set-default-zone=<새로운_Zone>
sudo firewall-cmd --reload
sudo firewall-cmd --get-default-zone

 

 

4. 서비스 및 포트 열기/닫기

서비스 열기

firewalld는 서비스 이름으로 트래픽을 열수있음.

예시로 http 서비스 이름으로 트래픽을 열어봤습니다.

sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --reload
sudo firewall-cmd --list-all

 

 

서비스 닫기

firewalld는 서비스 이름으로 트래픽을 닫을 수 있습니다.

예시로 http 서비스 이름으로 트래픽을 닫았습니다.

sudo firewall-cmd --zone=public --remove-service=http --permanent
sudo firewall-cmd --reload
sudo firewall-cmd --list-all

 

포트 열기

직접 포트를 지정하여 열수 있습니다.

예시로 8080/tcp 포트를 열어보았습니다.

sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
sudo firewall-cmd --reload
sudo firewall-cmd --list-all

.

 

포트 닫기

직접 포트를 지정하여 닫을 수 있습니다.
예시로 8080/tcp 포트를 닫았습니다

sudo firewall-cmd --zone=public --remove-port=8080/tcp --permanent
sudo firewall-cmd --reload
sudo firewall-cmd --list-all

 

5. 기본 정책 변경

기본 정책을 수정하여 트래픽 허용/차단을 세부적으로 설정할 수 있습니다.

 

ICMP 허용

아래는 ICMP(ping 등)의 허용 여부를 yes로 설정합니다

sudo firewall-cmd --zone=public --add-icmp-block-inversion --permanent
sudo firewall-cmd --reload
sudo firewall-cmd --list-all

 

ICMP 차단

아래는 ICMP(ping 등)의 허용 여부를 no로 설정합니다

sudo firewall-cmd --zone=public --remove-icmp-block-inversion --permanent
sudo firewall-cmd --reload
sudo firewall-cmd --list-all

 

6. 설정 확인 및 로그 확인

 

현재 firewall 전체 설정 확인

sudo firewall-cmd --list-all

 

로그 확인

firewalld 로그는 시스템 로그에서 확인할 수 있습니다.

sudo journalctl -u firewalld

반응형