[linux-network] Re: transparentproxy

---------

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

From: Serdar KOYLU (serdar@uludag.org.tr)
Date: Wed 05 May 2004 - 16:57:07 EEST


> Tesekkur ederim aksam deneyecegim.

> Ancak kafama takildi bu durumda clientlar pop3 maillerini cekebilirler mi?

> Malum resolv.conf icine bakip islem yapiliyor. Ayrica clientlarin DNS lerini ttnet DNS leri ile ayni bunu linux servera yonlerdimem gerektigini anliyorum degil mi?

Clientler, resolv.conf icine bakarak islem yapmaz. Daha dogrusu paylasim
yapan aletin resolv.conf'u icine bakarak islem yapmaz. Sizin proxy
serveriniz ise, squid.conf uzerinden farkli tanimlamadiginiz surece,
resolv.conf uzerinden calisir. Gene carpittim. Cok da guzel carpittim.
Aklimi seveyim :))

Linux icin olay soyle gelisir. /etc icinde nsswitch.conf diye bir dosya
vardir. Bunun icinde

hosts: files nisplus nis dns

gibi bir satir bulunur. Sisteme bir isim soruldugu zaman oncelikle bu
satira bakilir. Bu satir degisebilir, ama yukaridaki cogu sistemde
aynidir. Bu, once files db'ye (/etc/hosts dosyasi), sonra nisplus ve
nis uzerinden, daha sonra da dns uzerinden makine ismini bul anlamina
gelir. resolver, once /etc/hosts dosyasina bakar, bulamazsa bir
sonrakine, bulamazsa bir sonrakine boyle gider. Iste, resolv.conf
dosyasi, resolver olarak bilinen, BSD 4.3 uzerinde tanimli olan DNS
sorgulama kutuphanelerinin conf dosyalarindan biridir ve sadece o makine
icin gecerli ayarlari ihtiva eder.

Eger, clientlerinize host isimlerini nasil cozeceginizi farkli sekilde
soylerseniz, onlarda bu isi farkli sekilde yaparlar. Sonucta herkes bir
sekilde bu isi kendi yapmak zorundadir. Simdi siz, bir http istegi
yaparken, oncelikle adresi cozuyorsunuz, bunun icin ttnet (veya xyz..)
DNS sunucusuna soruyorsunuz. Bu sizin bantgenisliginizden gidip gelen
paket demek. Ardindan o adrese baglanti yapmak istiyorsunuz, onu da
squid yakaliyor (sagolasin iptables). Squid ise, burada yakaladigi
paketin hedefine bakmiyor, paketin icindeki Layer 7 adresi (Headerdeki
"Host: www.xyz.com" gibi olan adresi) kullaniyor. Bunu cozmek icin
tekrar kendi makinesindeki resolver'a muracaat ediyor. Bu durumda da
tekrardan baglantiniza yuk binip gereksiz paket alisverisi yapiliyor.

Eger, squid olan makineye bir DNS sunucu (Cache only) kurulur, squid
vede clientlerin bu sunucuyu kullanmasi istenirse, o zaman bu gereksiz
paket trafigi onlenir. Cunku, bir DNS sunucu kendisinden istenen
bilgileri bir sure cache eder, aklinda tutar. Boylece munhal zaman sonra
ayni adresi soran olursa bunu gidip asil DNS sunucularina sormaz,
aklinda tuttugundan cevaplar. Bu, latency'yi guzelce dusurur. Bant
genisliginizden tasarruf ettirir. Bilhassa dusuk latency, ayni hizda
olmasina ragmen daha hizli calisiyor gibi gorunmesine yol acar
networkunuzun..

Dahasi, cok kullanilan adreslerin zone dosyalari olusturulabilir. Bu
durumda sahte authoritive bir sunucuya sahip olursunuz ama performans
kazanirsiniz. Yada, mesela icq.com'un A vs. kayitlarini 127.0.0.1
yaparsiniz, kimse ICQ yapamaz hale geliverir. Elbette, clientlerin baska
DNS kullanmasini engellemeniz lazim oncelikle..

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.