Pokaż wyniki 1 do 4 z 4

Temat: NAT hole punching

  1. #1
    Zarejestrowany
    May 2008
    Postów
    534

    Domyślnie NAT hole punching

    ostatnio troche czytalem o komunikacji udp<>udp poprzez nat.

    Zastanawia mnie jak to moze dzialac? Czy router zapamietuje ip i port wychodzacego pakietu, i forwarduje pakiety adresowane od celu na ten port?

    W tcp sprawa jest raczej prosta, pakiety syn. Ale udp? Czy taka 'pamiec' nie moze zaDoSowac calego routera? No i czy to jest wogule mozliwe.

    A czy idzie taki numer zrobic na wyzszej warstwie typu ip?

  2. #2
    Zarejestrowany
    Jun 2006
    Skąd
    rand(.eu)
    Postów
    8,748

    Domyślnie

    Cytat Napisał rip Zobacz post
    Zastanawia mnie jak to moze dzialac? Czy router zapamietuje ip i port wychodzacego pakietu, i forwarduje pakiety adresowane od celu na ten port?
    Generalnie o ile pamietam to UDP wymaga specjalnych modulow pomocniczych aby robic NAT. W przypadku TCP wiemy ze cos wroci po wyslaniu SYN... niech bedzie to RST, niech bedzie to ACK, cokolwiek (no chyba ze nie wroci to wtedy timeout jakis) ale w UDP takiej gwarancji nie ma. Modul pomocniczy ma za zadanie rozumiec dany protokol ktory gada po UDP i przetlumaczyc co trzeba i kiedy trzeba na strukture zrozumiala dla ip_conntrack - vide ip_masq_quake (jesli dobrze pamietam nazwe) lub modul pomocniczy do H.323.

    Cytat Napisał rip Zobacz post
    Czy taka 'pamiec' nie moze zaDoSowac calego routera? No i czy to jest wogule mozliwe.
    Mozna To jest tak czy inaczej jakas forma sledzienia polaczen - za to odpowiada modul ip_conntrack. Bez conntrack'a firewall na linuxie bedzie stateless co ma wady i zalety oczywiscie. Wada jest taka, ze nie wiemy jaki jest stan polaczenia i nie mozemy przypisac pakietu do istniejacego juz polaczenia, wiec nie mozemy powiedziec POLICY DROP na wejsciu i wpuscic --state related,established bo stan nie istnieje. Zaleta jest taka, ze jest nieco szybciej bez conntrack'a i nie tak latwo DoS'owac system.

    $ cat /proc/sys/net/ipv4/ip_conntrack_max
    Tutaj ustawiasz ile polaczen jednoczesnie moze sledzic conntrack - normalnie jest 32k ale mozna podniesc... problem w tym ze jak dasz za malo to system przestanie otwierac nowe polaczenia i NAT przestanie dzialac, jak dasz za duzo to zajedziesz maszyne bo bedzie tak strasznie obciazac procka ze nie bedziesz w stanie sie zalogowac nawet lokalnie (w skrajnym przypadku). Tak czy inaczej dochodzimy powoli do granic gdzie efektem bedzie DoS.

    Cytat Napisał rip Zobacz post
    A czy idzie taki numer zrobic na wyzszej warstwie typu ip?
    Co przez to rozumiesz?
    ctrl-alt-del.cc - soft reset site for IT admins and other staff :-)

  3. #3
    Zarejestrowany
    May 2008
    Postów
    534

    Domyślnie

    hmm a jak to wyglada w dzisiejszych routerach?
    Nie mam dostepu do jakiejkolwiek sieci, a zdobywac takowego mi sie nie chce... Wole sie zapytac kogos madrzejszego

    Czy jak postawie sobie prosty server ktory bedzie odpowiadal na kazdy pakiet UDP (na port i ip taki, z ktorego pakiet przyszedl) to mam gwarancje ze odbiorca za natem go dostanie?

    Co przez to rozumiesz?
    socket(AF_INET, SOCK_RAW, IPPROTO_IP)

    i za nat z takim pakietem

  4. #4
    Zarejestrowany
    Jun 2006
    Skąd
    rand(.eu)
    Postów
    8,748

    Domyślnie

    Cytat Napisał rip Zobacz post
    Czy jak postawie sobie prosty server ktory bedzie odpowiadal na kazdy pakiet UDP (na port i ip taki, z ktorego pakiet przyszedl) to mam gwarancje ze odbiorca za natem go dostanie?
    UDP nie daje zadnych gwarancji w jakimkolwiek zakresie. Teoretycznie powinien dotrzec ale wcale nie musi... co do wyzszych warstw IP - moim zdaniem powinno dzialac. Jesli chodzi Ci o tunele GRE, IPSec itd to wcale nie musza dzialac, poniewaz NAT zmienia parametry naglowka i w IPSec samo przerobienie naglowka juz powoduje ze naglowek AH sie nie waliduje poprawnie wiec caly pakiet jest odrzucany. Dzisiaj nawet trafilem gdzies prezentacje microsoftu na ten temat gdzie fajnie to opisano - http://www.sql.ru/photos/Tech-Ed03/PPTall/SEC406.ppt

    Jesli wiec protokol leci zgodnie z zasadami adresowania IP i protokol sam w sobie nie koliduje (z definicji) z operacjami jakie robi NAT to powinno chodzi... ale oczywiscie ile protokolow tyle pytan
    ctrl-alt-del.cc - soft reset site for IT admins and other staff :-)

Podobne wątki

  1. Jak schować NAT..?
    By intro20 in forum TCP/IP/Analiza/Badanie
    Odpowiedzi: 4
    Autor: 10-31-2008, 22:20
  2. port zrodlowy a NAT
    By gogulas in forum Newbie - dla początkujących!
    Odpowiedzi: 4
    Autor: 04-10-2008, 02:26
  3. Winroute Pro-HELP! NAT!
    By lobo in forum TCP/IP/Analiza/Badanie
    Odpowiedzi: 10
    Autor: 02-12-2008, 10:50
  4. iptables + nat +dmz
    By markossx in forum Security
    Odpowiedzi: 6
    Autor: 02-16-2007, 11:34

Zasady Postowania

  • Nie możesz zakładać nowych tematów
  • Nie możesz pisać wiadomości
  • Nie możesz dodawać załączników
  • Nie możesz edytować swoich postów
  •  
Subskrybuj