리눅스보안
geoip 설치 및 사용 방법2_1 (CentOS7)
https443
2025. 7. 18. 12:10
https://https443.tistory.com/13
geoip 설치 및 사용 방법 (CentOS5)
https://https443.tistory.com/11 oops-firewall 설치 및 사용 방법✅ oops-firewall 이란? oops-firewall은 IPTABLES 기반의 리눅스 방화벽 설정을 손쉽게 구성할 수 있도록 도와주는 경량형 방화벽 관리 스크립트텍스
https443.tistory.com
이전 내용에 다룬 CentOS5 버전과 약간의 차이가 있어 추가 작성.
CentOS7, Apache 사용 기준
✅ 1. 설치 방법
#0. 시스템 초기 설정 - 필수 업데이트 및 저장소 추가
yum update
# 초기 서버에서는 사용, 실 사용 중인 서버에서는 사용x
#1. EPEL 저장소 설치 (GeoIP 패키지 사용 위해 필요)
yum install epel-release -y
#2. GeoIP 패키지 및 Apache용 모듈 설치
yum install geoip geoip-devel mod_geoip -y
위 단계까지 진행하면 geoiplookup <IP> 명령어로 국가(Country) 정보 조회가 가능
그러나 GeoIPCity.dat, GeoIPASNum.dat 파일이 없으면 도시(City) 및 AS 번호(ASN) 조회는 불가


* GeoIP 데이터 구성 비교 테이블
항목설명예시제공 데이터 (대표 필드)주요 사용처
| Country | IP 주소가 속한 국가 정보 | KR, US, JP | country_iso_code, geoname_id | 국가 차단, 방문자 위치 추정 |
| City | IP 주소가 속한 도시 정보 (좌표 포함) | Seoul, Tokyo | city_name, latitude, longitude, postal_code | 위치 기반 서비스, 광고 타게팅 |
| ASNum (Autonomous System Number) |
IP 주소가 속한 네트워크 소유자 정보 (인터넷 사업자 등) | AS9318 (SKB), AS15169 (Google) | autonomous_system_number, autonomous_system_organization | 트래픽 분석, 보안, 통신사 정보 파악 |
* GeoIPASNum.dat, GeoIPCity.dat 파일이 있어야 City, ASNum 조회가 가능하나 현재는 해당 파일을 내려 받기가 불가능.
아래 내용은 .dat 파일들이 이미 존재한다는 가정하에 작성
✅2. iptables 확장을 위한 환경 구성 (선택 사항)
#1. 유틸리티 및 컴파일 도구 설치
yum install gcc vim wget perl perl-CPAN iptables-devel git unzip perl-Text-CSV_XS -y
#2. 현재 커널에 맞는 헤더 설치 (커널 모듈 빌드용)
uname -r # 현재 커널 버전 확인
yum install kernel-devel-$(uname -r) -y
#3. Perl CPAN 모듈 설치
perl -MCPAN -e shell
cpan[1]> install NetAddr::IP
cpan[2]> install Getopt::Long
exit




✅3. xtables-addons 설치 (iptables에서 GeoIP match 기능 사용 가능)
cd /usr/local/src/
wget https://inai.de/files/xtables-addons/xtables-addons-2.15.tar.xz
tar xvf xtables-addons-2.15.tar.xz
cd xtables-addons-2.15
# TARPIT 등 원하지 않으면 주석처리
vi mconfig
#build_TARPIT=m ← 주석 처리
./configure
make -j && make install
