![]()
From: Kemal M. Ergur (kemal.ergur@gtkbilgisayar.com)
Date: Sat 14 Feb 2004 - 18:12:40 EST
On Sat, 2004-02-14 at 12:47, Aykut wrote:
> merhaba..
> iptable kurallarinin calisma sirasi nedir?
> uygunsuz bir kural gorunce diger kurallara bakmazmı?
> peki boyleyse neden baktıgım tum orneklerde ilk olarak input ve output zincirleri
> drop olarak tanimlaniyor?
>
> mesela..
> 172.16.1.0 subnetinde tüm makinalarin mail alip verebilmesi, 172.16.1.10-20 arasindaki makinalarin internete baglanmasi( sadece web ) ve 172.16.1.123
> ipsinin hic bir kisitlamasiolmaması için kuralları hangi sirada yazmaliyim..
>
> 1-) 172.16.1.0 için 25 ve 110 portlarin giriş ve cikisini kabul et
> 2-) 172.16.1.10-20 için 80 portunun giriş ve cikisini kabul et
> 3-) 172.16.1.123 için herseyi kabul et..
> 4-) hiç bir bağlantıyı kabul etme..
>
> kurallar bu şelidemi olmalıdır..böyleysede değilsede açıklamada bulunursanız sevinirim..
Yazdiklarinizdan bir kavram karmasasi icerisinde oldugunuzu anliyorum.
Sorunuzu yanitlamadan once size http://www.netfilter.org adresine
bakmanizi ve oradaki dokumanlari incelemenizi oneririm. Ya da en azindan
'man iptables'i da inceleyebilirsiniz.
iptables'da default olarak 3 farkli tablo bulunur: filter, nat ve
mangle. Bahsettiginiz INPUT, OUTPUT ve bunlara ek olarak FORWARD,
PREROUTING, POSTROUTING vs ise zincirlerdir. Sorunuzun ilk kisminda
bahsetmis oldugunuz INPUT ve OUTPUT (tablo adi verilmezse FILTER tablosu
oldugu kabul edilir) makinanin kendisine gelen ve makinanin urettigi
trafik icin denetim yapar.
Sorunuzun ikinci kismindan ise anlasilan bir subnetiniz var ve
iptables'i gateway olan makinada calistiracaginiz. Bu takdirde, bunu
gateway olarak kullanan agdaki diger makinalarin erisimini denetlemek
icin FORWARD zincirini kullanmaniz gerekir. Sizin orneginizde lokal
subnetiniz private ip kullandigi icin Source NAT (SNAT) veya
Masquerading (MASQ) de yapmaniz gerekmekte ki bunun icin de NAT
tablosunun POSTROUTING zincirine de ihtiyac duyacaksiniz.
Her bir zincire "-P" parametresi ile bir default policy
tanimlayabilirsiniz. Ornegin "iptables -P FORWARD DROP". Bunun anlami
zincirdeki hic bir kural saglanmazsa, paketleri DROP et demektir. Bir
baska deyisle bu komut sizin 4-) no.lu talebinizi yerine getirir.
1-) no.lu talebiniz icin
iptables -A FORWARD -s 172.16.1.0 -p tcp --dport 25 -j ACCEPT # mail
gonderimi
iptables -A FORWARD -s 172.16.1.0 -p tcp --dport 110 -j ACCEPT # pop3
icin
2-) no.lu talebiniz icin
iptables -A FORWARD -s 172.16.1.10 -p tcp --dport 80 -j ACCEPT
...
ve diger ip adresleri icin tanimlamalar
3-) no.lu talebiniz icin
iptables -A FORWARD -s 172.16.1.123 -p tcp -j ACCEPT
satirlarini kullanabilirsiniz. Bu satirlar sizin subnetinizden disari
cikan trafik icin. Karsi makinalardan gelen yanitlarin size ulasabilmesi
icin ise
iptables -A FORWARD -d 172.16.1.0 -p tcp -m state --state
ESTABLISHED,RELATED -j ACCEPT
satirini kullanabilirsiniz.
Yukarida yazdiklarim size sadece basit bir ornek olmasi icindi.
Muhtemelen daha fazlasina ihtiyaciniz olacaktir, bunun icin de dokuman
okumaniz gerekmekte.
Kolay gelsin,
-- Kemal M. Ergur <kemal.ergur@gtkbilgisayar.com> GTK Bilgisayar -- Attached file included as plaintext by Ecartis -- -- File: signature.asc -- Desc: This is a digitally signed message part -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.3 (GNU/Linux) iD8DBQBALqtnYkyrcSRKlx8RAnWiAJ4uYCsgEyqo+mcFPdS/M11kDiDJAACdFf5A IUDcMO73uHP9czmaaxRY5Yc= =qtXt -----END PGP SIGNATURE-----
![]()