[linux-network] Re: Yonlendirme

---------

From: Baris Metin (baris@metin.org)
Date: Fri 18 Apr 2003 - 17:03:36 EEST

  • Next message: Devrim GUNDUZ: "[linux-network] Re: telnet problemi"

    Thu, Apr 17, 2003 at 07:22:17PM +0300 , Gürkan KARABATAK :
    > Selam
    > Iptables ta gelmeyecek diye birsey olamaz tabii ki gelecek. Ancak =
    > datapipe turu olaylarda paket tamamen aradaki bilgisayardan dogal =
    > olarakta tum veri bir porttan cikip diger makineya ulasacaktir. Iptables =
    > ise sadece paketin hedef adresinin icerigi degistirip yonlendirecektir. =
    > Paket uzerinde baksa hicbir degisiklik olmayacaktir. Ancak datapipe =
    Aslinda yalnizca hedef adresi degistirilmez. Genel olarak header
    degistiriliyor demek daha dogru.

    > islemi cok farkli tum veri alinacak data elde edilecek sonra tekrar =

    Iptables ile de tum paket (data, veri, vs. ne derseniz artik) alinacak.
    Bildigim kadari ile yalnizca paketin header'ini gondermek mumkun degil
    tcp'de.

    "Eee, fark ne o zaman?" derseniz. Netfilter (isterseniz iptables
    demeyelim daha dogru bir sekilde netfilter diyelim artik) ile yalnizca
    istek paketleri header bilgileri duzenlenerek yonlendirilecek. Datapipe
    ise tum trafigi yonlendirecek. Ikinci olarak user level/kernel level'i
    gosterebiliriz belki...

    > kaynak hedef adresler paket halinde hedef makinaya direk kendinden =
    > cikiyormus gibi gonderilecektir. Bir nevi Proxy mantigi. Ama iptables =

    Burasi dogru, bir proxy gibi dusunebilirsiniz. Datapipe kaynak koduna
    bakarsaniz (iki satir bir kod var zaten :) -
    http://www.bovine.net/~jlawson/coding/datapipe/datapipe.c ) acikca
    gozukuyor.

            /* .... */
            if ((nbyt = recv(clients[i].csock, buf, sizeof(buf), 0)) <= 0 ||
              send(clients[i].osock, buf, nbyt, 0) <= 0) closeneeded = 1;
            /* .... */
            if ((nbyt = recv(clients[i].osock, buf, sizeof(buf), 0)) <= 0 ||
              send(clients[i].csock, buf, nbyt, 0) <= 0) closeneeded = 1;
            /* .... */

    Istemci paketleri okunarak yonlendirilecek makinaya gonderiliyor. Cevap
    paketleri de benzer sekilde istemciye yonlendiriliyor.

    > sadece paketin yonunu degistirecektir.

    Istek paketlerinin, dogru. Ama bu paketin yonlendirme yapan sunucuya
    ulasmadigi anlamina gelmez. Yalniz bu en etkin yontem de degildir.

    > Ayrica irc server uzerinden eger web server olmayacaksa iptablesla web =
    > isteklerinin diger makinaya yonlendirilmesi web uzerinden redirect =
    > yapilmasindan cok daha uygun. Cunku iptables da paket sadece 3. =
    > katmanina kadar islenip adres degistirilip yollanacak. Ama redirect =
    > olayinda paket tamamen 7 katmanda islenip ayrica web serverda yorumlanip =
    > haa redirectmis bu diyip diger tarafa gonderilecek. Sadece ayni site =

    ...[snip]...

    Ben http redirect'den bahsetmedim ki. Dikkatli okursaniz goreceksiniz ki
    ilk istekte baska bir adrese yonlendirme iceren bir sayfa
    gonderilmesinden bahsettim. Bunu da nasil isterseniz yaparsiniz :

    <?
    header("Location:http://www.yahoo.com");
    ?>

    bir ornek ...

    Daha sonra istemci zaten yonlendirildigi sayfaya/sunucuya istek
    yapacaktir. Benim sunucum (irc sunucu sanirim bu ornekte) da gelen giden
    paketleri yonlendirmek ile ugrasmayacaktir.

    iyi calismalar,

    -- 
    Baris Metin
    -- Attached file included as plaintext by Ecartis --
    -----BEGIN PGP SIGNATURE-----
    Version: GnuPG v1.2.1 (GNU/Linux)
    Comment: http://metin.org
    iD8DBQE+oAW4/NpXVJSThIIRAkY7AKCYOKJbm4D96L6mPTpNEAZZ+nb1VgCfSWtb
    eu5o93b2rWe962QELutB48U=
    =SsrR
    -----END PGP SIGNATURE-----
    

  • Next message: Devrim GUNDUZ: "[linux-network] Re: telnet problemi"

    ---------

    Bu arsiv hypermail 2.1.6 tarafindan uretilmistir.