Huis Automatisering

Tailscale - Je Eigen VPN


Eens in de zoveel tijd kom je een briljant stukje software tegen wat meerdere problemen tegelijk oplost. Tailscale is zo’n software project. En het mooie is dat het nog open source is ook. Tot maar liefst 100 apparaten is het gratis te gebruiken.

Tailscale, is een frustrerend simpele VPN oplossing. Installeren, aanmelden en klaar. Geen instellingen nodig. Geen kennis van netwerken nodig. Maar waar is het eigenlijk de oplossing voor? En wat heb ik, als een home automation gebruiker eraan?

Uitdagingen


Hier is een lijstje van uitdagingen die Tailscale allemaal in een klap oplost:

  • Je hebt een server thuis draaien maar je hebt een dynamisch IP adres. Je IP adres kan dus zomaar veranderen, waardoor je buitengesloten bent als je niet thuis bent. En je zult altijd zien dat je een ander adres krijgt als je een weekje op vakantie bent.
  • De meeste internetaanbieders geven je een goedkope prul van een modem die geen hairpin routing kent. Dat betekent dat je server thuis via IP adres 192.168.1.33 te bereiken is, en onderweg moet je dan weer omschakelen naar je publieke IP adres.
  • Je wilt het veilig houden. Dus je wilt eigenlijk een encrypted verbinding naar je server maken als je onderweg bent. Dat kan een behoorlijke uitdaging zijn.
  • Je internet aansluiting zit achter een CGNAT (Corporate Grade NAT), waar je geen poorten open kunt zetten, al zou je het willen. Dit is heel gebruikelijk bij mobiele netwerken, of als je internetaanbieder DS-Lite aanbiedt (IPv4 achter CGNAT en IPv6 native).
  • Je zit in een studentenhuis met een gedeelde internetverbinding waar je geen toegang hebt tot de modeminstellingen.
  • Je server staat bij vrienden/familie in een gastnetwerk en je hebt geen idee waar precies. Je weet het IP adres niet eens, en je kunt de modeminstellingen niet wijzigen.
  • Je vindt het te ingewikkeld om poorten te forwarden.
  • Je wilt je server zoveel mogelijk afschermen zodat script kiddies niet constant je wachtwoorden kunnen proberen te raden.
  • Je hebt meerdere webcamera’s die je wel zelf wilt kunnen bekijken, maar je hebt er geen behoefte aan dat de Chinese fabrikant ook mee kijkt.
  • Je hebt meerdere servers draaien op hetzelfde IP adres, maar je hebt maar een poort 22, of maar een poort 80 die je open kunt zetten. De rest zal dus van een ander poortnummer gebruik moeten gaan maken. En dat maakt het verschil tussen binnen en buiten je netwerk alleen nog maar groter.
  • We hebben het tot nu toe alleen maar over servers gehad. Maar Tailscale draait ook op je laptop of telefoon. Dus als je altijd al een "always on VPN" verbinding had willen hebben, dan is Tailscale jouw ding. Met een "always on VPN" kun je veilig internetten vanuit je favoriete hamburger of koffietent.
  • Als je thuis een DNS filter gebruikt, zoals bijvoorbeeld Pi-Hole, dan kun je dat ook onderweg blijven gebruiken zodat je veel minder lastig gevallen wordt door die vervelende reclames.
  • Je server staat ergens in een bedrijf met zeer strenge firewall regels. Het kan dus voorkomen dat die server niet eens het internet op kan, laat staan dat je hem vanaf het internet kunt bereiken.

Gelukkig ervaart niet iedereen al deze uitdagingen tegelijk. En vaak zijn de meeste van deze uitdagingen wel op de een of andere manier op te lossen. Maar elke oplossing is maatwerk, zeker wanneer je meerdere van bovenstaande uitdagingen tegelijk tegenkomt. Voor netwerk leken kan dat dus een behoorlijke uitdaging zijn.
Daarom is Tailscale zo’n mooie oplossing. Je zou het een "one size fits all" oplossing kunnen noemen.

Laten we snel beginnen


Login scherm


Ga met je favoriete browser op je computer naar www.tailscale.com en meld je daar aan door op de "Get Started" knop te klikken. Het gemakkelijkste is om daarvoor je Google, Microsoft of Git account te gebruiken. Dan hoef je niet eens een nieuw wachtwoord te verzinnen. Bijkomend voordeel is dat wanneer Tailscale gehackt wordt, er geen gegevens van jou gelekt kunnen worden.

Omdat je nog geen enkele computer hebt aangesloten kom je meteen op de download pagina terecht. Iets anders valt er nog niet te beleven namelijk.
Als het goed is staat de juiste keuze voor jouw operating systeem reeds ingesteld. Klik op de download knop en installeer de gedownloade software. Dit is per OS verschillend.

Download voor Windows


Voor Windows wordt het installatie programma gedownload, wat gebruikelijk in de Downloads map te vinden zal zijn. Start dit programma door erop te dubbel kilkken.


Accoord gaan met de voorwaarden


Zoals gebruikelijk moet je akkoord gaan met de voorwaarden, anders kun je niet op Install klikken.


Succes


Na het installeren mag je nog op Close klikken. En dan gebeurt er niets meer.


Tailscale in je system tray


In je system tray is echter een nieuw icoontje verschenen. Klik op de 9 grijze puntjes om Tailscale te openen.
De webbrowser start nu en brengt je naar de aanmeldpagina. Log daar opnieuw in met hetzelfde account als waar je mee begonnen bent.


Bevestig de verbinding


Nu volgt de laatste stap. Klik op Connect en je computer is aangemeld in jouw eigen Tailscale netwerk.


Volgende apparaat


Je wordt daarna automatisch uitgenodigd om nog meer computers aan te melden. Met slechts een computer heb je natuurlijk nog geen netwerk. Het wordt pas leuk als je er meer op je Tailscale netwerk aanmeldt.
Heb je nog meer Windows computers, dan kun je de stappen hierboven gewoon herhalen.

Download voor Linux


Onder Linux gaat het een beetje anders. Dat komt voornamelijk omdat ervan uitgegaan wordt dat je geen grafische schil in je Linux omgeving hebt draaien. Dit is vaak het geval op een Raspberry Pi, of andere home server. Het maakt echter niet uit of je nu wel of geen grafische schil op je Linux computer draait. De installatie gaat hetzelfde.


Installatie voor Linux


Als je voor een Linux download hebt gekozen moet je de toverspreuk die getoond wordt kopiëren. Dat doe je door op de twee vierkantjes rechts naast de toverspreuk te klikken.
Open nu een terminalvenster. Dat mag rechtstreeks op de Linux machine zelf zijn, of via SSH. Plak nu de toverspreuk in dat venster (CTRL-Shift V) en druk op Enter. Eventueel moet je nog een keer je wachtwoord invullen.

curl -fsSL https://tailscale.com/install.sh | sh
   :
   :
   :
Installation complete! Log in to start using Tailscale by running:

sudo tailscale up

Het script gaat nu aan de slag. Het gaat kijken welke versie van Linux je hebt om te bepalen welk pakketbeheersysteem jouw versie gebruikt. Zodra het dat weet wordt een nieuwe pakketbron toegevoegd, waarna Tailscale via die pakketbron geïnstalleerd kan worden.
Zodra dat klaar is krijg je de opdracht om de volgende toverspreuk handmatig uit te voeren:

sudo tailscale up

To authenticate, visit:

        https://login.tailscale.com/a/b489933299518

Daarna krijg je een URL te zien die je moet kopiëren en in een browser moet plakken. Dat mag op een heel andere computer zijn. Daar moet je weer inloggen met je daarstraks ingesteld account. En weer moet je op Connect klikken om de Linux computer definitief aan te melden.
Als dat gedaan is zal het programma in de terminal success aangeven.

Download voor andere systemen


Je kunt alles bij elkaar tot 100 computers op deze manier aanmelden. Dat kunnen ook Apple computers, of Android of Apple telefoons of tablets zijn. Het is zelfs mogelijk om een Synology NAS toe te voegen. Op die manier kun je onderweg altijd op een veilige manier bij je bestanden.

Het is belangrijk om, naast je normale computers en telefoons, ook je servers op het Tailscale netwerk aan te melden. Op die manier kunnen dadelijk al je apparaten met elkaar praten, ongeacht waar ze zich op de wereld bevinden.

Samenvatting


Ongeacht welk systeem je ook wilt aanmelden het komt neer op de volgende stappen:

  • Na aanmelden op de Tailscale pagina klik je op "Download" bovenaan de pagina
  • Kies je operating systeem
  • Download de software
  • Start de software
  • Log in met je Tailscale account
  • Klik op Connect om je apparaat daadwerkelijk aan te melden.

Dat is alles. Vanaf nu zitten al je apparaten in hetzelfde Overlay network, zoals dat in vaktermen heet. Is dat niet frustrerend simpel?

Er kan nog meer


Eigenlijk ben je nu al klaar. Het werkt. Maar hoe werkt het nu? Wat is er veranderd? Zijn nu al mijn bovengenoemde uitdagingen opgelost? Wat kan er nog meer?

Ga naar de volgende pagina voor antwoorden op deze vragen.