CentOS 7부터는 방화벽 기능이 기본적으로 활성화되어 있습니다.
방화벽을 완전히 비활성화하는 방법은 아래 포스팅을 참조해주세요.
CentOS 7 방화벽 해제
방화벽을 비활성화하지 않은 상태에서 특정 IP 및 서비스 포트만 허용하는 방법을 알아보겠습니다.
IP 허용
#IP 허용 firewall-cmd --permanent --add-source=10.10.10.10 #IP 허용 제거 firewall-cmd --permanent --remove-source=10.10.10.10 |
IP대역 허용
#IP 대역 허용 firewall-cmd --permanent --add-source=10.10.10.0/24 #IP 대역 허용 제거 firewall-cmd --permanent --remove-source=10.10.10.0/24 |
서비스 포트 허용
#서비스 포트 허용 firewall-cmd --permanent --add-port=80/tcp #서비스 포트 허용 제거 firewall-cmd --permanent --remove-port=80/tcp |
서비스 포트 범위 허용
#서비스 포트 범위 허용 firewall-cmd --permanent --add-port=1000-2000/tcp #서비스 포트 범위 허용 제거 firewall-cmd --permanent --remove-port=1000-2000/tcp |
IP에 대해 서비스 포트 허용
#IP에 대해 서비스 포트 허용 firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address=10.10.10.10 port port="80" protocol="tcp" accept #IP에 대한 서비스 포트 허용 제거 firewall-cmd --permanent --remove-rich-rule='rule family="ipv4" source address=10.10.10.10 port port="80" protocol="tcp" accept |
IP 차단
#IP 차단 firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address=10.10.10.10 drop' #IP 차단 제거 firewall-cmd --permanent --remove-rich-rule='rule family="ipv4" source address=10.10.10.10 drop' |
방화벽 Rule 적용
#방화벽 Rule 변경 내역 적용 firewall-cmd --reload #방화벽 Rule 리스트 확인 firewall-cmd --list-all |
방화벽 실행 중인지 확인
#방화벽 실행 확인(실행중이면 running, 실행중이 아니면 not running으로 표시) firewall-cmd --state #not running일 경우 방화벽 실행 systemctl enable firewalld systemctl start firewalld |