From: Evren YILMAZ (eyilmaz@bluebottle.com)
Date: Thu 23 Sep 2004 - 16:51:09 EEST
Serdar bey Enver bey elinize yüreğinize sağlık...
Ancak Serdar beyin Google konusunda "Oyledir, bilirim.." cumlesini olumlu
karşılayamadığımı belirtmek isterim. Her insanınn aynı olmadığı
kanısındayım. Keşke bilgim yeterli olsa bende sorulan sorulara sizin gibi
cevap verebilsem...Büyük bir denizin kıyısındayım henüz. Ama açıldıkça
sizler gibi paylaşmak benimde amacım...Bu satırlarım kırgınlıkmıdır sitemmi
bilmiyorum ama cevabınız için teşekkürü bir borç bilir sevgi ve selamlarımı
sunarım...
Saygılarımla....
----- Original Message -----
From: "Serdar KOYLU" <serdar@uludag.org.tr>
To: <linux-network@liste.linux.org.tr>
Sent: Thursday, September 23, 2004 4:35 PM
Subject: [linux-network] Re: iptables????
> Selamlar..
>
> > Evet uzun bir google turunun ardından mail yazmaya karar verdim.
> > Arkadaşlar iptables la geçinemiyoruz. Ya ben onu anlamadım yada o
> > beni anlamamakta ısrar ediyor..
> >
>
> Oyledir, bilirim..
>
>
> > iki Ethernet kartı takılı redhattan adsl modeme ulaşmak
> > istiyorum
> >
> > modem ip 192.168.0.1
> >
> >
> >
> > modeme gidecek ethernet
> >
> > eth1 192.168.0.2
> >
> > mask 255.255.255.0
> >
> > gw 192.168.0.1
> >
>
> Demekki sizin internet cikisiniz eth1.
>
> >
> > eth0 10.0.0.1
> >
> > mask 255.255.255.0
> > iptables -F
> Gecelim..
>
> > iptables -F INPUT
> > iptables -F OUTPUT
> > iptables -F FORWARD
> > iptables -F -t mangle
> > iptables -X
> > iptables -F -t nat
>
> Bunlari da gecelim..
>
> > iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to 192.168.0.2
>
> Burada diyorsunuz ki, eth0'dan cikip giden paketlerin geldigi adresi
> 192.168.0.2 olarak degistir. IPTABLES bunu guzelce yapar.
>
> Sonra ne olur ? Disardan gelen her paket (Yani internetten gelen her
> paket) 192.168.0.2 adresinden geliyormus gibi gorunur. Hickimsede bu
> adresten gelen bir paket beklemedigine gore, bu paketler hic bir ise
> yaramaz.
>
> > iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -o eth0 -j MASQUERADE
> >
>
> Burada da, 10.0.0.0/24'ten gelen, eth0'dan cikan (yerel aga giden)
> paketlerin kaynak adreslerini ciktigi interface'in adresi ile degistir
> diyorsunuz. Bu da ayni yukaridaki gibi bir anlam tasiyor.
>
>
> > şimdi şu nat ve yönlendirme olayı niye çalışmıyor?
> > Linuxda yeni olmamın etkisi büyük tabi ama mantıkta (ki kafam
> > çorba gibi oldu) çalışması gerekiyor ama bir türlü
> > 192.168.0.1'i pingleyemedim...Lütfen yardım....
> >
>
> Simdi, oncelikle, su nat mevzusu neden yapiliyor bunu bir anlayalim.
> SNAT ve MASQUERADE olayinda, yerel agdan gelen paketlerin geldigi yeri
> gosteren kaynak adresleri degistirilerek aliciya yollaniyor. Buradaki
> gayemiz, alicinin bizi bulabilmesi, yani, onun yolladigi paketleri bize
> geri dondurebilmesi. Cunku, 10.*, 192.168.* gibi adresler private
> adreslerdir, internet uzerinde yer alamazlar. Sizin ozelinizde, siz 10.*
> adresinden gelen paketleri ADSL router'a yonlendirmek istiyorsunuz. O
> router 10.* adreslerine erismek icin paketleri size (Linux box)
> yollayacagini bilmiyor. Bu yuzden, ADSL'e yollamadan once, paketlerin
> kaynak adreslerini alip kendi ethernetinizin adresi ile
> degistiriyorsunuz. Bu durumda, ADSL modem gelen cevaplari alip her
> halukarda size yollayacak, sizde "haaaa bu paketi 10.x.x.x istemisti"
> diyerek paketlerin hedef adreslerini duzeltip makineye vereceksiniz.
>
> Demekki bizim masquerading veya snat isin yaparken, geri donus yolunu
> bilmeyen alete (burada ADSL) yolladigimiz paketlere uygulama yapmamiz
> lazim. Bu alette ADSL ve ona bagli olan interface eth1. Simdi soyle
> diyebiliriz:
>
> iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
>
> Bu, eth1'den cikan paketler (ki bunlar ADSL modeme gidecek, baska yolu
> yok, yoksa varmi ? Az Sonra !) icin geri donus adresi ciktigi arabirimin
> adresi olsun demek.
>
> Soyle bir senaryo dusunelim, ADSL modemin oldugu yerde, 3-5 tane makine
> de olsun. Bu durumda ne olur ? Bir sey olmaz kuralimiz gene calisir. Ama
> gereksiz yuk olusturur. Biz sunu diyebiliriz:
>
> iptables -t nat -A POSTROUTING -o eth1 -d ! 192.168.0.0/24 -j MASQUERADE
>
> Bu, eth1'den cikip, eth1'in bagli oldugu networka degilde baska
> taraflara giden paketleri (istikamet: internet) MASQ. et demek olur.
>
> size ustteki ilk kural yeterli olur. Fakat, ADSL modemin routing
> tablosuna, 10.* icin paketleri 192.168.0.2'ye yolla demeniz de yeterli
> olur, cunku ADSL modem, 192.168.0.2'den gelenler icin kendi zaten bir
> NAT islevi uyguluyor.
>
> Diger yandan Linux IP Stack, varsayilan durumda kendine gelen ama hedefi
> baska bir makine olan paketleri, asil hedeflerine yollamaz. Cope atar,
> gozunun yasina bakmadan. Bu yuzden, Linux'a "ROUTER" olarak calismasini
> soylemelisiniz. Bunun teknik karsiligi, "IP FORWARDING" seklindedir.
> Gerceklemek icin
>
> echo 1 >/proc/sys/net/ipv4/ip_forward
>
> gibi bir komut kullanmalisiniz..
>
> Saygi ve sevgiler..
>
>
>