Názory k článku
Přelez, přeskoč a podlez NAT
uživatel si přál zůstat v anonymitě
20. 6. 2006 0:34
Nový
hamachi
celé vlákno
hamachi mi pride jednoduchsi :] aj pre zaciatocnikov, princip fungovania zrejme rovnaky, akurat trochu viac pohodlnejsie..
ventYl (neregistrovaný)
20. 6. 2006 10:06
Nový
Re: hamachi
celé vlákno
jednak je hamachi proprietarne riesenie (aj ked je stranka plna opensource bludov) a jednak s vydanim ostrej verzie 1.0 je vysoka pravdepodobnost, ze bude hamachi spoplatnene
Harvie (neregistrovaný)
20. 6. 2006 11:27
Nový
Re: hamachi
celé vlákno
Hamachi krom toho zřejmě provozuje veškeré přenosy přes svůj server, tahle "traverza" vypadá spíše, jako P2P spojení, bez nějakého 3tího počítače, myslím, že první grafické rohraní to spraví, ale udělat malinký open source "tracker", což by bylo záslužné, může nějaká nástavba po zadání jména sítě a hesla stáhnout všechny potřebné a aktuální údaje o druhém počítači (IP NATu,...). Celé to pak může fungovat z pohledu uživatele, jako hamachi.
disorder (neregistrovaný)
20. 6. 2006 16:40
Nový
Re: hamachi
celé vlákno
hamachi som nikdy nepouzil, ale co som cital, tak traffic nejde cez server. vraj to bude zahrnute v platenej verzii (ako riesenie pre prepojenia NAT-NAT, kde sa spojenie nepodarilo).
20. 6. 2006 17:39
Nový
Re: hamachi
celé vlákno
AFAIK hamachi i zde popisovaný nat-traverse fungují podobně, obecně se této metodě říká UDP punching a používá ji třeba i Skype. Komunikace samotná probíhá přímo, je však potřeba prostředníka pro její sestavení, viz předání adres protilehlých natů a portů v článku. Hamachi to řeší prostřednictvím serveru, skype těžko říct jak, u nat-traverse si to musí účastníci zdělit jiným knálem, což je velmi nepraktické, zejména pokud to chce pro přístup k PC za natem, u kterého nikdo není. Jako hříčka zajímavé, reálná uplatnitelnost diskutabilní.
Yokotashi (neregistrovaný)
22. 6. 2006 2:24
Nový
Re: hamachi
celé vlákno
Proc by mi to ten pocitac u ktereho nikdo neni nemohl sdelit na pozadani mailem? (mail, fetchmail, .forward, nebo .procmailrc, nejaky freemail)
Pokud je problemem bezpecnost, tak se po mailech da udelat i nejaka kryptograficky silna autorizace.
Pokud je problemem bezpecnost, tak se po mailech da udelat i nejaka kryptograficky silna autorizace.
22. 6. 2006 9:23
Nový
Re: hamachi
celé vlákno
No tak jistě, nebo přes IRC, ale celkově mi to přijde jako drbání se leveou nohou za pravým uchem.
Alim (neregistrovaný)
27. 6. 2006 19:03
Nový
Re: hamachi
celé vlákno
Nejlepší je jako servr na sestavení spojení použít nějaký Jabber servr. Jelikož Jabber je univerzální systém (posílání textových zpráv jako u ICQ je jen jednou z jeho možností) s podporou SSH a dobře se pro něj programuje (založen na XML).
20. 6. 2006 0:44
Nový
Re: ... aneb Teredo reloaded
celé vlákno
Ajaj, ono se to vazne odeslalo. Pouceni - po editaci titulku je treba zmacknout Tab a ne Enter :-/
20. 6. 2006 0:43
Nový
... aneb Teredo reloaded
celé vlákno
Zajimavy programek.
1) podobny pristup, vymyslel i Microsoft pro tunelovani IPv6 protokolu skrz NATy a nazval ho Teredo: http://www.microsoft.com/technet/prodtechnol/winxppro/maintain/teredo.mspx
Bohuzel Microsoft to pojal prilis vedecky, takze se Teredo nerozsirilo.
2) Druha vec je ze ty UDP packety spojuji stdin/stdout a musi se tam krkolomne dotlacit PPP aby ten tunel vubec k necemu byl. Lepsi by bylo pouzit TUN device a vyrobit rovnou sitovy interface. Nebo jeste lepe - rozsirit OpenVPN o moznosti nat-traverse, cimz by clovek ziskal sitovani, sifrovani a nat-traversovani, all-in-one ;-)
1) podobny pristup, vymyslel i Microsoft pro tunelovani IPv6 protokolu skrz NATy a nazval ho Teredo: http://www.microsoft.com/technet/prodtechnol/winxppro/maintain/teredo.mspx
Bohuzel Microsoft to pojal prilis vedecky, takze se Teredo nerozsirilo.
2) Druha vec je ze ty UDP packety spojuji stdin/stdout a musi se tam krkolomne dotlacit PPP aby ten tunel vubec k necemu byl. Lepsi by bylo pouzit TUN device a vyrobit rovnou sitovy interface. Nebo jeste lepe - rozsirit OpenVPN o moznosti nat-traverse, cimz by clovek ziskal sitovani, sifrovani a nat-traversovani, all-in-one ;-)
someone (neregistrovaný)
20. 6. 2006 7:45
Nový
Re: ... aneb Teredo reloaded
celé vlákno
Podle me neni treba OpenVPN rozsirovat. Pokud date na obe strany remote, zvolite netradicni port a NEpouzijete nobind, s trochou stesti by se to mohlo chytnout - zalezi na toleranci firewallu, do jake doby akceptuji paket s "odpovedi".
(Nezkousel jsem, jen si tipuji.)
(Nezkousel jsem, jen si tipuji.)
Hujerus III. (neregistrovaný)
25. 6. 2006 17:22
Nový
Re: ... aneb Teredo reloaded
celé vlákno
Ano, pomoci OpenVPN to jde bez jakychkoliv uprav. Prakticky vyzkouseno.
20. 6. 2006 1:49
Nový
Drobne upresnenie
celé vlákno
Zhodou okolnosti som sa zaoberal technikami preliezania NATov prednedavnom.
Podla toho popisu (a kratkeho nahladu do zdrojaku) je tam jeden predpoklad:
ze aspon jeden z NATov (na svojej verejnej IP) priradi k spojeniu rovnaky UDP port ako ma odosielatel na svojom stroji s privatnou IP. Ak by sa tak nestalo, pocitace na oboch koncoch by sice posielali pakety na spravne stroje, ale na nespravne porty.
Tato podmienka nemusi byt vzdy splnena (ak NAT forwarduje pakety na ziadanom porte inemu stroju).
Obist sa to da tak, ze na zaciatku budu potrebovat oba stroje iny s verejnou IP, "introducera". Ten im bude vediet povedat, aky port ktory si ktory NAT priradil z pohladu "zvonka z internetu". Potom si na tieto porty navzajom mozu posielat pakety a spojit sa. Introducer je potrebny len na zaciatku.
Aj tento alternativny sposob nefunguje s kazdym NATom - treba "cone NAT", ktory pakety pochadzajuce z rovnakeho zdroja (privatna IP, UDP port) pouzije vzdy rovnaky UDP port u seba, nezavisle, na aky ciel (cielova IP, UDP port) idu.
Podla toho popisu (a kratkeho nahladu do zdrojaku) je tam jeden predpoklad:
ze aspon jeden z NATov (na svojej verejnej IP) priradi k spojeniu rovnaky UDP port ako ma odosielatel na svojom stroji s privatnou IP. Ak by sa tak nestalo, pocitace na oboch koncoch by sice posielali pakety na spravne stroje, ale na nespravne porty.
Tato podmienka nemusi byt vzdy splnena (ak NAT forwarduje pakety na ziadanom porte inemu stroju).
Obist sa to da tak, ze na zaciatku budu potrebovat oba stroje iny s verejnou IP, "introducera". Ten im bude vediet povedat, aky port ktory si ktory NAT priradil z pohladu "zvonka z internetu". Potom si na tieto porty navzajom mozu posielat pakety a spojit sa. Introducer je potrebny len na zaciatku.
Aj tento alternativny sposob nefunguje s kazdym NATom - treba "cone NAT", ktory pakety pochadzajuce z rovnakeho zdroja (privatna IP, UDP port) pouzije vzdy rovnaky UDP port u seba, nezavisle, na aky ciel (cielova IP, UDP port) idu.
phoenix (neregistrovaný)
20. 6. 2006 8:20
Nový
Re: Drobne upresnenie
celé vlákno
Premyslim jakym zpusobem se introducer dozvi vnejsi port, ktery si NAT priradil. Kdo mu to prozradi?
20. 6. 2006 8:28
Nový
Re: Drobne upresnenie
celé vlákno
Spoleha se na to ze NAT zdrojovy port nezmeni. Vetsinou to plati, 100% to ovsem neni. Linux driv (2.2.x?) vsechny porty premapovaval nekam nad 60000, ted uz to nedela. Potreba premapovat porty je jen v pripade ze by dva NATovane pocitace chtely spojeni ze stejneho zdrojoveho portu na stejnou cilovou IP + stejny cilovy port. A to se casto nestava, takze obvykle neni zdrojovy port potreba menit. Tedy pokud vynecham sluzby ktere specificky zdrojovy port vyzaduji (NTP?, nekdy DNS, atd.)
20. 6. 2006 11:45
Nový
Re: Drobne upresnenie
celé vlákno
To mi pripomina, ze ten nat-traverse by sa dal vylepsit o synchronizaciu via NTP. Oba stroje, co sa chcu spojit, by si najprv zistili aktualny cas a na hranici napr. 10 sekund by zacali vysielat pakety na nejaky UDP port. Keby sa nepodarilo, po 10 sekundach by port zmenili. Uzivatel by zadal postupnost tychto portov (napr. 3 pary na 3 pokusy).
Ako vylepsenie by mohol ten soft pouzit pseudonahodny generator na generovanie cisel portov, ako seed by sa pouzil prave cas. Uzivatel by potom nemusel explicitne zadavat cisla portov.
Ako vylepsenie by mohol ten soft pouzit pseudonahodny generator na generovanie cisel portov, ako seed by sa pouzil prave cas. Uzivatel by potom nemusel explicitne zadavat cisla portov.
20. 6. 2006 11:38
Nový
Re: Drobne upresnenie
celé vlákno
Rozpisem to trocha presnejsie.
Oba stroje A, B za rozlicnymi NATmi sa pripoja k introducerovi. Introducer vidi, z akych adries [verejna IP, UDP port] mu prisli UDP pakety. Vie stroju A poslat par [verejna IP, UDP port] stroja B a naopak.
Nasledne stroj A zacne z rovnakeho zdrojoveho UDP portu, ako sa pripajal k introducerovi, posielat UDP pakety na verejnu adresu (NAT) stroja B. B spravi to iste, zacne posielat UDP pakety na verejnu adresu stroja A (ktoru sa dozvedel od introducera).
Naviac takto A a B dokazu zistit, ci nahodou nie su na rovnakej privatnej sieti (za spolocnym NATom) a komunikovat priamo. Je este jeden specialny pripad, kde introducer vidi A aj B za rovnakym NATom, ale za tymto NATom su este skryti za rozlicnymi NATmi (v rozlicnych privatnych sietach).
Introducer sa typicky vyskytuje v p2p sietach ako nejaky supernode.
Dalsi detaily v IETF drafte pojednavajucom o UDP hole punchingu: http://www.brynosaurus.com/pub/net/draft-ford-midcom-p2p-00.txt
Oba stroje A, B za rozlicnymi NATmi sa pripoja k introducerovi. Introducer vidi, z akych adries [verejna IP, UDP port] mu prisli UDP pakety. Vie stroju A poslat par [verejna IP, UDP port] stroja B a naopak.
Nasledne stroj A zacne z rovnakeho zdrojoveho UDP portu, ako sa pripajal k introducerovi, posielat UDP pakety na verejnu adresu (NAT) stroja B. B spravi to iste, zacne posielat UDP pakety na verejnu adresu stroja A (ktoru sa dozvedel od introducera).
Naviac takto A a B dokazu zistit, ci nahodou nie su na rovnakej privatnej sieti (za spolocnym NATom) a komunikovat priamo. Je este jeden specialny pripad, kde introducer vidi A aj B za rovnakym NATom, ale za tymto NATom su este skryti za rozlicnymi NATmi (v rozlicnych privatnych sietach).
Introducer sa typicky vyskytuje v p2p sietach ako nejaky supernode.
Dalsi detaily v IETF drafte pojednavajucom o UDP hole punchingu: http://www.brynosaurus.com/pub/net/draft-ford-midcom-p2p-00.txt
Keson (neregistrovaný)
20. 6. 2006 18:03
Nový
STUN
celé vlákno
STUN (http://www.ietf.org/rfc/rfc3489.txt)
Simple Traversal of User Datagram Protocol (UDP) Through Network Address Translators (NATs), se hojne pouziva pro traverzovani VoIP. Zjisti typ NATu a vnejsi IP adresu.
Simple Traversal of User Datagram Protocol (UDP) Through Network Address Translators (NATs), se hojne pouziva pro traverzovani VoIP. Zjisti typ NATu a vnejsi IP adresu.
jirib (neregistrovaný)
20. 6. 2006 1:58
Nový
jak za natem na ipv6?
celé vlákno
OK,
mym problemem je, ze chci mit pristup na ipv6 z meho laptopu, ktery bezi na OpenBSD/NetBSD a je za NAT od poskytovatele EDGE pripojeni. Zkousel jsem freenet6 tspc klienta, ale OpenBSD/NetBSD nepodporuje NAT...
Nejake reseni? Predem diky
mym problemem je, ze chci mit pristup na ipv6 z meho laptopu, ktery bezi na OpenBSD/NetBSD a je za NAT od poskytovatele EDGE pripojeni. Zkousel jsem freenet6 tspc klienta, ale OpenBSD/NetBSD nepodporuje NAT...
Nejake reseni? Predem diky
jirib (neregistrovaný)
20. 6. 2006 2:19
Nový
Re: jak za natem na ipv6?
celé vlákno
Jo, samozrejme, ze NAT dela ISP... Asi nejakej problem s nastavenim...
jirib (neregistrovaný)
20. 6. 2006 2:31
Nový
Re: jak za natem na ipv6?
celé vlákno
Jestli neni problem v tom, ze OpenBSD/NetBSD gif device nezvladne hazet ipv6 traffic pres gif do ipv4 upd paketu...
skoda, mozna by pomohl nejaky dalsi tunnel... nejaka sluzba k mani? :)
skoda, mozna by pomohl nejaky dalsi tunnel... nejaka sluzba k mani? :)
20. 6. 2006 2:23
Nový
Re: jak za natem na ipv6?
celé vlákno
Openvpn routed/bridged tunel na spřátelenou gateway?
Tahle věcička šlape jako hodinky, s IPSecem jsem skončil, AH oželim
Tahle věcička šlape jako hodinky, s IPSecem jsem skončil, AH oželim
Clock (neregistrovaný)
20. 6. 2006 2:33
Nový
poradi paketu
celé vlákno
Jestli jsem neco neprehlid, tak ty UDP pakety co po lince chodej muzou dojit v odlisnem poradi a pak se data na lince zkorumpujou. V lepsim pripade se na ppp ztrati data, v horsim se to snad asi aj muze uplne zaseknout.
Protokol UDP totiz nezarucuje poradi doruceni dat.
Ja pouzivam skrz NAT IPv6 a muzu vrele doporucit. Chodi to jak ma. A clovek dostane zadarmo 2^48 verejnych IP adres.
Protokol UDP totiz nezarucuje poradi doruceni dat.
Ja pouzivam skrz NAT IPv6 a muzu vrele doporucit. Chodi to jak ma. A clovek dostane zadarmo 2^48 verejnych IP adres.
astray (neregistrovaný)
20. 6. 2006 9:37
Nový
Re: poradi paketu
celé vlákno
Ahoj Clocku,
muzes ve strucnosti popsat, jak to delas?
muzes ve strucnosti popsat, jak to delas?
uživatel si přál zůstat v anonymitě
20. 6. 2006 13:14
Nový
Re: poradi paketu
celé vlákno
jj, to by aj mna zaujimalo,.. :)
20. 6. 2006 23:33
Nový
Re: poradi paketu
celé vlákno
Jenom 2^48 ? Ja dostal 2^80 ... ne ze by to nebylo jedno ...
MarSik (neregistrovaný)
21. 6. 2006 14:48
Nový
Re: poradi paketu
celé vlákno
No jedno to neni, na 2^48 si uz neudelam normalni autokonfiguraci pac ta vyzaduje 2^64 prefix. Navic neni nahodou i v nejakym rfc doporuceno pridelovat koncovym uzivatelum /64?
20. 6. 2006 8:35
Nový
anketa
celé vlákno
jak mam odpovedet? od ISP mam verejnou adresu, ale sam si ji prekladam :)
astray (neregistrovaný)
20. 6. 2006 9:36
Nový
Re: anketa
celé vlákno
Tak pro ucely ankety mas verejnou adresu. Ja jsem na tom stejne.
MarekM (neregistrovaný)
20. 6. 2006 9:39
Nový
overhead
celé vlákno
Zdravim, zajimalo by me, jaky mnozstvi dat se musi v tomto pripade prenaset treba za hodinu. Mame datovy limit :( Dekuju.
phokz (neregistrovaný)
20. 6. 2006 10:05
Nový
Re: overhead
celé vlákno
Opet zalezi na nastaveni tech NATu, napr. v linuxu je v /proc/sys/net/ipv4/netfilter rada promennych, kterymi se ridi ruzne timeouty. Napriklad ip_conntrack_udp_timeout u me je nastaveno na 30, takze predpokladam ze 1 ping 56bytu za 25sec by mel stacit. Vychazi to cca 189kB prenesenych dat za den.
helb (neregistrovaný)
20. 6. 2006 10:14
Nový
nat-traverse
celé vlákno
"Název nat-traverse se skládá ze slov NAT a traverse."
Opravdu? :)
Opravdu? :)
ventYl (neregistrovaný)
20. 6. 2006 10:17
Nový
udp hole punching
celé vlákno
tomuto sa hovori udp hole punching, bezia na tom principe veci ako hamachi a podobne, ma to zopar nevyhod, samotna technologia zarucuje 75% uspesnost pri spojeni, existuju vsak situacie, kedy sa spojit neda.
konkretne hamachi vytvara ponad takyto UDP tunel tun zariadenie a cez vznikly sietovy interface tuneluje veskery traffic, takze TCP nie je problem.
tento skript nie je novinkou, existuje uz tusim nieco okolo roka. rovnako ako technologia udp hole punching. kdesi som cital, ze existuje budto koncept, alebo aj funkcny model TCP hole punchingu, ale tam su vacsie problemy.
konkretne hamachi vytvara ponad takyto UDP tunel tun zariadenie a cez vznikly sietovy interface tuneluje veskery traffic, takze TCP nie je problem.
tento skript nie je novinkou, existuje uz tusim nieco okolo roka. rovnako ako technologia udp hole punching. kdesi som cital, ze existuje budto koncept, alebo aj funkcny model TCP hole punchingu, ale tam su vacsie problemy.
Petrik (neregistrovaný)
20. 6. 2006 11:40
Nový
jak to ze to funguje?
celé vlákno
To je skutecne tak snadne oblafnout NAT vcetne obvykleho stavoveho firewallu? Predpokladam ze vetsina lidi, co maji doma NAT, maji zaroven stavovy firewall. Nepouziva nahodou linuxovy stavovy firewall nejaky pokrocilejsi testovani UDP packetu, aby odhalil ze ve skutecnosti to nejsou odpovedi, ale ze jsou podstrceny? To se opravdu kouka pouze na cisla portu? Neda se to tedy velmi jednoduse zneuzit?
20. 6. 2006 12:38
Nový
Re: jak to ze to funguje?
celé vlákno
UDP je bezstavovy protokol, nan stavovy firewall moc dobre nefunguje. Na rozdiel od TCP nema SYN/ACK handshake a nema SEQ/ACK cisla.
Jedine, co firewall/NAT vidi, je, ze z vnutornej siete odisiel na danu IP/UDP port paket a ze z danej IP/UDP portu prichadza paket naspat.
Podstrcit paket pre utocnika je preto jednoduche (musi len vediet ako zvolit IP/cisla portov, napr. ze odpocuje paket pri jeho ceste von do internetu).
Ad. zneuzitie: aplikacia pouzivajuca UDP bud proti tomu musi nieco spravit sama, alebo nechat to tak, jak to je.
Jedine, co firewall/NAT vidi, je, ze z vnutornej siete odisiel na danu IP/UDP port paket a ze z danej IP/UDP portu prichadza paket naspat.
Podstrcit paket pre utocnika je preto jednoduche (musi len vediet ako zvolit IP/cisla portov, napr. ze odpocuje paket pri jeho ceste von do internetu).
Ad. zneuzitie: aplikacia pouzivajuca UDP bud proti tomu musi nieco spravit sama, alebo nechat to tak, jak to je.
Ondrej 'SanTiago' Zajicek (neregistrovaný)
20. 6. 2006 19:47
Nový
Re: jak to ze to funguje?
celé vlákno
> Predpokladam ze vetsina lidi, co maji doma NAT, maji zaroven stavovy firewall.
Tak myslim, ze tento predpoklad IMHO neplati.
Tak myslim, ze tento predpoklad IMHO neplati.
uživatel si přál zůstat v anonymitě
21. 6. 2006 18:02
Nový
Re: jak to ze to funguje?
celé vlákno
Kdyby troubove na firewallech pouzivali REJECT a ne DROP tak to neproleze.
dejf (neregistrovaný)
9. 3. 2007 0:09
Nový
Re: jak to ze to funguje?
celé vlákno
Kdyby to ti troubove delali, tak maj mnohem vetsi load a traffic
Efraim Sádlo (neregistrovaný)
20. 6. 2006 13:33
Nový
:)
celé vlákno
konečně po delší době článek, který mě zaujal. díky.
:-) (neregistrovaný)
20. 6. 2006 14:12
Nový
Dva naty
celé vlákno
Mam v ceste dva routery (prvni pridely neverejnou ip a druhej ji routuje na dalsi neverejny ip). Pude pak spojit takovej pocitac s nakym jinym?
neldor (neregistrovaný)
20. 6. 2006 16:06
Nový
Re: Dva naty
celé vlákno
imho ano, princip je porad stejny (tedy pokud samozrejme bude splnen i puvodni predpoklad, ze NAT nezmeni zdrojove pory, jak bylo zmineno vyse)
kolcon (neregistrovaný)
20. 6. 2006 16:04
Nový
ssh
celé vlákno
no nevim, je to neco jineho nez ssh -N a ssh -L ?
razor (neregistrovaný)
20. 6. 2006 17:59
Nový
Re: ssh
celé vlákno
V případě ssh tunelu za NAT musíš použít prostředníka z veřejnou ip. Skript zde diskutovaný prostředníka s veřejnou ip nepotřebuje.
uživatel si přál zůstat v anonymitě
22. 6. 2006 13:22
Nový
Re: ssh
celé vlákno
Urcite - ssh -N -L<...> vyexportuje TCP port z lokalu na pocitac, kam se pripojite. Na stroj za NATem se ani nepripojite, takze tam tohle na rozdil od popisovaneho programu nefunguje.
ktv (neregistrovaný)
22. 6. 2006 22:57
Nový
a jak na spojeni win - NAT - NAT - lin?
celé vlákno
chtel bych se pripojovat z win prostredi za NAT k sobe domu rovnez za NAT - je na to nejake reseni?
ffefafsefagsad (neregistrovaný)
---.95-102-86.t-com.sk
25. 8. 2010 13:01
Nový
Re: a jak na spojeni win - NAT - NAT - lin?
celé vláknosi delas prdel? :D
vsak o tom je ten navod :D
ale poradim ti. prvy krok co spravis je ze prejdi na nejaky linux :D
Gabo (neregistrovaný)
---.91-127-1.t-com.sk
17. 9. 2011 13:19
Nový
Gitso
celé vláknoAspoň trochu útechy poskytuje projekt Gitso, zameraný na jednoduché použitie. Pomocou jednoduchého GUI vytvoríte priame spojenie medzi dvomi PC.
http://code.google.com/p/gitso/

