IT/잡다구리

[Linux] Centos7 Firewall 해외 IP 차단 추가

월공 2021. 4. 29. 16:50
728x90
300x250

whitelist 라고 방화벽에 추가 , firewall 은 뭐 하나 추가해줬을때 reload 는 필수다

firewall-cmd --permanent --new-ipset=whitelist --type=hash:net

정상적으로 추가됐는지 확인하려면 아래처럼 확인 가능

firewall-cmd --get-ipsets

 

 

한국 IP 들이 들어있는 리스트 파일 다운 , 혹시 몰라서 메모장 파일로도 아래 첨부합니다.

wget -O kr.zone http://www.ipdeny.com/ipblocks/data/countries/kr.zone

 

kr.zone
0.03MB

 

방법 1 처럼 그냥 같은 경로에서 sh 파일 생성해서 실행시키는 방법도 있는데 이건 비추..

IP 가 한두개도 아니고 저거 do 문 돌려면 한참 걸린다 ..

 

방법 1.

#!/bin/bash
for IP in $(cat ./kr.zone)
do
    echo "firewall-cmd --ipset=whitelist --add-entry=$IP"
    firewall-cmd --ipset=whitelist --add-entry=$IP
done

 

아래 방법 2 가 훨씬 빠르고 좋다

방법 2.

firewall-cmd --permanent --ipset=whitelist --add-entries-from-file=./kr.zone

whitelist 에 없는 ip가 접속하려하면 차단 하는 rule 을 추가해줘야하는데 firewall reload 안해주면

계속 Error: INVALID_IPSET: whitelist 라는 에러를 볼수있다

firewall-cmd --zone=public --permanent --add-rich-rule='rule source NOT ipset=whitelist drop'

이렇게 하고나서 다시 list-all로 봤을때

아래처럼 추가되어있는걸 볼수잇다.

 

삭제는 위에 add-rich-rule 에서 add 를 remove 로만 바꿔주고 새로고침해주면된다 ~!

728x90
300x250