iptables -t INPUT -p ! tcp --sport ! 21 -s ! 192.168.1.1/255.255.255.0 -d ! 192.168.0.1/255.255.255.0 -i ! ppp0 -j DROP
Bu örnekte ilk olarak -t INPUT parametresini
kullandık bu bize kuralın INPUT yani girişler üzerinde geçerli
olacağını gösteriyor. Makinamıza bir paket geldiğinde çekirdek
INPUT zincirine bakıyor. Eğer tanımladığımız bir
kural bulursa uyguluyor yoksa devam ediyor.
Daha sonra ise -p ! tcp parametresi kullanılmış.
Bu ise uygulanacak kuralda tcp protokolü haricindeki
protokolleri kullanacağımızı belirtiyor. Burada tcp
yerine udp, icmp yada
all kullanabilirdik. all kuralın
tüm protokoller üzerinde etkili olacağını gösterir.
--sport 21 kuralda incelenecek hedef port'un 21
olmaması gerekmektedir.
-s ! 192.168.1.1/255.255.255.0 parametresi ise
kuralımızın uygulanması için kaynak adresin 192.168.1.1
haricinde olması gerektiğini gösteriyor. Yani bir paket geldiğinde
ip adresi 192.168.1.1 değilse bu kural uygulanacaktır.
Burada ip yerine direkt dns adreside kullanabiliriz.
-d ! 192.168.0.1/255.255.255.0 parametresi kuralımızın
hedef ip'sinin 192.168.0.1 hariç tüm adresler olduğunu
gösteriyor. Kural, paketimiz 192.168.0.1'e gitmiyorsa
uygulanacak. Burada da yine ip yerine dns adresini kullanabiliyoruz.
-i ! ppp0 kuralın uygulanması için paketin geldiği
arabirimin ppp0 olmaması gerektiğini gösteriyor.
Burada ppp0 yerine ppp+ da
kullanabiliyoruz bu bize ppp ile başlayan tüm
arabirimlerde kuralların uygulanmasını sağlar.
Ve son olarak -j DROP kullanmışız bu ise kuralın
uygulanması sonucunda paketin engellenmesini sağlar. Burada
kullanabileceğimiz bazı parametreler ALLOW,
REJECT'dir. Burada ALLOW
paketi kabul eder. REJECT paketi kabul etmez
fakat geri sinyal gönderir. DROP ile
REJECT arasındaki fark DROP
paketi geçirmez fakat geri sinyal göndermez, REJECT
ise --reject-with ile verilen sinyali gönderir.