본문 바로가기

리눅스

CentOS 7에서 방화벽(firewalld)을 설정하는 방법

반응형

CentOS 7에서 방화벽(firewalld)을 설정하는 방법

firewalld 서비스 관리

서비스 시작 및 상태 확인

sudo systemctl start firewalld
sudo systemctl status firewalld

firewalld 동작 상태 확인

sudo firewall-cmd --state
running

서비스(Service) 기반 설정

서비스 허용

sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --permanent --add-service=ftp

서비스 제거

sudo firewall-cmd --permanent --remove-service=ftp

포트(Port) 기반 설정

포트 허용

sudo firewall-cmd --permanent --add-port=21/tcp
sudo firewall-cmd --permanent --add-port=10050/tcp

포트 제거

sudo firewall-cmd --permanent --remove-port=21/tcp

IP 기반 접근 제어

특정 IP 허용

sudo firewall-cmd --add-source=192.168.1.1

특정 IP 제거

sudo firewall-cmd --remove-source=192.168.1.1

특정 IP 차단 (Rich Rule)

특정 IP를 완전히 차단하려면 rich-rule을 사용합니다.

sudo firewall-cmd --permanent \
--add-rich-rule='rule family="ipv4" source address="117.52.110.183" drop'

차단 규칙 확인

sudo firewall-cmd --list-rich-rules
rule family="ipv4" source address="152.32.172.108" drop
rule family="ipv4" source address="117.52.110.183" drop

설정 반영

sudo firewall-cmd --reload
--permanent 옵션으로 설정한 내용은 반드시 reload 해야 적용됩니다.

iptables 정책 확인

sudo iptables -nvL

특정 체인(예: IN_public_deny)만 확인

sudo iptables -nvL IN_public_deny --line-numbers
Chain IN_public_deny (1 references)
num   pkts bytes target     prot opt in     out     source               destination
1        0     0 DROP       all  --  *      *       152.32.172.108       0.0.0.0/0
2        0     0 DROP       all  --  *      *       117.52.110.183       0.0.0.0/0
실제 커널 레벨에서 적용된 룰을 확인할 수 있습니다.

 

참고URL

- 변군이글루 블로그 : CentOS 7에서 방화벽을 설정하는 방법

 

728x90
반응형