12 Haziran2014
 

iptables'a xtables-addons+geoip Kurulumu

DİKKAT! Öncelikle bu konfigürasyonun çalışması için gelişmiş kernel modüllerinin kurulabilmesi gerekmektedir. Bu da bazı vps sanallaştırma sistemleri altında mümkün olmamaktadır (OpenVZ gibi.). Kurulumunun bir CentOS CD/DVD/LiveUSB'sinden yapılabildiği VDS/Dedicated tipi sunucularda gelişmiş kernel modülleri büyük ihtimalle kullanılabilir olacaktır ve bu konfigürasyon da mümkündür.

komutuyla /etc/selinux/config dosyasını açtık,

[...]
#SELINUX=enforcing
SELINUX=disabled
[...]

belirtilen değişiklikleri yapıp, dosyayı kaydedip kapatıyoruz.

komutlarıyla /selinux/enforce dosyasının içeriğine "0" ekledik, kernel-devel de dahil ilgili paketleri indirip kurduk.

komutlarıyla kurulum için /usr/local/src dizinine geçip kaynak kodlarını indirip arşiv formundan çıkarıyoruz.

komutlarıyla arşivden çıkarılan dizine geçip değişiklik yapacağımız /usr/local/src/xtables-addons-1.39/mconfig dosyasını yedekledik ve nanoyla açtık,

# -*- Makefile -*-
#
build_ACCOUNT=m
build_CHAOS=m
build_CHECKSUM=
build_DELUDE=m
build_DHCPMAC=m
build_DNETMAP=m
build_ECHO=
build_IPMARK=m
build_LOGMARK=m
build_RAWNAT=
build_STEAL=m
build_SYSRQ=
build_TARPIT=m
build_TEE=
build_condition=m
build_fuzzy=m
build_geoip=m
build_gradm=m
build_iface=m
build_ipp2p=m
build_ipset6=
build_ipv4options=m
build_length2=
build_lscan=m
build_pknock=m
build_psd=m
build_quota2=m

açıklamada yeralan modüllerden kurulmasını istediklerimizin yanına "m" harfini ekliyoruz, kurulmasını istemediklerimizin "m" harflerini kaldırıyoruz. Örneğin "build_geoip=m" şeklinde kurulacak bir modülken, "build_ipset6=" modülü kurulmayacak olarak işaretlendi.

komutlarıyla indirdiğimiz kaynak kodlarını derleyip kuruyoruz.

komutlarıyla da GeoIP veritabanını (ülke IP bloklarını) indirip ilgili dizinlere kopyalıyoruz.

komutlarıyla iptables servisini yeniden başlatarak sunucumuza Çin Halk Cumhuriyeti'nden gelecek bağlantıları engellemiş olduk.

komutlarıyla iptables tanımlamalarımızı listeliyoruz.

komutuyla yeni bir /usr/local/src/xtables-addons-1.39/geoip/geoip.sh dosyası açıp,

#!/bin/bash

cd /usr/local/src/xtables-addons-1.39/geoip && ./xt_geoip_dl && ./xt_geoip_build GeoIPCountryWhois.csv && sudo cp -fr {BE,LE} /usr/share/xt_geoip/
exit 0

kısımlarını ekliyoruz.

komutlarıyla az önce oluşturduğumuz scripte çalıştırılabilir şekilde okuma-yazma izinlerini verip, haftalık cron işlemlerinde çalıştırılması için /etc/cron.weekly/ dizinine, "geoip.sh" komutuyla çalışması için /usr/local/bin/ dizinine linkliyoruz.