İptables ile Ağ Trafiğini Yönetme

İptables ile Ağ Trafiğini Yönetme

Gelen Paketler: INPUT
Giden Paketler: OUTPUT

Komutlar:

  • DROP: (kesmek)
  • ACCEPT: (izin vermek)
  • REJECT: (geri bildirim yapmak)
  • LOG: (loglamak)

Gelen Tüm Portları Kapatmak:

iptables -A INPUT -j DROP

Tüm Kuralları Silmek:

iptables -F

Tüm Kuralları Listelemek:

iptables -L

Belirli Bir IP’ye Gelen Tüm Portları Yasaklamak:

iptables -A INPUT -j DROP -s 192.168.250.250

Belirli Bir IP’ye Gelen Spesifik Bir Portu Yasaklamak:

iptables -A INPUT -j DROP -s 192.168.1.10 -p tcp --dport 21

Belirli Bir IP İçin Dışarı Gidişte Bir Portu Yasaklamak:

iptables -A OUTPUT -j DROP -d 192.168.1.20 -p tcp --sport 80

TCP 80 Portunu İçerden Dışarı Çıkışı Yasaklamak:

iptables -A OUTPUT -j DROP -p tcp --dport 80

Dışardan 80 Port İsteklerini Bloklamak:

iptables -A INPUT -j DROP -p tcp --sport 80

Tüm Portları Yasaklama (Giriş-Çıkış):

iptables -P INPUT DROP
iptables -P OUTPUT DROP

80 Portundan Gelişe İzin Veren Kural:

iptables -A INPUT -j ACCEPT -p udp --dport 53

80 Portundan Gidişe İzin Veren Kural:

iptables -A INPUT -j ACCEPT -p tcp --sport 80

80 Portunun Çıkışını Sağlamak:

iptables -A OUTPUT -j ACCEPT -p tcp --dport 80
iptables -A INPUT -j ACCEPT -p tcp --sport 80

Kuralları Numaralı Şekilde Listelemek:

iptables -L --line-numbers

Bir Kuralı Silmek:

iptables -D INPUT 1
iptables -D OUTPUT 3

Kuralların Trafik Durumunu Görmek:

iptables -L -v

Kuralların Sırasını Değiştirmek:

iptables -I INPUT 1 -j ACCEPT -s 192.168.250.200 -p tcp --dport 21

Birden Fazla Port Eklemek:

iptables -A INPUT -j ACCEPT -m multiport -p tcp --sport 80,81,82

İnternete İzin Verme Kuralı:

iptables -A OUTPUT -j ACCEPT -p tcp --dport 80
iptables -A OUTPUT -j ACCEPT -p udp --dport 53
iptables -A INPUT -j ACCEPT -p udp --sport 53
iptables -A INPUT -j ACCEPT -p tcp --sport 80

NAT İşlemleri:

  • PREROUTING: (içeri geliş)
  • POSTROUTING: (dışarı çıkış)
  • FORWARD: (yönlendirme, filtreleme)

Forward İşlemi Etkinleştirme:
/etc/sysctl.conf dosyasında:

net.ipv4.ip_forward = 1

Networkü Yeniden Başlatma:

service network restart

NAT Filter Politikalarını Görmek:

iptables -t nat -L

Birebir NAT Yazma:

iptables -t nat -A PREROUTING -j DNAT -d 192.168.250.200 --to 10.1.1.5
iptables -t nat -A POSTROUTING -j SNAT -s 10.1.1.5 --to-source 192.168.250.200

80 Portunu Yönlendirmek:

iptables -t nat -A PREROUTING -j DNAT -d 192.168.250.202 -p tcp --dport 80 --to 10.1.1.2:80
iptables -t nat -A PREROUTING -j SNAT -s 10.1.1.2 -p tcp --sport 80 --to-source 192.168.250.202

Bağlantıya Kontrollü Olarak İzin Verme:

iptables -A INPUT -j ACCEPT -m state --state NEW -p tcp --dport 80
iptables -A OUTPUT -j ACCEPT -m state --state ESTABLISHED -p tcp --sport 80
iptables -A INPUT -j ACCEPT -m state --state NEW,ESTABLISHED -p tcp --dport 80

Kontrollü Erişim Sağlama:

iptables -A INPUT -j ACCEPT -m state --state NEW,ESTABLISHED -p tcp --dport 80
iptables -A INPUT -j ACCEPT -m state --state NEW,ESTABLISHED -p tcp --dport 443
iptables -A INPUT -j ACCEPT -m state --state NEW,ESTABLISHED -p tcp --dport 21
iptables -A INPUT -j ACCEPT -m state --state NEW,ESTABLISHED -p tcp --dport 25
iptables -A OUTPUT -j ACCEPT -m state --state ESTABLISHED

Pasif FTP için:

iptables -A INPUT -j ACCEPT -p tcp --dport 21 -m state --state NEW
iptables -A OUTPUT -j ACCEPT -p tcp --sport 21 -m state --state ESTABLISHED
iptables -A INPUT -j ACCEPT -p tcp --dport 1024:65535 -m state --state ESTABLISHED,RELATED
iptables -A OUTPUT -j ACCEPT -p tcp --sport 1024:65535 -m state --state ESTABLISHED,RELATED
iptables -A INPUT -j ACCEPT -p tcp --dport 21 -m state --state NEW,ESTABLISHED

Belirli Bir Arayüze Kural Yazmak:

iptables -A INPUT -j DROP -i eth1 -p icmp
iptables -A OUTPUT -j DROP -o eth0 -p icmp

İnternete Çıkmak için (eth0’ı maskelemek):

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

İleri Yönlendirme Kuralları:

iptables -A FORWARD -j ACCEPT -p tcp --dport 80
iptables -A FORWARD -j ACCEPT -p tcp --sport 80
iptables -A FORWARD -j ACCEPT -p udp --sport 53
iptables -A FORWARD -j ACCEPT -p udp --dport 53

Mac Adresi Bazlı Yasak Kuralı Girmek:

iptables -A INPUT -j DROP -m mac --mac-source 00:99:88:99:88:77

Birden Fazla Portu Yasaklama:

iptables -A INPUT -j DROP -m multiport -p tcp --dport 80,443,25,110
iptables -A OUTPUT -j DROP -m multiport -p tcp --sport 80,443,25,110

Belirli Bir Subnetten Gelen İstekleri Reddetmek:

iptables -A INPUT -j REJECT --reject-with tcp-reset -s 192.168.250.0/24 -p tcp --dport 80

ICMP İsteklerini Reddetmek:

iptables -A INPUT -j REJECT --reject-with icmp-host-unreachable

Geçersiz Paketleri DROP Etmek:

iptables -I INPUT 1 -j DROP -m state --state INVALID

Gelen Tüm İstekleri Loglamak:

iptables -I INPUT 1 -j LOG

Yalnızca Web İsteklerini Loglamak:

iptables -A INPUT -j LOG -p tcp --dport 80 --log-prefix "web server"

Syslog İçerisine İptables Loglarını Yönlendirmek:

kern.warn /var/log/firewall.log

Kuralları Kalıcı Olarak Kaydetmek:

iptables-save > /etc/sysconfig/iptables

Bu komutlar ile iptables kullanarak ağ trafiğinizi yönetebilir, belirli kurallar ekleyebilir ve gerektiğinde log tutabilirsiniz. Herhangi bir sorunuz olursa, yorumlarda paylaşabilirsiniz!

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir