지역별로 발생하는 트래픽을 제한 혹은 허용 하는 방법 제안

■ Install Prerequisites

더보기
sudo apt-get update; sudo apt-get -y upgrade
sudo apt-get install curl unzip perl
sudo apt-get install xtables-addons-common
sudo apt-get install libtext-csv-xs-perl libmoosex-types-netaddr-ip-perl

 Getting Updates

더보기
sudo mkdir /usr/share/xt_geoip

 

■ GeoIP의 기준이 되는 설정값의 업데이트를 자동화 하도록 sh 생성 및 cron 설정

더보기
# 업데이트 파일 생성 sudo touch /usr/local/bin/geo-update.sh

#!/bin/bash
MON=$(date +"%m")
YR=$(date +"%Y")
wget https://download.db-ip.com/free/dbip-country-lite-${YR}-${MON}.csv.gz -O /usr/share/xt_geoip/dbip-country-lite.csv.gz
gunzip /usr/share/xt_geoip/dbip-country-lite.csv.gz
/usr/lib/xtables-addons/xt_geoip_build -D /usr/share/xt_geoip/ -S /usr/share/xt_geoip/
rm /usr/share/xt_geoip/dbip-country-lite.csv
crontab -e
30 0 1 1/1 * /usr/local/bin/geo-update.sh
# 매월 1일 00:30 스크립트 실행

 Validate It All Worked

더보기
ㅇ Run:
      modprobe xt_geoip
      lsmod | grep ^xt_geoip
ㅇ Output should look like:
     xt_geoip               16384  2
ㅇ Run:
     iptables -m geoip -h
ㅇ Output should look like (truncated):
     iptables v1.6.1

 Adding A Rule

더보기

 - 구글 클라우드플랫폼:무료에서는 중국 호주 나가는 패킷에 대해 요금 부과하기 때문에 중국, 호주 나가는 패킷 모두 차단

sudo iptables -A OUTPUT -m geoip --dst-cc CN,AU -j DROP
예) 25번 포트 러시아 중국 차단 
sudo iptables -A INPUT -m geoip -p tcp --dport 25 --src-cc RU,CN -j DROP

예) 한국 22번 포트만 허용 
sudo iptables -A INPUT -m geoip -p tcp --dport 22 --src-cc KR -j ACCEPT

 

'IT' 카테고리의 다른 글

UBUNTU 특정 폴더 자동 백업  (0) 2022.07.30
exiftool 사용법 (구글포토)  (0) 2022.07.13
linux bandwith limit  (0) 2022.07.13
WSL DOCKER PS 오류 발생 해결  (0) 2022.07.13
Core DNS 설정  (0) 2022.07.13

+ Recent posts