firewalld 관리
firwalld
RHEL 7 이후 부터 적용된 서버 방화벽 툴입니다. 기존 방화벽 설정은 iptables 를 이용하여 동작했으며, TCP/IP 구조와 라우팅 등 네트워크 정보를 자세하 알지 못할경우 다루기가 쉽지 않았습니다. firewalld 는 규칙을 좀 더 human-readerable 하며, Rule-base 로 다루기가 쉬워졌습니다. 또한 NetworkManager 와
zone
방화벽 규칙을 zone 이란 단위로 관리할 수 있으며, 기본 존은 아래와 같습니다. 또한 사용자 정의 zone 을 설정 하고, 운용할 수 있습니다.
- public - 기본 zone 입니다.
- block
- dmz
- drop
- external
- home
- internal
- trusted
- work
설정 파일은 /etc/firewalld/zones/ 아래 있습니다.
[root@navix9 ~]# cd /etc/firewalld/zones/
[root@navix9 zones]# ls -l
total 4
-rw-r--r--. 1 root root 356 Jul 2 12:53 public.xml
[root@navix9 zones]# cat public.xml
<?xml version="1.0" encoding="utf-8"?>
<zone>
<short>Public</short>
<description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</description>
<service name="ssh"/>
<service name="dhcpv6-client"/>
<service name="cockpit"/>
<forward/>
</zone>
서비스 관리
- 서비스 비활성화
systemctl disables firewalld
- firewalld 서비스 활성화
systemctl enable firewalld
- firewalld 서비스 중지
systemctl stop firewalld
- firewalld 서비스 시작
systemctl start firewalld
- firewalld 서비스 재시작
systemctl restart firewalld
- firewalld 서비스 상태 확인
systemctl status firewalld
zone 관리
- 기본 zone 확인
# firewall-cmd --get-default-zone
- zone 생성
firewall-cmd --permanent --new-zone=zonename
- zone 삭제
firewall-cmd --permanent --delete-zone=zonename
- 기본 zone 변경
firewall-cmd -
설정확인
# firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: eno6
sources:
services: cockpit dhcpv6-client ssh
ports:
protocols:
forward: yes
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules: