firewalld 관리

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: