Ubuntu 22 üzerinde belirli bir IP adresine yalnızca Türkiye’den erişim sağlamak ve yurtdışı erişimini engellemek için aşağıdaki adımları izleyebilirsin:
Öncelikle GeoIP tabanlı IP filtrelemesi yapabilmek için gerekli xtables-addons paketini yükle:
sudo apt update
sudo apt install xtables-addons-common
Ülkelere göre IP aralıklarını kullanabilmek için GeoIP veritabanını indir ve sistemde oluştur:
sudo mkdir -p /usr/share/xt_geoip
sudo /usr/lib/xtables-addons/xt_geoip_dl
sudo /usr/lib/xtables-addons/xt_geoip_build -D /usr/share/xt_geoip
UFW (Uncomplicated Firewall), GeoIP desteği sunmadığı için doğrudan iptables kullanmak gerekir. Öncelikle UFW’yi devre dışı bırak:
sudo ufw disable
Sadece Türkiye’den gelen trafiğe izin vermek için şu kuralı ekle:
sudo iptables -I INPUT -m geoip --src-cc TR -j ACCEPT
Tüm diğer ülke IP’lerini engellemek için ise:
sudo iptables -I INPUT -m geoip --src-cc ! TR -j DROP
Yapılandırdığın kuralların sistem yeniden başlatıldığında da geçerli kalması için iptables-persistent aracını kullan:
sudo apt install iptables-persistent
sudo netfilter-persistent save
Engellemenin doğru çalıştığından emin olmak için Türkiye dışındaki bir VPN üzerinden erişimi test et. Erişim engellenmişse yapılandırma başarılı demektir.
GeoIP verileri zamanla güncellendiği için, haftalık olarak otomatik yenilenmesini sağlayabilirsin.
Bir bash betiği hazırlayarak veritabanının otomatik güncellenmesini sağla:
sudo nano /usr/local/bin/update_geoip.sh
Aşağıdaki komutları dosyaya ekle:
#!/bin/bash
/usr/lib/xtables-addons/xt_geoip_dl
/usr/lib/xtables-addons/xt_geoip_build -D /usr/share/xt_geoip
sudo chmod +x /usr/local/bin/update_geoip.sh
Her pazartesi sabah 03:00’te veritabanının otomatik güncellenmesi için bir cron işi ekle:
sudo crontab -e
Dosyanın sonuna şu satırı ekle:
0 3 * * 1 /usr/local/bin/update_geoip.sh
sudo service cron restart
Betiği manuel olarak çalıştırarak test et:
sudo /usr/local/bin/update_geoip.sh
Bu yapılandırma, yalnızca Türkiye IP’lerinden erişime izin verirken yurtdışı bağlantılarını tamamen engeller. Aynı zamanda, sistemin güncel IP veritabanını düzenli olarak korumasını sağlar — güvenlik ve erişim kontrolünü uzun vadede daha istikrarlı hale getirir.