[linux-network] Re: iptables????

---------

New Message Reply About this list Date view Thread view Subject view Author view Attachment view

From: Serdar KOYLU (serdar@uludag.org.tr)
Date: Thu 23 Sep 2004 - 16:35:30 EEST


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..


New Message Reply About this list Date view Thread view Subject view Author view Attachment view

---------

Bu arsiv hypermail 2.1.2 tarafindan uretilmistir.