Igor Kulman

Ako pristupovať k domácemu Raspberry Pi bez verejnej IP

· Igor Kulman

Keď som po poslednom sťahovaní musel zmeniť poskytovateľa internetového pripojenia, prišiel som aj o verejnú IP adresu a teda o možnosť jednoduchého pripojenia k domácej sieti a domácemu Raspberry Pi z internetu. Hľadal som teda nejaké riešenie, ako aj bez verejnej IP adresy pristupovať k OpenVPN serveru alebo aspoň k SSH na Rasbperry Pi. Našiel som dve bezplatné služby, ktoré to aspoň čiastočne umožňujú.

Localtunel

Localtunel je bezplatná služba na tunelovanie HTTP pripojenia. Ak vám na Raspberry Pi beží nejaký HTTP server, napríklad webové rozhranie k teplomeru, môžete ho pomocou tejto služby jednoducho vystaviť na internet aj bez verejnej IP adresy.

Na inštaláciu potrebujete Node.js a npm, to však na Raspberry Pi nie je problém. Localtunel stačí globálne nainštalovať pomocou npm install -g localtunnel a spustiť zadaním portu, ktorý ma tunelovať, napríklad lt --port 8000. Tým sa vám priradí náhodná url v tvare nieco.localtunnel.me, na ktorej bude váš HTTP server prístupný z internetu. Ak chcete url s nejakou špecifickou subdoménou, stačí pridať parameter --subdomain.

ngrock

Ngrock umožňuje rovnako ako Localtunel tunelovanie HTTP pripojenia, v bezplatnej verzii, ktorá je na domáce použitie viac ako postačujúca, si však nemôžete zvoliť subdoménu v url. Jeho sila je však v možnosti tunelovanie akéhokoľvek TCP spojenia, teda napríklad SSH. Po povinnej registrácii získate token, ktorý zadáte do stiahnutej binárky (samozrejmosťou je ARM verzia fungujúca na Raspberry Pi).

Použitie je jednoduché, stačí špecifikovať protokol (HTTP alebo TCP) a port, napríklad ./ngrok tcp 20. Tým získate náhodný port na adrese 0.tcp.eu.ngrok.io. Všetky otvorené tunely a ich porty uvidíte na po prihlásení na webe Ngrock.