- firewall은 네트워크 트래픽을 관리하고 제어하기 위한 보안 장치 또는 소프트웨어
- iptables, nftables, firewalld와 같은 도구 또는 프로그램을 사용하여 firewall을 구성
- firewalld는 동적으로 규칙을 관리하고 서비스 기반의 접근을 허용하는 데에 중점을 둔 방화벽 관리 도구
-내부 네트워크의 서비스에 외부에서 접근 가능하도록 포트 포워딩이나 Network Address Translation (NAT)을 통해 IP 주소 및 포트를 변환
상태확인
firewall-cmd --state
방화벽 list 확인
firewall-cmd --list-all
방화벽 rich rule만 확인
firewall-cmd --list-rich-rules
방화벽 zone 내역
firewall-cmd --get-zones
현재 활성화된 zone 내역
firewall-cmd --get-active-zone
새로운 zone 추가
firewall-cmd --permanent --new-zone=myzone
zone 삭제
firewall-cmd --permanent --delete-zone=myzone
현재 설정된 default zone
firewall-cmd --get-default-zone
방화벽 zone public 으로 변경
firewall-cmd --set-default-zone=public
rich rule 추가
firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address=10.10.10.10 port port=22 protocol=tcp accept'
rich rule 삭제
firewall-cmd --permanent --remove-rich-rule='rule family=ipv4 source address=10.10.10.10 port port=22 protocol=tcp accept'
방화벽 새로고침
firewall-cmd --reload
방화벽 수동으로 수정 가능한 파일
cat /etc/firewalld/zones/[zone 이름].xml
서비스 추가
firewall-cmd --permanent --zone=[zone 이름] --add-service=http firewall-cmd --permanent --zone=[zone 이름] --add-service=https firewall-cmd --permanent --zone=[zone 이름] --add-service=ssh
[root@test ~]# cd /etc/firewalld/zones/
[root@test zones]# ll
-rw-r--r-- 1 root root 1900 1월 19 07:55 Prod.xml
<?xml version="1.0" encoding="utf-8"?>
<zone>
<rule family="ipv4">
<source address="00.00.00.00"/>
<port port="22" protocol="tcp"/>
<accept/>
</rule>
</zone>
[root@test ~]# firewall-cmd --reload
firewall-cmd --get-active-zone
firewall-cmd --permanent --new-zone=test
firewall-cmd --set-default-zone=test
firewall-cmd --reload
firewall-cmd --get-default-zone
firewall-cmd --permanent --zone=test --add-rich-rule='rule family="ipv4" source address=00.00.00.00 port port="22" protocol="tcp" accept'
firewall-cmd --reload
cat test.xml