IT/잡다구리

[Linux] Centos7 방화벽 설정관련 명령어 정리 , 특정 IP 허용 그 외 모두 막기

월공 2021. 4. 30. 10:59
728x90
300x250
#방화벽 상태확인
firewall-cmd --state

#방화벽 list 확인
firewall-cmd --list-all

#방화벽 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

#방화벽 새로고침
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

centos firewall 에서는 zone 이라는게 있는데 기본적으로 public 으로 되어있다

public 으로 되어있으면 외부 ip 도 모두 환영해주는거라 zone 을 바꾸고 해당 zone 에서 허용 ip 포트 기입해주면된다

zone 이 뭐가 좋은건지 몰랐는데 이번에 알게됐다 zone 별로 허용된 ip 다르게 해놓고 그때그때 바꿔가면서 사용해도 좋을거같다.

삭제하지 않는한 zone 설정은 남아있을테고 , 그때그때 활성화 된 zone 별로 방화벽 설정이되니 편리한듯하다

#zone public 에 한하여 192.168.1.0 대역의 8080 포트를 오픈
firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="8080" accept'

#zone public 에 한하여 add port / remove port
firewall-cmd --zone=public --permanent --add-port=8080/tcp
firewall-cmd --zone=public --permanent --remove-port=8080/tcp
#block 으로 zone 변경
firewall-cmd --set-default-zone=block

#새로고침
firewall-cmd --reload

#zone block 에 한하여 특정 IP 의 포트만 열어주기
firewall-cmd --permanent  --zone=block --add-rich-rule='rule family="ipv4" source address=125.111.200.160 port port="20" protocol="tcp" accept'
firewall-cmd --permanent  --zone=block --add-rich-rule='rule family="ipv4" source address=125.111.200.160 port port="21" protocol="tcp" accept'
firewall-cmd --permanent  --zone=block --add-rich-rule='rule family="ipv4" source address=125.111.200.160 port port="22" protocol="tcp" accept'
firewall-cmd --permanent  --zone=block --add-rich-rule='rule family="ipv4" source address=125.111.200.160 port port="80" protocol="tcp" accept'
firewall-cmd --permanent  --zone=block --add-rich-rule='rule family="ipv4" source address=125.111.200.160 port port="3306" protocol="tcp" accept'

 

잘되었다면 아래처럼 나온다

 

 

* 기존 등록된 IP 들 삭제는 add 를 remove 로 바꿔주면 끝

728x90
300x250