Deze app maakt externe toegang tot je homelab ontzettend eenvoudig—geen port forwarding nodig
Wanneer je een dienst op je thuisserver instelt, kun je er direct toegang toe krijgen door gewoon het IP-adres van de server in te typen, gevolgd door de poort waarop die dienst is toegewezen. Zolang je verbonden bent met hetzelfde netwerk als de server, kun je toegang krijgen tot die dienst.
Echter, wanneer je buiten bent en niet verbonden bent met je thuis-Wi-Fi, kun je niet direct toegang krijgen tot je thuisserver of de services ervan. Het gebruikelijke advies is om portforwarding op je router in te stellen of een reverse proxy te gebruiken. Maar dat zijn niet je enige opties. Er is een heel eenvoudige manier om buiten het interne netwerk toegang te krijgen tot je thuisserver en de services ervan.
Wat is Tailscale en hoe werkt het
Het geeft je een veilig, privé netwerk
Tegenwoordig heb ik een domeinnaam opgezet en gebruik ik de reverse proxy Caddy om toegang te krijgen tot mijn services op verschillende subdomeinen via HTTPS. Bijvoorbeeld, ik heb een zelfgehoste Vaultwarden-server die toegankelijk is via een URL die er ongeveer zo uitziet: https://vault.domeinnaam.com. Ik kan er vanaf elk netwerk, overal ter wereld, bij zoals bij een normale website. Het vergt echter wel wat installatie en gepuzzel.
Tailscale stelt je in staat iets vergelijkbaars te doen zonder de ingewikkelde configuraties. Je kunt je aanmelden voor Tailscale, het vervolgens uitvoeren op je server en je clientapparaten (je telefoon, laptop en andere apparaten) en het zal een veilig, privé netwerk voor je creëren.
Het netwerk wordt een "tailnet" genoemd. Alle apparaten die zijn verbonden met het privé-tailnet kunnen met elkaar communiceren. Tailscale wijst automatisch elk apparaat op je tailnet een IP-adres toe, waartoe alleen geautoriseerde apparaten die met hetzelfde netwerk verbonden zijn toegang hebben. Die apparaten kunnen overal ter wereld verbonden zijn met Wi-Fi, LAN of data en kunnen nog steeds de tailnet IP-adressen bereiken. Het is niet nodig om met poorten te rommelen.
Het beste is dat je die IP-adressen niet eens hoeft te onthouden, omdat Tailscale je voorziet van "magic DNS." In feite kun je in plaats van een IP-adres zoals http://100.x.x.x te typen, een gemakkelijk te onthouden naam typen zoals https://dietpi.lemon-cow.ts.net. Let op, het voorbeeld van magic DNS gebruikt HTTPS, wat sommige zelfgehoste diensten vereisen (zoals wachtwoordmanagers). Normaal gesproken is het gedoe om dit te configureren, maar met Tailscale hoef je alleen maar op één knop te klikken.
Tailscale is de eerste oplossing die ik gebruikte, en het werkte als magie voor de langste tijd. De enige reden dat ik het heb laten vallen is dat ik het onhandig vond om de Tailscale-app op mijn telefoon te moeten behouden en schakelen.
Tailscale instellen
Het kost maar twee opdrachten om het aan de praat te krijgen
Om te beginnen, wil je Tailscale op je server installeren. Er is een officieel script dat dat proces voor je automatiseert. Laten we het uitvoeren.
curl -fsSL https://tailscale.com/install.sh | shHet is altijd een goed idee om scripts van het internet te controleren voordat je ze uitvoert.
Start dan de Tailscale-service.
sudo tailscale upHet script installeert en voert Tailscale standaard uit als een systemd-service. Als uw server een ander init-systeem gebruikt, moet u handmatig een achtergrondservice hiervoor instellen.
Je ziet een link op de console afgedrukt. Volg die link om je aan te melden of in te loggen bij de Tailscale-console. Daarmee zou je server geautoriseerd en verbonden moeten zijn.
De volgende stap is het installeren van Tailscale op je apparaten. Voor Linux-machines kun je dezelfde commando's gebruiken om de Tailscale-service aan de praat te krijgen. Op Windows of macOS kun je de juiste installateurs van de Tailscale-website halen. Voor mobiele apparaten kun je de Tailscale-app downloaden uit de App Store of Play Store.
Je wilt inloggen op hetzelfde Tailscale-account dat je voor de server hebt gebruikt en je apparaten autoriseren. Controleer alle apparaten die momenteel op je tailnet staan met dit commando.
tailscale statusZoals ik al zei, is de gemakkelijke manier om toegang te krijgen tot uw server en de bijbehorende services via de MagicDNS-functie. Open het DNS-tabblad in uw Tailscale Console en scrol omlaag om de knoppen MagicDNS en HTTPS-certificaten te vinden. Zorg ervoor dat beide zijn ingeschakeld.
U kunt ook HTTPS-certificaten inschakelen voor uw tailnet door dit commando op uw server uit te voeren. Vervang het tailnet-adres door uw eigen adres.
sudo tailscale cert dietpi.lemon-cow.ts.netZodra al je servers en apparaten op hetzelfde tailnet zitten, kun je toegang krijgen tot actieve services vanaf elk van die apparaten, zolang Tailscale op dat apparaat draait. Laat me je nu laten zien hoe je dat doet.
Toegang krijgen tot uw zelfgehoste services met Tailscale
Vervang gewoon het server-IP door het Tailscale-adres
Stel dat je een Docker-container hebt waar je buiten je thuisnetwerk toegang toe wilt hebben.
Open de Tailscale-console opnieuw en ga naar het DNS-tabblad. Noteer je unieke tailnet-naam. Het kan er ongeveer zo uitzien: lemon-cow.ts.net. Ga vervolgens naar het Machines-tabblad en zoek naar de servernaam. Je hebt beide nodig om toegang te krijgen tot je server op het tailnet. Bijvoorbeeld, de mijne heet dietpi. Dus het volledige adres dat naar de server verwijst, zal er zo uitzien.
http://dietpi.lemon-cow.ts.netStel dat je een Docker-container actief hebt op poort 3001. Op je thuisnetwerk typ je meestal het IP-adres van de server, gevolgd door :3001. Het zou er ongeveer zo uit kunnen zien.
http://192.x.x.x:3001Nu je Tailscale hebt ingesteld met een unieke MagicDNS, kun je gewoon dat server-IP vervangen door het Tailscale-adres, de doelpoort behouden, en het zal werken alsof je op het lokale netwerk bent.
http://dietpi.lemon-cow.ts.net:3001Het zal op dezelfde manier werken voor alle toegewezen poorten.
Tailscale is een instel-en-vergeet-systeem
Tailscale maakt het eenvoudig om toegang te krijgen tot je home lab en je zelf-gehoste diensten wanneer je onderweg bent. Het is vrijwel een set-and-forget systeem dat gewoon werkt (meestal). Zelfs de installatie is eenvoudig genoeg.







