Firewall cihazlarında bir paketi iki farklı şekilde kabul etmeyebilirsiniz. Bunlardan biri Reject etmek bir diğer ise Drop (Deny) etmek.
Bir paketi Reject yaptığınızda kabul etmeme sebebini gönderici tarafa ICMP ile bildirirsiniz. Drop ederseniz, gönderici tarafa bildirmeden paketi düşürmüş olursunuz. Aşağıdaki diyagram bu küçük farkı çok güzel açıklar.
Drop etmenin Reject’e göre bir kaç faydasını şöyle sayabiliriz.
Reject etmenin faydası ise hata mesajı gönderildiğinden dolayı ağ bazlı yaşanacak bir problemin çözümünde fayda sağlar.
Bunlardan yola çıkarak iç ağınız için reject kullanmak, internetten gelen paketler için ise drop kullanmak mantıklı olabilir.
Örnek uygulama
Yukarıdaki gibi NAT ‘lanmış bir sanal makinemiz olduğunu düşünürsek; 192.168.47.1 fiziksel makinemizden 192.168.47.130 sanal makinesine telnet ile erişmek isteyelim.
Aşağıdaki gibi bir DROP kuralı girildiğini düşünelim.
iptables -I INPUT -s 192.168.47.1 -j DROP
Bu durumda Wireshark çıktısı:
Çıktı da görüldüğü üzere sanal makinemiz herhangi bir cevap dönmüyor. Fiziksel makine de isteği tekrarlıyor ve timeout’a düştüğünde telnet sonlanıyor.
Aşağıdaki gibi REJECT kuralı girilirse:
iptables -I INPUT -s 192.168.47.1 -j REJECT
Bu durumda Wireshark çıktısı:
Bir önceki durumdan farklı olarak isteği yapana cevap olarak ICMP olarak dönülmektedir.