Už dlho vo svojej domácej sieti používam Raspberry Pi, ktoré u mňa doma plní viacero funkcií. Niekedy by sa mi však zišiel prístup k tomuto Raspberry Pi aj z vonku, napríklad na cestách alebo z práce.

Ak má vaše domáce internetové pripojenie verejnú IP adresu, je to relatívne jednoduché, stačí pár nastavení v routeri. Bez verejnej IP adresy je to však zložitejšie.

Ako nejjednoduchšie riešenie, ktoré nevyžaduje verejnú IP adresu, sa mi osvedčil Tailscale.

Tailscale

Tailscale je služba, ktorá veľmi jednoducho vytvorí sieť medzi vašimi zariadeniami. Na bezpečné pripojenie sa používa Wireguard a najväčšou výhodou je skoro nulová konfigurácia.

Na všetky zariadenia jedndoucho nanštalujete Tailscale klienta, prihlásite sa do svojho účtu a hotovo. Všetky pripojené zariadenia môžu medzi sebou komunikovať aj bez verejnej IP adresy.

Inštalácia

Instalácia Tailscale na Raspberry Pi je relatívne jednoduchá, vyžaduje však pridanie Tailscale repozitára

sudo apt-get install apt-transport-https

curl -fsSL https://pkgs.tailscale.com/stable/raspbian/buster.gpg | sudo apt-key add -
curl -fsSL https://pkgs.tailscale.com/stable/raspbian/buster.list | sudo tee /etc/apt/sources.list.d/tailscale.list

sudo apt-get update
sudo apt-get install tailscale

Spustenie Tailscale klienta potom vykonáte príkazom

sudo tailscale up

a prihlásite sa.

Pre Windows, macOS, Android a iOS existujú grafické aplikácie, ktoré stačí len jednoducho nainštalovať a prihlásiť sa.

Použitie

Po prihlásení a pripojení v aplikácií uvidíte zoznam vašich zariadení a ich IP adresy.

Takže napríklad na počítači uvidíte v zozname zariadení svoje Raspberry Pi, skopírujete si jeho IP adresu a môžete ju použiť na ssh alebo smb rovnako ako na domácej lokálnej sieti.

Presmerovanie celého trafficu

V základom nastavení môžete pomocou Tailscale pristupovať k vašim pripojením zariadeniam, zvyšný internetový traffic putuje klasicky cez vášho poskytovateľa pripojenia.

Tailscale však ponúka aj možnosť nastaviť nejaké zariadenie, napríklad domáce Raspberry Pi, ako tzv. exit node a smerovať traffic ostatných zariadeni cez tento exit node. Týmto spôsobom si môžete jednoducho vytvoriť vlastnú VPN.

Raspberry Pi označíte ako exit node príkazom

sudo tailscale up --advertise-exit-node

Pre správne fungovanie je typicky ešte nutné nastaviť IP forrwarding

echo 'net.ipv4.ip_forward = 1' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p /etc/sysctl.conf

Pri pripojení si potom na každom zariadení vyberiete, či chcete alebo nechcete svoj traffic smerovať cez určený exit node.