TeamViewer - jak to, že funguje přes NAT?

Lojza

  • *****
  • 672
    • Zobrazit profil
    • E-mail
TeamViewer - jak to, že funguje přes NAT?
« kdy: 11. 06. 2018, 09:52:35 »
umel by mi to nekdo jednoduse vysvetlit ?, zkousel jsem googlit ale tam to bylo vysvetlovane jednak slozite a hlavne kazdy mel trochu jiny nazor ...

a jeste mne napada kdyz Teamviewer to umi tak krasne prokopat se zvenci NATem na muj komp proc se to nepouziva casteji tim by se obesly vsechny ty prekazky co vznikaji uzivatelum za NATem (nemaji svoji verejnou ipv4 adresu, nelze nahodit domaci server aby na nej mohli lide zvenci pristupovat ..) - nejspis tento dotaz souvisi s tim prvnim
« Poslední změna: 11. 06. 2018, 10:15:21 od Petr Krčmář »


Rhinox

Re:TeamViewer - jak to, že funguje přes NAT?
« Odpověď #1 kdy: 11. 06. 2018, 10:41:31 »
Protoze TeamViewer neni typicka client-server aplikace (jako napr. VNC). Spis je to neco jako "client-server-client", kde spojeni se navazuje pres treti stranu (servery firmy TeamViewer GmbH). K nim se nejdriv musi pripojit jako host (kterej poskytne sdileni sveho desktopu), taky viewer (kterej chce ten vzdalenej desktop videt). V obou pripadech tedy jde o spojeni inicializovano "zevnitr ven"...

Mirek

Re:TeamViewer - jak to, že funguje přes NAT?
« Odpověď #2 kdy: 11. 06. 2018, 10:41:38 »
umel by mi to nekdo jednoduse vysvetlit ?, zkousel jsem googlit ale tam to bylo vysvetlovane jednak slozite a hlavne kazdy mel trochu jiny nazor ...

a jeste mne napada kdyz Teamviewer to umi tak krasne prokopat se zvenci NATem na muj komp proc se to nepouziva casteji tim by se obesly vsechny ty prekazky co vznikaji uzivatelum za NATem (nemaji svoji verejnou ipv4 adresu, nelze nahodit domaci server aby na nej mohli lide zvenci pristupovat ..) - nejspis tento dotaz souvisi s tim prvnim
TV nejdříve zkouší komunikovat přímo známými technikami, a když to selže jede veškerá komunikace přes servery TV, které jsou normálně přístupné přes veřejné IP.

Mirek

Re:TeamViewer - jak to, že funguje přes NAT?
« Odpověď #3 kdy: 11. 06. 2018, 10:43:15 »
umel by mi to nekdo jednoduse vysvetlit ?, zkousel jsem googlit ale tam to bylo vysvetlovane jednak slozite a hlavne kazdy mel trochu jiny nazor ...

a jeste mne napada kdyz Teamviewer to umi tak krasne prokopat se zvenci NATem na muj komp proc se to nepouziva casteji tim by se obesly vsechny ty prekazky co vznikaji uzivatelum za NATem (nemaji svoji verejnou ipv4 adresu, nelze nahodit domaci server aby na nej mohli lide zvenci pristupovat ..) - nejspis tento dotaz souvisi s tim prvnim
A ještě doplním - stejně fungují domácí servery (typicky NAS), jsou zpřístupněné prostřednictvím serverů výrobce.

Lojza

  • *****
  • 672
    • Zobrazit profil
    • E-mail
Re:TeamViewer - jak to, že funguje přes NAT?
« Odpověď #4 kdy: 11. 06. 2018, 11:02:23 »
takze i kdyby se nasel "man in the middle"ktery by nabizel svoje servery s vnejsimi ip adresami a nevadil mu traffic ktery pres nej tece, stejne by to nevyresilo problem "jsem za NATem, jak muzu provozovat na svym pocitaci napr. web server, spojeni by se neinicializovalo "zevnitr ven"ale naopak z venku dovnitr jak by prisel request na nacteni nejake stranky na mem web serveru ?


Fantomas

Re:TeamViewer - jak to, že funguje přes NAT?
« Odpověď #5 kdy: 11. 06. 2018, 11:02:39 »
Protože TV funguje jako dva kienti kdesi v internetu, kteri se navzajem propoji diky TV centralnimu serveru. A oba klienti mohu zaroven serverove poskytovat svuj desktop. Je to komercni aplikace, ktera pri domacim pouziti je zadara. Pises, ze se nepouziva, ale ja ji vidim uplne vsude, kde nefunguje VNC nebo RDP. Nevic je na ovladani tak jednoduchy, ze jakykoliv BFU pouze spusti aplikaci, opise si dve cisla, na druhem kompu se zase pusti TV, zadaji se dve cisla a jede to. Bezne to pouzivaji lidi, kteri o vzdalenych pripojenich vi uplne kulove.

Lojza

  • *****
  • 672
    • Zobrazit profil
    • E-mail
Re:TeamViewer - jak to, že funguje přes NAT?
« Odpověď #6 kdy: 11. 06. 2018, 11:16:26 »
Protože TV funguje jako dva kienti kdesi v internetu, kteri se navzajem propoji diky TV centralnimu serveru. A oba klienti mohu zaroven serverove poskytovat svuj desktop. Je to komercni aplikace, ktera pri domacim pouziti je zadara. Pises, ze se nepouziva, ale ja ji vidim uplne vsude, kde nefunguje VNC nebo RDP. Nevic je na ovladani tak jednoduchy, ze jakykoliv BFU pouze spusti aplikaci, opise si dve cisla, na druhem kompu se zase pusti TV, zadaji se dve cisla a jede to. Bezne to pouzivaji lidi, kteri o vzdalenych pripojenich vi uplne kulove.

proboha neumite cist ? kde pisu ze se nepouziva ? naopak jsem velky obdivovatel TV a sam jej casto pouzivam

PetrM

Re:TeamViewer - jak to, že funguje přes NAT?
« Odpověď #7 kdy: 11. 06. 2018, 11:28:00 »
takze i kdyby se nasel "man in the middle"ktery by nabizel svoje servery s vnejsimi ip adresami a nevadil mu traffic ktery pres nej tece, stejne by to nevyresilo problem "jsem za NATem, jak muzu provozovat na svym pocitaci napr. web server, spojeni by se neinicializovalo "zevnitr ven"ale naopak z venku dovnitr jak by prisel request na nacteni nejake stranky na mem web serveru ?

Zevnitř ven se připojíš, znáš veřejnou adresu serveru, tak na něho pošleš třeba HTTP request. NAT změní paket (nahradí adresu odesílatele svou adresou a přiřadí spojení nějaký svůj port). Na nově přiřazený port na adresu NATu pak chodí příchozí data a ten ví, že co přijde na port X má jít na port Y zařízení Z v interní síti. Takže se zdá, že to v pohodě chodí a zákazník má internet (seznam a xichtknížku)

Zvenku dovnitř je to složitější, tam pokud se chceš připojit na jiný port, potřebuješ veřejnou IP adresu (nejsou) a příslušný port na WAN routeru namapovat na odpovídající port zařízení, na kterým poslouchá server. To můžeš jenom v případě, že máš tu veřejnou IP adresu a router pod kontrolou.

Pokud tohle nemáš, musíš si zaplatit server s veřejnou IP adresou, rozchodit službu na něm a hrnout ty data na něho (SSHFS, VPN,...). Tam je zase ten problém, že je málo veřejných IPv4 adres, takže stávající provozovatelé serverů nebudou mít novou konkurenci a s rostoucí poptávkou půjde cena služby hodně vysoko.

NAT prostě vyřešil jenom pasivní BFU. Kdo chce cokoliv dělat na netu (sdílet soubory, sbastlit si domácí automatizaci a ovládat ji z mobilu,...), bez veřejné IPv4 (ať už doma, nebo na pronajatým serveru) je v pr...  :( a bez rozšíření IPv6 bude jenom podstatně hůř.

MasoxCZ

Re:TeamViewer - jak to, že funguje přes NAT?
« Odpověď #8 kdy: 11. 06. 2018, 12:22:36 »
takze i kdyby se nasel "man in the middle"ktery by nabizel svoje servery s vnejsimi ip adresami a nevadil mu traffic ktery pres nej tece, stejne by to nevyresilo problem "jsem za NATem, jak muzu provozovat na svym pocitaci napr. web server, spojeni by se neinicializovalo "zevnitr ven"ale naopak z venku dovnitr jak by prisel request na nacteni nejake stranky na mem web serveru ?

Zevnitř ven se připojíš, znáš veřejnou adresu serveru, tak na něho pošleš třeba HTTP request. NAT změní paket (nahradí adresu odesílatele svou adresou a přiřadí spojení nějaký svůj port). Na nově přiřazený port na adresu NATu pak chodí příchozí data a ten ví, že co přijde na port X má jít na port Y zařízení Z v interní síti. Takže se zdá, že to v pohodě chodí a zákazník má internet (seznam a xichtknížku)

Zvenku dovnitř je to složitější, tam pokud se chceš připojit na jiný port, potřebuješ veřejnou IP adresu (nejsou) a příslušný port na WAN routeru namapovat na odpovídající port zařízení, na kterým poslouchá server. To můžeš jenom v případě, že máš tu veřejnou IP adresu a router pod kontrolou.

Pokud tohle nemáš, musíš si zaplatit server s veřejnou IP adresou, rozchodit službu na něm a hrnout ty data na něho (SSHFS, VPN,...). Tam je zase ten problém, že je málo veřejných IPv4 adres, takže stávající provozovatelé serverů nebudou mít novou konkurenci a s rostoucí poptávkou půjde cena služby hodně vysoko.

NAT prostě vyřešil jenom pasivní BFU. Kdo chce cokoliv dělat na netu (sdílet soubory, sbastlit si domácí automatizaci a ovládat ji z mobilu,...), bez veřejné IPv4 (ať už doma, nebo na pronajatým serveru) je v pr...  :( a bez rozšíření IPv6 bude jenom podstatně hůř.

Zapomínáš na techniku "NAT traversal". Pokud mezi každým z obou klientů a veřejným  internetem je jen jeden NAT, a znáš veřejnou adresu obou, můžou si navzájem zavolat na předem stanovené porty na těchto veřejných adresách, a oba NATy si myslí, že přicházející provoz je odpovědí na provoz zahájený zevnitř. A pustí to.
Ale TV skutečně používá připojení prostřednictvím veřejné proxy; to je právě to spojení na ID počítače. Samozřejmě uvnitř LAN je efektivnější jít přímo na IP adresu cíle.
Případně jako třetí možnost si můžeš koupit a nainstalovat svůj vlastní TeamViewer server (tedy privátní TV proxy) a nasměrovat na něj provoz ze svého vlastního NATu a firewallu, a pak máš bez VPNky přístup na počítače "uvnitř" LAN i z venčí pomocí ID.

Fantomas

Re:TeamViewer - jak to, že funguje přes NAT?
« Odpověď #9 kdy: 11. 06. 2018, 12:27:19 »
proboha neumite cist ? kde pisu ze se nepouziva ? naopak jsem velky obdivovatel TV a sam jej casto pouzivam
"proc se to nepouziva casteji tim by se obesly vsechny ty prekazky co vznikaji uzivatelum za NATem"

PetrM

Re:TeamViewer - jak to, že funguje přes NAT?
« Odpověď #10 kdy: 11. 06. 2018, 12:55:19 »
Zapomínáš na techniku "NAT traversal". Pokud mezi každým z obou klientů a veřejným  internetem je jen jeden NAT, a znáš veřejnou adresu obou, můžou si navzájem zavolat na předem stanovené porty na těchto veřejných adresách, a oba NATy si myslí, že přicházející provoz je odpovědí na provoz zahájený zevnitř. A pustí to.

Nezapomínám, jenom to není univerzální řešení, protože ty adresy se zjistí právě prostřednictvím něčeho s veřejnou IP adresou a CGNAT to spolehlivě zabije.

Správný řešení je udělat to tak, že na sebe stroje vidí (= v dnešní době IPv6). Druhý nejfunkčnější řešení je, že jeden z účastníků má veřejnou IPv4 a přemapuje port pro služby ven.

Jinak to je vždycky o nějakým veřejným serveru, který si musíš zaplatit (defakto platba za VPS je platba třetí straně za veřejnou IP adresu, kterou ti neumí dát tvůj ISP). A až dojdou VPSky, tak to bude mazec...

MasoxCZ

Re:TeamViewer - jak to, že funguje přes NAT?
« Odpověď #11 kdy: 11. 06. 2018, 13:14:04 »
Zapomínáš na techniku "NAT traversal". Pokud mezi každým z obou klientů a veřejným  internetem je jen jeden NAT, a znáš veřejnou adresu obou, můžou si navzájem zavolat na předem stanovené porty na těchto veřejných adresách, a oba NATy si myslí, že přicházející provoz je odpovědí na provoz zahájený zevnitř. A pustí to.

Nezapomínám, jenom to není univerzální řešení, protože ty adresy se zjistí právě prostřednictvím něčeho s veřejnou IP adresou a CGNAT to spolehlivě zabije.

Správný řešení je udělat to tak, že na sebe stroje vidí (= v dnešní době IPv6). Druhý nejfunkčnější řešení je, že jeden z účastníků má veřejnou IPv4 a přemapuje port pro služby ven.

Jinak to je vždycky o nějakým veřejným serveru, který si musíš zaplatit (defakto platba za VPS je platba třetí straně za veřejnou IP adresu, kterou ti neumí dát tvůj ISP). A až dojdou VPSky, tak to bude mazec...

Amen.

Lojza

  • *****
  • 672
    • Zobrazit profil
    • E-mail
Re:TeamViewer - jak to, že funguje přes NAT?
« Odpověď #12 kdy: 11. 06. 2018, 13:26:37 »
že jeden z účastníků má veřejnou IPv4 a přemapuje port pro služby ven.



to premapovani portu je tzv "port forwarding" ?

jeste mne napada kdyz bych si tedy napriklad u wedosu pronajal nejakou nejlevnejsi VPS je na netu nejaky navod jak tam rozjet rozlicne sluzby co se domacimu uzivatelu bez vnejsi ipv4  s mabici mit doma spustene nejake ty sluzby, servery pro ketere je nutne pristup uzivatelu z vnejsku ?

a nakonec mne napada (urcite z meho dotazu je videt ze tomu temer nerozumim) proc nefunguje nejake "sdileni ipv4"resp. sdileni VPS ?

vzdyt kazda ipv4 je proste nejake hw zarizeni na kterem muze behat 65535 sluzeb  (a nektere ? sluzby umoznuji na jednom portu provozovoat treba desitky virtualnich serveru? treba na portu 80 web server umi treba desitky virtualnich http serveru - ty maji stejnou ipv4 i port ?), zkratka kdyz uz jeste je nejaka ipv4 volna, vyuzit ji do mrte, byt by to chtelo silny stroj aby ustal tolik sluzeb

snad mi nekdo porozumi lip se vyjadrit neumim (male znalosti)

ja doma zadny NAT nemam, mam pripojeni CC internet a NAT provozuje muj ISP, ja jsem za nim, krome TV si ani netuknu, proto pokud jsem psal proc je to tak malo rozsirene nemel jsem na mysli malou rozsirenost TV ale aplikaci, serveru, sluzeb fungujicich na stejne ci podobne bazi (takovy jailbreak ve svete bez me vlastni vnejsi ipv4)

starej Vajtyngr

Re:TeamViewer - jak to, že funguje přes NAT?
« Odpověď #13 kdy: 11. 06. 2018, 13:55:34 »
jsem velky obdivovatel TV

Velký obdivovatel? Takže máš logo TV na plakátu na zdi a večer před spaním se mu klaníš?

PetrM

Re:TeamViewer - jak to, že funguje přes NAT?
« Odpověď #14 kdy: 11. 06. 2018, 13:57:46 »
to premapovani portu je tzv "port forwarding" ?

Jo

jeste mne napada kdyz bych si tedy napriklad u wedosu pronajal nejakou nejlevnejsi VPS je na netu nejaky navod jak tam rozjet rozlicne sluzby co se domacimu uzivatelu bez vnejsi ipv4  s mabici mit doma spustene nejake ty sluzby, servery pro ketere je nutne pristup uzivatelu z vnejsku ?

No tak tam je to hodně individuální, web server a mail servery jsou lepší na té VPSce a spojení do domácí sítě tunelovat, ale je tolik možností... Víc by ti asi napsali ostatní, bez veřejné IP adresy to neberu jako připojení k internetu a vždycky jsem z ISPíka vymámil IPčko v ceně (pravda, na jedno zřízení přípojky bylo cca pět poptávek...).

a nakonec mne napada (urcite z meho dotazu je videt ze tomu temer nerozumim) proc nefunguje nejake "sdileni ipv4"resp. sdileni VPS ?

vzdyt kazda ipv4 je proste nejake hw zarizeni na kterem muze behat 65535 sluzeb  (a nektere ? sluzby umoznuji na jednom portu provozovoat treba desitky virtualnich serveru? treba na portu 80 web server umi treba desitky virtualnich http serveru - ty maji stejnou ipv4 i port ?), zkratka kdyz uz jeste je nejaka ipv4 volna, vyuzit ji do mrte, byt by to chtelo silny stroj aby ustal tolik sluzeb

Sdílení VPS funguje, říká se tomu "cloud" a tam jsou zase jiný problémy, třeba s identifikací a zabezpečením účtu uživatele, s výkonem stroje, s cenou (kdyby to 20Kč ročně bylo, proč platit ISPíkovi a ještě solit bokem za ISPíkovu neschpnost?)

A IP adresa != zařízení. Jedna IPv4 adresa může být BGP router, ale i server pro 100 000 zákazníků nebo půlka města za CGNATem.

A nechat na jedné IP adrese několik služeb je hodně pitomý nápad. Bezpečností a spolehlivostí počínaje (někdo se stejnou adresou jako ty si udělá na vedlejším portu C&C botnetu nebo nasdílí dětský porno, odstřihnou celou IP adresu a vyřeš to jak umíš). Pak jsou tady omezení funkcionality - obyčejný TCP spojení potřebuje tři porty a web server pro 1000 klientů potřebuje 2001 portů.

proto pokud jsem psal proc je to tak malo rozsirene nemel jsem na mysli malou rozsirenost TV ale aplikaci, serveru, sluzeb fungujicich na stejne ci podobne bazi (takovy jailbreak ve svete bez me vlastni vnejsi ipv4)

Protože to je buďto placený, nebo omezený, nebo složitý na konfiguraci, popřípadě kombinace těch tří atributů. Prostě jediná možnost, tlačit na ISP a když to nepomůže, vyměnit ho.