firewalld 방화벽 사용
RHEL/CentOS 7 부터는 방화벽을 firewalld 라는 데몬으로 교체하였고 이에 따라 사용자 레벨의 프로그램은 iptables 명령어 대신 명령행에서는 firewall-cmd , GUI 환경에서는 firewall-config 를 사용하게 되었다.
Linux 커널 2.2 까지는 ipchains 이라는 패킷 필터링/방화벽 프레임워크가 구현되어 있었고 2.4부터는 더 유연하고 다양한 기능을 가진 netfilter 로 프레임워크가 교체 되었다.
영구적 규칙과 정책 재구동
기본적으로 firewall-cmd 로 방화벽 정책을 변경했을 경우 현재 구동되고 있는 firewalld 에 즉시 적용되지만 정책은 지속성이 없이 임시로 적용되며 정책을 재구동하는 명령어인 firewall-cmd --reload 를 실행하거나 시스템을 재부팅하면 예전 정책으로 다시 초기화 되며 이로 인해 서비스의 장애가 발생할 수 있다.
이때문에 방화벽 정책을 영구적으로 유지하기 위해서는 --permanent 옵션을 추가해서 실행하면 되지만 이는 즉시 적용되지 않고 firewall-cmd --reload 명령어로 방화벽 정책을 재구동하거나 재부팅을 하기 전에는 변경한 방화벽 설정이 적용되지 않는다.
firewalld 를 처음에 사용할 때 이 때문에 혼란을 겪고 정책 설정을 잘못한 걸로 오해하는 사용자가 많으므로 아래 표를 보고 방화벽 정책의 즉시 적용 여부와 지속성 여부를 꼭 확인한다.
|
firewall-cmd |
firewall-cmd --permanent |
즉시 적용(firewall-cmd --reload 불필요) |
예 |
아니요 |
재부팅시 정책의 지속 여부 |
아니오 |
예 |
사용 예
port 추가 -> 영구적 적용 -> 적용 확인, 리스트 확인, port 리스트 확인
[root@ ~ ] firewall-cmd --add-port=8080/tcp
[root@ ~ ] firewall-cmd --runtime-to-permanent
[root@ ~ ] firewall-cmd --reload
[root@ ~ ] firewall-cmd --list-all
[root@ ~ ] firewall-cmd --list-ports
방화벽 정지, 시작
[root@ ~ ] systemctl start firewalld
[root@ ~ ] systemctl disable firewalld
방화벽 설정 및 zone 상태 확인
[root@ ~ ] firewall-cmd --state (혹은 --check-config, --runtime-to-permanent)
[root@ ~ ] firewall-cmd --get-zones
[root@ ~ ] firewall-cmd --zone=public --list-all
How to Configure and Manage the Firewall on CentOS 8 | Linuxize
'ㆍ Linux' 카테고리의 다른 글
Ephemeral port, Well-Known Port, Registered Port, Dynamic Port, 임시 포트, 등록 포트, 시스템 포트 (0) | 2023.06.08 |
---|---|
[Linux, CentOS] 리눅스 로그 파일의 종류 및 분석 (0) | 2021.10.20 |
[Linux, CentOS] CentOS 8 네트워크 관리 명령어, nmcli (0) | 2020.10.10 |
[Linux, CentOS] netstat, 네트워크 상태 확인 (0) | 2020.10.07 |
[Linux, CentOS] ntp 상태 확인, ntpdate, ntpstat, ntpq, chrony (0) | 2020.09.22 |