Pochopení ZeroTier

Pochopení ZeroTier
« kdy: 12. 05. 2025, 09:21:04 »
Nie som specialny sietar ani bezp. cyber technik ani nic podobne, ale snazim sa pochopit ako moze fungovat zerotier ako P2P a bez erejnych IP adries.
AI sa mi snazi vysvetlit, ze to funguje na principe traversal NATu a chape aj moju frustraciu, ale ja stale nedokazem pochopit ako sa dvaja klienti (obidvaja bez verejnych IP adries (za NAT)), dokazu spojit P2P.
Samozrejme bez prostrednika!


Re:Pochopeni ZeroTier
« Odpověď #1 kdy: 12. 05. 2025, 09:59:25 »
Používá se na to technika, které se říká "hole punching".
Je to popsáno třeba tady..

https://cs.wikipedia.org/wiki/D%C4%9Brov%C3%A1n%C3%AD_(s%C3%AD%C5%A5ov%C3%A1n%C3%AD)

Tzn. klienti si přes známou třetí stranu, která má veřejnou adresu, vymění informace o svých mapováních (veřejná, privátní IP, porty) a koordinují vzájemné spojení. A zkusí spolu zakomunikovat napřímo, tzn. jedna strana se zkusí připojit k té druhé, to sice neprojde, ale zůstane tam dočasný záznam pro následnou odpověď v NAT tabulce a typicky i stavovém firewallu. V tom spočívá ta finta, protože to pak využije opačná strana pro příchozí spojení.
Samozřejmě právě protože jsou záznamy dočasné (typicky minuty, když tam není žádný traffic), tak se musí tím kanálem posílat pravidelně nějaká data, aby se vzájemná spojení udržovala průchozí, případně celý proces punchingu opakovat.

U Zerotieru je pak ještě fallback, případně konfigurační možnost, na použití relay serveru, kdy jde všechna komunikace přes speciální server s veřejnou adresou. To má smysl pokud u některých klientů nezabere ten hole punching.. tzn. mají například vícenásobný NAT (edge router + CGNAT) nebo jinou konfiguraci, která tomu zabrání.

Re:Pochopení ZeroTier
« Odpověď #2 kdy: 12. 05. 2025, 12:12:20 »
Ak tomu spravne rozumiem, tak vo vseobecnosti, klient za NATom nadviaze spojenie so serverom (ktory ma napr. verejnu IPv4). Vo firewalle u ISP (ktory ma verejnu IPv4) sa IP samozrejme prelozi na verejnu IPv4 ISP a server potom odpoveda presne na tu verejnu IPv4, ktoru ma ISP. Kedze firewall u ISP je stavovy, tak odpoved na zavedene spojenie sa ocakava a preklada verejnu IPv4 na privatnu (plus otvori nahodny port).
Toho vyuzije punching

V prvom odstavci som pisal ak sa jedna na jednej strane o server s verejnou IPv4. Ak su vsak obidva strany za NATom, tak prostrednik ma za ulohu zistit verejne IP adresy oboch zariadeni cez ktore pristupuju do verejneho internetu, tak isto ich privatne IP adresy a porty.
Ako pisal Michal Šmucr, pokial je tam viacnasobny NAT, tak sa pouziju relay servery.


Nie som sietar, takze ma nekamenujte, prip. ma opravte ak som nieco napisal principialne zle.

Re:Pochopení ZeroTier
« Odpověď #3 kdy: 12. 05. 2025, 22:34:34 »
Ano, v podstatě je to tak, jak jste popsal. Ta třetí strana (veřejný server ZT) je tam primárně pro koordinaci toho spojení, a pokud vše zafunguje, data samotná pak putují napřímo. Na přenos se pak používá bezstavový UDP protokol, veškeré věci ohledně opakování přenosů, autentizace a kontroly dat je pak záležitostí vyšších vrstev.
Jinak tenhle "trik" s otevíráním portů, aby to procházelo NATem a paketovým filtrem pak samozřejmě není jen záležitostí ZT, používá se i pro WebRTC, Skype to onehdá také využíval atp. U některých zmíněných aplikací se pak na výměnu metadat (mapování, privátních a veřejných adres, použitých portů, typu NATu) k tomu hole punchingu používá standardizovaný protokol STUN pro komunikaci s veřejným serverem.

Re:Pochopení ZeroTier
« Odpověď #4 kdy: 12. 05. 2025, 22:40:46 »
Co je důležité je, jakého typu je použitý NAT.
Pokud je použitý odchozí port veřejné adresy nezávislý na cílové veřejné adrese (endpoint independent NAT),pak hole punching funguje (používají obvykle SOHO NAT routery).
Pokud je použitý odchozí port veřejné pro každou cílovou veřejnou adresu unikátní (symmetric NAT), pak má hole punching smůlu a nefunguje (firemní sítě, mobilní sítě, datacentra).


Re:Pochopení ZeroTier
« Odpověď #5 kdy: 13. 05. 2025, 06:49:59 »
Ked tak rozmyslam tak tuto metodu by mohli vyuzivat prevadzkovatelia aplikacii pre IP kamery. Dnes su v obehu miliony IP kamier a kazdy chce sledovat svoje IP kamery a to su obrovske toky dat.
Ale zase, kazdy to chce sledovat v mobil. aplikacii a kazdy mobil je za CGN. Cize hole punching sa tam asi neuplatni a zatazene budu relay servery.

Z toho vypliva, ze zerotier az tak moc P2P vyuzivat nebude. Zaujmalo by ma, kolko % trafficu v sieti zerotier ide P2P

Re:Pochopení ZeroTier
« Odpověď #6 kdy: 13. 05. 2025, 20:20:40 »
Na téma tunelování skrz NAT jsem kdysi četl tenhle článek od tailscale, ale síťař taky nejsem, takže prosím brát s patřičnou rezervou.

https://tailscale.com/blog/how-nat-traversal-works

jjrsk

  • *****
  • 784
    • Zobrazit profil
Re:Pochopení ZeroTier
« Odpověď #7 kdy: 14. 05. 2025, 17:31:32 »
Musis si uvedomit, a je to tu i zmineno, ze to je takovej narovnavak vohejbaku a pravdepodobnost, ze ti to dneska bude fungovat, se dost blizi nule. To samozrejme neznamena, ze by ses mel spolehat na to, ze to fungovat nebude (porad se i tu vyskytui individua, ktery si myslej, ze NAT chrani sit).

Tech technik ktery muzes pouzit je vic, ale neni lepsi si poridit internet?

Jinak si sezen nejakej HW z popelnice a postav si lab na hrani. Nejlepsi zpusob jak neco pochopit.

BTW: To sem si tuhle sel sosnout nejakej vecernicek a 100 pasivu zaclo vzivat alaha, protoze sem se pripojil.