ProxmoxTR

Orjinalini görmek için tıklayınız: iptables ve Geoip ile Ülke Bloklama
Şu anda (Arşiv) modunu görüntülemektesiniz. Orjinal Sürümü Görüntüle internal link
Bazi ulkelerden Proxmox sisteminize erisimi engellemek icin iptables ve geoip kullanarak yapabilirsiniz.

iptables ile geoip yi kullanabilmek için xtables-addons ile birlikte bazı paketleri kurmanız gerekmektedir.


Kod:
#apt-get update
#apt-get install iptables iptables-dev module-assistant xtables-addons-common libtext-csv-xs-perl unzip  

Paketlerin kurulumundan sonra,

Geoip database ini asağıdaki komutlarla oluşturun:

Kod:
cd /usr/lib/xtables-addons/  
./xt_geoip_dl
./xt_geoip_build GeoIPCountryWhois.csv
mkdir -p /usr/share/xt_geoip/  
cp -r {BE,LE} /usr/share/xt_geoip/  

Proxmox 'un kernel header ini kurun.

Kod:
apt-get install pve-headers-`uname -r`

Şimdi, xtables-addons un config dosyası olan "mconfig" dosyasını nano editorü ile açın.


Kod:
#nano  /usr/src/modules/xtables-addons/mconfig

"build_geoip=m",
"build_pknock=m"
"build_psd=m" 

seçenekleri dışındaki diğer opsiyonlardaki "m" leri kaldırın.

dosyayı kaydedip çıkın. Derlerken bu dosyanın tekrar sistem tarafından tekrar değiştirilmemesi için;


Kod:
#chattr +i /usr/src/modules/xtables-addons/mconfig  

yapın.

Son olarak module-assistant komutunu girin.

Kod:
#module-assistant --verbose --text-mode auto-install xtables-addons

Updating info about xtables-addons-source

Updated infos about 1 packages
Getting source for kernel version: 2.6.32-34-pve
Kernel headers available in /usr/src/linux
Creating symlink...
Couldn't create the /usr/src/linux symlink!
apt-get install build-essential
Reading package lists... Done
Building dependency tree
Reading state information... Done
build-essential is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 65 not upgraded.

Done!
unpack
Extracting the package tarball, /usr/src/xtables-addons.tar.bz2, please wait...
 action tar --bzip2 -x -f /usr/src/xtables-addons.tar.bz2
.............................
make[2]: Leaving directory `/usr/src/modules/xtables-addons'
   dh_install -a
   dh_installdocs -a
   dh_installchangelogs -a
   dh_installexamples -a
   dh_installman -a
   dh_installcatalogs -a
   dh_installcron -a
   dh_installdebconf -a
   dh_installemacsen -a
   dh_installifupdown -a
   dh_installinfo -a
   dh_installinit -a
   dh_installmenu -a
   dh_installmime -a
   dh_installmodules -a
   dh_installlogcheck -a
   dh_installlogrotate -a
   dh_installpam -a
   dh_installppp -a
   dh_installudev -a
   dh_installwm -a
   dh_installxfonts -a
   dh_installgsettings -a
   dh_bugfiles -a
   dh_ucf -a
   dh_lintian -a
   dh_gconf -a
   dh_icons -a
   dh_perl -a
   dh_usrlocal -a
   dh_link -a
   dh_compress -a
   dh_fixperms -a
   dh_strip -a
   dh_makeshlibs -a
   dh_shlibdeps -a
   dh_installdeb -a
   dh_gencontrol -a
   dh_md5sums -a
   debian/rules override_dh_builddeb
..........................
make[2]: Entering directory `/usr/src/modules/xtables-addons'
dh_builddeb --destdir=/usr/src
dpkg-deb: building package `xtables-addons-modules-2.6.32-34-pve' in `/usr/src/xtables-addons-modules-2.6.32-34-pve_1.42-2_amd64.deb'.
make[2]: Leaving directory `/usr/src/modules/xtables-addons'
make[1]: Leaving directory `/usr/src/modules/xtables-addons'
/usr/bin/make  -f debian/rules kdist_clean
make[1]: Entering directory `/usr/src/modules/xtables-addons'
/usr/bin/make -C /usr/src/linux-headers-2.6.32-34-pve M=/usr/src/modules/xtables-addons XA_ABSTOPSRCDIR=/usr/src/modules/xtables-addons XA_TOPSRCDIR=/usr/src/modules/xtables-addons DEPMOD=/bin/true clean
expr: syntax error
make[2]: Entering directory `/usr/src/linux-headers-2.6.32-34-pve'
  CLEAN   /usr/src/modules/xtables-addons/.tmp_versions
  CLEAN   /usr/src/modules/xtables-addons/Module.symvers /usr/src/modules/xtables-addons/modules.order
make[2]: Leaving directory `/usr/src/linux-headers-2.6.32-34-pve'
dh_auto_clean
dh_prep
dh_clean
make[1]: Leaving directory `/usr/src/modules/xtables-addons'
dpkg -Ei /usr/src/xtables-addons-modules-2.6.32-34-pve_1.42-2_amd64.deb
Selecting previously unselected package xtables-addons-modules-2.6.32-34-pve.
(Reading database ... 80901 files and directories currently installed.)
Unpacking xtables-addons-modules-2.6.32-34-pve (from .../xtables-addons-modules-2.6.32-34-pve_1.42-2_amd64.deb) ...
Setting up xtables-addons-modules-2.6.32-34-pve (1.42-2) ...
#

Başarılı bir şekilde kurduysanız, artık iptables i kullanmaya hazırsınız demektir.

Çin 'den gelen bütün paketleri engellemek için:


Kod:
#iptables -D INPUT -m geoip --src-cc CN -j DROP

Çin ve rusya dan gelen ssh isteklerini engellemek isterseniz:


Kod:
#iptables -A INPUT -p tcp --dport 22 -m geoip --src-cc CN,RU -j DROP

Sisteminize sadece Türkiye 'den ssh erişimi olsun ve diger butun ulkelerden engellemek icin:

Kod:
#iptables -A INPUT -p tcp --dport 22 -m geoip --src-cc TR -j ACCEPT
#iptables -A INPUT -p tcp --dport 22 -j DROP
"--src-cc" veya "--dst-cc" den önce "!" ünlem işareti koyarak kuralınızı "değilse" anlamına çevirebilirsiniz.

Örneğin:


Kod:
#iptables -I INPUT -m geoip ! --src-cc TR -j DROP

Türkiye'den gelmeyen bütün paketleri blokla - drop et.

Kod:
#iptables -I INPUT -p tcp --dport 22 -m geoip ! --src-cc TR -j DROP

SSH (22) portuna gelen ve Türkiye'den gelmeyen bütün paketleri blokla - drop et.


Hostunuz uzerindeki "tüm" sanal makinelerinize Çin den hiçbirşekilde ulaşılmasını istemiyorsanız.

 
Kod:
#iptables -I FORWARD -m geoip  --src-cc CN -j DROP


Bu kuralı silmek için de; "-D" opsiyonunu kullanarak yapabilirsiniz.

Kod:
 #iptables -D FORWARD -m geoip  --src-cc CN -j DROP

port belirtmek için yukarıdaki örneklerdeki gibi "--dport" u da ekleyebilirsiniz.

sadece bir sanal makinenize  Çinden hicbir portuna ulaşılmasını istemiyorsanız "-d" ile hedef sanal makinenizin ip adresini (x.x.x.x) belirterek yapabilirsiniz.


Kod:
#iptables -I FORWARD -m geoip --src-cc CN -d x.x.x.x -j DROP
Turkiye ve Almanya haricinde, hicbir ulkeden ssh ile sanal sunucularinizin hicbirine erisim yapilmasini istemiyorsaniz:


Kod:
#iptables -I FORWARD -p tcp --dport 22 -m geoip ! --src-cc TR,DE -j DROP