Jak na vzdálený přístup do počítače s UBUNTU
Jedna z mála věcí, která lidem na počítačích s Ubuntu linuxem zdánlivě chybí, je vzdálený přístup do počítače s Ubuntu přes Internet. Řešení je jednoduché a ve svém výsledku i jednodušší a elegantnější než například www.logmein.com pro Windows.
V praxi mohou nastat tři případy, z nichž třetí je nejběžnější. Počítač, který chceme dálkově ovládat může být připojen:
- do sítě s routerem, který má pevnou veřejnou Internetovou IP adresu
- do sítě s routerem, připojeným do Internetu pomocí kabelového nebo ADSL modemu
- k Internetu pomocí nějakého modemu na přímo
Tyto typické situace nastávají tedy v těchto případech:
- Na firmě či jiné instituci, která má pevné připojení k Internetu a její IP adresa je veřejná pro celý internet.
- V menší firmě nebo v domácnosti, kde je například kabelový modem a jeden wifi router pro uživatele domácnosti.
- V případě, že počítač má například modem mobilního připojení k Internetu.
Řešení použijeme tyto:
- Využijeme protokol VNC a konfiguraci routeru pomocí uPnP nebo ručně.
- Využijeme totéž co v bodu 1., ale neexistenci veřejné adresy nahradíme free službou DynDNS.org.
- Vytvoříme si soukromou internetovou síť pomocí virtuálního síťového rozhraní Hamachi (což je vlastně varianta VPN) a budeme provozovat VNC jako na lokální síti, tedy jako by jsme byli všichni v jednom pokojíčku.
Flexibilní bod číslo 3 tedy můžeme využívat ve všech případech a nahradí body 1 i 2.
Jaká technologie se v Ubuntu linuxu bude používat?
Použijeme vestavěnou funkci standardního protokolu VNC, která je v české verzi Ubuntu pojmenována jako Vzdálená plocha. Toto připojení funguje jednoduše, pokud jsou ovládací i ovládaný počítač propojeny tak, že mohou vzájemně přímo komunikovat na portech 5900 a výše.
Tato situace nastává poměrně automaticky, pokud sedíme v jedné místnosti a jsme připojeni s oběma počítači na společný router. Problém se objeví při připojení přez Internet, kdy budou pakety s daty putovat mnohem složitější cestou. Podívejme se na řešení všech tří modelových případů detailněji.
Řešení prvního případu, kdy vzdálený počítač je připojen za routerem, který MÁ pevnou veřejnou IP adresu
Tento případ NENÍ nejběžnější. Dejme tomu, že router instituce ve které je umístěn ovládaný vdálený počítač, má veřejnou IP adresu 123.123.123.123. (nebo má dokonce IP adresa i písemnou podobu díky zaregistrování číselné adresy na jmenných serverech DNS, tedy například firmaserver.cz) IP adresu tedy víme, nyní jen musíme zajistit, aby data tekoucí od nás po portu 5900 dorazila ke konkrétnímu počítači v síti za routerem. Nejvýhodnější a nejjednodušší je využít funkci automatické konfigurace routeru vnitřními počítači pomocí protokolu uPnP.
Jakmile v Ubuntu zapneme možnost ovládání pomocí Vzdálené plochy, vyšle Ubuntu požadavek uPnP do výchozí brány, tedy do routeru, aby router provedl přesměrování všech dat, přicházejících k němu na portu 5900 do počítače s Ubuntu. Pokud router podporuje protokol uPnP, vytvoří komunikační pravidlo a všechny data přicházející z Internetu na portu 5900 přesměruje do vnitřní sítě na ovládaný počítač s Ubuntu který má například vnitřní IP adresu 192.168.0.122. (což je adresa z privátního rozsahu interních IP adres)
Zvenku se pak bude jevit vzdálený počítač za routerem, jako by měl adresu 123.123.123.123, protože router bude veškerá ovládací data VNC přeposílat dovnitř sítě a všechny reakce bude vysílat na tomto portu zpět pod svou adresou 123.123.123.123.
Jak se připojíme?
Na ovládacím počítači, ze kterého se tedy chceme připojit na vzdálený počítač, spustíme klienta služby VNC, například TightVNC ve Windows a nebo Klienta Vzdálené Plochy v Ubuntu, a zadáme veřejnou IP adresu routeru, tedy 123.123.123.123. (případně jmennou verzi ve tvaru například firmaserver.cz)
Zvláštnosti
Co nastane, když za routerem je více počítačů, které chceme ovládat každý zvlášť? I s tím je v Ubuntu počítáno a systém Ubuntu se zachová tak, že vyšle požadavek přesměrováni portu 5900 na nadřazený router, tam zjistí, že už podobné přesměrování existuje a tak upraví svůj požadavek tím, že zvýší číslo portu na routeru a přikáže mu, ať provádí "překlad portů"
Router se potom tváří tak, že komunikaci na portu 5900 přesměrovává na port 5900 počítače z vnitřní sítě, co požádal o přesměrování jako první. Port 5901 přesměruje na port 5900 počítače co požádal jako druhý, port 5902 přesměruje na port 5900 počítače co požádal jako třetí a podobně.
U normálních klientů jako je TightVNC ve Windows se pak zadáva například 123.123.123.123:5901 pro ovládání druhého počítače, 123.123.123.123:5902 pro ovládání třetího počítače a podobně. Při použití nativního klienta Vzdálené plochy z nabídky Internet v Aplikacích Ubutu pak stačí zadat jen adresu 123.123.123.123 a aplikace nám sama nalezne podle tabulky uPnP v routeru seznam momentálně dostupných počítačů na vzdálené síti.
Řešení druhého případu, kdy vzdálený router je připojen normální bytovou přípojkou kabelovky, ADSL nebo rádiové spojky
Výchozí situace je velmi podobná
Potřebné utility pro WINDOWS
http://www.tightvnc.com/download.php