CentOS8 firewall 한국 IP 대역만 허용

CentOS8 firewall 한국 IP 대역만 허용
Photo by Sigmund / Unsplash

CentOS 8 환경에서 geoip 모듈을 사용하지 않고 firewall-cmd를 이용하여 한국 IP 대역만 허용하는 방법에 대해 설명합니다.

한국 IP 대역 CIDR 블록 파일 생성

  1. [한국인터넷정보센터 - IP 대역별 현황] 사이트에서 대한민국 IP 대역 현황을 엑셀로 다운로드
  2. "시작주소", "프리픽스/24" 부분을 붙여 CIDR 블록으로 변환
  3. 변환한 CIDR 블록 전체를 복사하여, txt 파일로 생성

ipset

ipv4_korea.txt 부분은 저장한 txt 파일명으로 대체

sudo firewall-cmd --permanent --new-ipset=whitelist --type=hash:net
sudo firewall-cmd --permanent --ipset=whitelist --add-entries-from-file=ipv4_korea.txt
sudo firewall-cmd --reload

rich rule

아래 규칙은 위에서 추가한 ipset의 요청이 아닌 나머지 전부 DROP

sudo firewall-cmd --add-source=ipset:whitelist
sudo firewall-cmd --add-rich-rule='rule family="ipv4" source not ipset="whitelist" drop'

firewall 설정 저장

sudo firewall-cmd --runtime-to-permanent

한국 IP 대역이 추가/변경/삭제되면 재작업 해야하는 단점이 있지만, geoip 모듈 없이 간단하게 한국 IP 대역만 허용할 수 있습니다.