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!