Firewalld 방화벽 설정 가이드

📌 Firewalld 상태 확인 및 관리

sudo systemctl status firewalld
  • active (running)이면 동작 중
  • inactive (dead)이면 정지 상태

📌 Firewalld 시작 및 종료

sudo systemctl start firewalld   # 방화벽 시작
sudo systemctl stop firewalld    # 방화벽 정지
sudo systemctl restart firewalld # 방화벽 재시작
sudo systemctl enable firewalld  # 부팅 시 자동 시작 설정
sudo systemctl disable firewalld # 부팅 시 자동 시작 해제

📌 방화벽 규칙 설정 및 관리

sudo firewall-cmd --list-all
  • 현재 활성화된 방화벽 영역(zone)과 적용된 규칙을 확인할 수 있음.

📌 방화벽 영역(Zone) 확인

sudo firewall-cmd --get-active-zones

📌 방화벽 영역(Zone) 디폴트 존 변경

# 디폴트 존 변경.
sudo firewall-cmd --set-default-zone=block

# 특정 인터페이스 block 존에 바인딩.
sudo firewall-cmd --zone=block --change-interface="인터페이스이름"

# 변경 사항 영구 적용.
sudo firewall-cmd --runtime-to-permanent

📌 특정 포트 허용

sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
  • — zone=public: public 영역에 적용
  • — add-port=8080/tcp: 8080 포트의 TCP 트래픽 허용
  • — permanent: 영구 적용 (재부팅해도 유지됨)

📌 즉시 적용하려면 방화벽 다시 로드

sudo firewall-cmd --reload

📌 특정 서비스 허용

Firewalld는 서비스 단위로 접근을 제어할 수 있음. 예를 들어, SSH(22번 포트)를 허용하려면:

sudo firewall-cmd --zone=public --add-service=ssh --permanent
sudo firewall-cmd --reload

서비스 목록 확인

sudo firewall-cmd --get-services

포트 차단

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

서비스 차단

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

➡️ Example

Block 존 ➡️ ipv4로 내가 열고 싶은 IP/32, Port, TCP 열려면..

sudo firewall-cmd --zone=block --add-rich-rule='rule family="ipv4" source address="IP/32" port port="port번호" protocol="tcp" accept' --permanent

댓글

댓글 남기기