[Linux] Re: Iptables'da Dinamik NAT

---------

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

From: Serdar Koylu (serdarkoylu@fisek.com.tr)
Date: Thu 01 Aug 2002 - 13:22:39 EEST


Selamlar..

01 Aug 2002 13:38 EEST tarihinde yazmışsınız:

> Merhaba,
> Dinamik NAT olarak kastettiğim çoktan çoka şeklinde özetlediğiniz olay idi. Ve bu işi yapan yazılım var.
> Örneğin 2 yıl kadar önce Lucent'in bir firewall yazılımını kullanmıştım ve yaptığı şey belli bir IP aralığını(10.0.0.0/255.255.255.0 örneğin)
> başka bir IP aralığına(193.140.0.0(255.255.255.128 örneğin) çeviriyordu. Ama önemli bir hız sorunumuz olduğu için bu çözümden vazgeçmiştik. O dönem bu şekilde çalışacak bir çözümün Linux'ta olup olmadığını araştırdığımda Dinamik NAT işleminin Linux'ta sadece birebir olarak IP sayıları eşit olduğunda mümkün olduğunu gördüm(okuduklarımdan öyle anladım diyelim).

Boyle bir kisitlama yok. Oncelikle Dinamik NAT nedir bu konuda anlasamiyoruz. Siz x.x.x.0 - x.x.x.100 araliginin internete cikarken (?) a.b.c.1 adreisyle cikmasini istiyorsunuz saniyorum. Bu mumkun elbette ama ne faydasi olur ki ? Bunun yerine bunlarin hepsini tek bir IP adresiyle cikarmak daha mantikli olacaktir. Tam olarak hangi sorunu cozmek istediginiz onemli.

> Bu arada kavramlar konusunda bir sorun yok, Serdar kardeşimin bahsettiklerini gayet iyi biliyorum, Dinamik NAT diye kastedilenin internetteki dokümanlardan anlayabildiğim kadarıyla bu olduğunu düşünüyorum.

Dinamik, canli, degisen, hareket eden vs. gibi bir anlam tasir. Dinamik NAT, yeni adresin otomatik olarak belirlenmesidir. Bir adres hemen her zaman iki bilesenden olusur. Cisco dokumanlarinda belirtilen Dinamik NAT gibi bir olaydan daha iyisi MASQUERADING islevidir.

> Bu arada, az önce netfilter'ın sitesine tekrar baktım, > 2. iptables satırından anlayabildiğim kadarıyla SNAT ile kabaca bu iş oluyor gibi görünüyor. Ama bunu henüz denemediğim için kesin bişey söylemeyeceğim.

SNAT ile sadece IP adresini saklarsiniz. Bu sekilde iki makineyi tek bir IP ile internette dolastiramazsiniz. Bu isin mantikli ve makul yolu masquerading islevidir. Bu da bir tur SNAT'tir ama burada tarif edilen SNAT'tan daha iyi netice verir. Neden ?

a.b.c.d:xx adresinden w.x.y.z:kk adresine giden paketi SNAT yaptiginizda e.f.g.h:xx -> w.x.y.z:kk adreslerine sahip bir paketiniz olur. Paketin cevabi w.x.y.z:kk adresinden, e.f.g.h:xx olarak geri doner. Eger iki makine (a.b.c.d ve a.b.c.e) ayni xx portundan ayni w.x.y.z:kk portuna paket yollarsa, gelen paketlerin hangisinin cevabi oldugunu anlamak guclesir. Masquerading, bunlari a.b.c.d:aa, a.b.c.e:ab gibi hem adres hemde port olarak yeniden map eder. Bu sayede geri donen paketin orijinal IP ve Port bilgileri kolayca geri alinir. MASQUERADING Connection Tracking ve SNAT modullerinden cok daha hizli calisir.

> Sanırım şöyle bir komutun çalışacağını düşünmek yanlış olmaz.
>
> iptables -t nat -A POSTROUTING -p tcp --source 10.0.0.0/255.255.255.0 -o eth1 -j SNAT --to 193.140.0.0-193.140.0.20
>
> Buna benzer bir satır ile Dinamik NAT yapılması mümkün gibi görünüyor.
> Aradığım yanıtları buldum sanırım ilgilenen arkadaşlara teşekkür ederim

Tam olarak istenenin ne oldugunu, soylerseniz size en verimli yolu gosterebiliriz. Ornegin siz yerel agdaki 10.0.0.0/8 adreslerine sahip aletlerin internetteki serverlere ulasmasini istiyorsaniz size bir tek IP adresi yeterli. Bunu 8 IP adresine dagitmaya calismanin hic bir faydasi olmayacagi gibi extra router/firewall yuku olusmasina yol acar. Ama macerayi seven birisi olabilirsiniz ve Linux Macera arayanlari cok sever. PREROUTING tablosunda paketleri isaretlersiniz. Kernel Router'den bunlarin hangi Interface'e cikacagini belirlersiniz. Internete ciktiginiz Interface'e diger IP'leri virtual Interface olarak bound edersiniz. POSTROUTING'te MASQ Ediverirsiniz bunlari is olur biter. Yukaridaki satirdan cok daha iyi calisir. Cunku SNAT Edilmis paketlerin hedeften donunce cozulmesi cok zorlasir. Hatta bazen paket yanlis kaynaga geri doner. Bu durumda paket kaybi yogunlasir. Siz bunu gecikme gibi algilarsiniz.

Yok, ben 2-3 tane serveri alip 10.0.0.0/8 bloguna koyacagim. Bunlara internetten ulasilsin diyorsaniz o zaman size DNAT lazim.

Benzer sekilde bu Private IP'leri 8 Public IP'ye dagitmayi zorunlu kilan bir sey varsa bu seyin ve network yapisinin ne oldugunu soyleyin, bizde bir cozum arayisina gidelim.

Saygi ve sevgiler..
-----------------------------------------------------------------------
Liste üyeliğiniz ile ilgili her türlü işlem için
http://liste.linux.org.tr adresindeki web arayüzünü kullanabilirsiniz.

Listeden çıkmak için: 'linux-request@linux.org.tr' adresine,
"Konu" kısmında "unsubscribe" yazan bir e-posta gönderiniz.
-----------------------------------------------------------------------


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

---------

Bu arsiv hypermail 2b29 tarafindan uretilmistir.