Begrijp wat wordt gecoördineerd
Het controlevlak beheert de registratie van nodes en distribueert netwerkinformatie. Gegevensverkeer kan directe peer-verbindingen of een relay gebruiken, afhankelijk van de connectiviteit. Het draaien van de coördinator betekent niet dat elk pakket erdoorheen gaat.
Maak inschrijving bewust
Bescherm de administratieve API en gebruik kortlevende of passend afgebakende registratiemethoden. Verwijder apparaten die verloren of buiten gebruik zijn. De mogelijkheid om lid te worden van het mesh mag geen toegang tot elke dienst impliceren.
Controleer ACL's en routes
Pas regels voor minimale rechten toe tussen gebruikers en nodes. Geadverteerde subnetroutes en exitnodes vergroten het bereikbare netwerk en vereisen expliciete goedkeuring. Test geweigerd verkeer even zorgvuldig als toegestaan verkeer.
Bewaar het herstelmateriaal
Maak een back-up van configuratie, status en sleutels volgens de procedure van de ondersteunde versie. Houd een manier om de VPS te beheren als het mesh uitvalt. Verifieer clientcompatibiliteit en upgrade-opmerkingen voordat u het controlevlak wijzigt.
Registratie, routering en beleid zijn afzonderlijke controles
Headscale coördineert compatibele Tailscale-clients; directe verbindingen en DERP-relaypaden hebben verschillend netwerkgedrag. Een subnetrouter adverteert een bereik, de controleserver keurt dit goed en de client moet de route accepteren. Schakel forwarding in op het routerende knooppunt en houd geadverteerde bereiken smal. Een goedgekeurde route vereist nog steeds een toegangsbeleid dat beperkt wie welke bestemming en poort mag gebruiken.
- Controleer de routelijst van de controleserver
- Test vanaf een toegestaan apparaat
- Herhaal dezelfde test vanaf een apparaat dat geweigerd zou moeten worden
headscale nodes list-routesOfficiële documentatie: Headscale-routes
Plaats het enige herstelpad niet binnen het mesh
Houd een tweede manier achter de hand om de serverconsole of een strikt beperkte beheerdersroute te bereiken. Test wat er gebeurt wanneer de coördinator, relay of client niet beschikbaar is. Bewaar de status en sleutels van het controleplan volgens de geïnstalleerde versie. Een privémesh kan toegang vereenvoudigen, maar mag geen ongedocumenteerde afhankelijkheid worden die het eigen herstel verhindert.
Herstel de identiteit van het controleplan en de herstelroute
Kies een stabiele HTTPS-naam, een ondersteunde Headscale-release en compatibele Tailscale-clients. Lees het configuratievoorbeeld dat bij die exacte release wordt meegeleverd; een configuratie die uit een andere release is gekopieerd kan de validatie niet doorstaan of stilzwijgend een ander beleid beschrijven. Bewaar de control-plane-database en vereiste sleutels persistent. Houd de administratieve API privé en behoud een afzonderlijke console of beperkte SSH-route, zodat het verliezen van de mesh de coördinator ervan niet onherstelbaar maakt.
- Gebruik een certificaat dat geldig is voor de publieke control-plane-naam.
- Houd inschrijvingssleutels kortlevend en passend afgebakend.
- Behandel het relayontwerp en de DNS-naamruimte als expliciete keuzes.
Officiële documentatie: Headscale-containerimplementatie
Registreer één apparaat voordat u een netwerk aankondigt
Start de server op met upstream-instructies en registreer één testgebruiker/apparaat via de gedocumenteerde inschrijvingsmethode. Bevestig dat het apparaat het verwachte controle-URL bereikt en onder de beoogde identiteit verschijnt. Controleer de clientstatus en test één privédienst voordat je exit-node- of subnetroutes toevoegt. Een DERP-pad kan de connectiviteit behouden waar een direct pad niet beschikbaar is; het geeft niet aan dat de coördinator elk pakket doorstuurt.
- Begin met een apparaat en dienst die je veilig kunt verwijderen.
- Controleer of peerverkeer direct of via een relay verloopt.
- Bescherm de relay- en controle-endpoints volgens de gekozen implementatie.
Officiële documentatie: Headscale-implementatiereferentie
Keur routing en autorisatie onafhankelijk goed
Schakel voor subnettoegang forwarding in op het routerende knooppunt, adverteer een smal bereik, keur dit goed op de controleserver en zorg dat de bestemmingsclient dit accepteert. Vermijd overlappende netwerken die de retourroute dubbelzinnig maken. Een goedgekeurde route is geen toegangsbeleid: definieer wie verbinding kan maken met welke bestemming en poort, inclusief gastapparaten. Test een toegestane verbinding en een identieke geweigerde verbinding voordat u het mesh uitbreidt.
# Run on the control server; syntax follows the installed release:
headscale nodes list-routes
# Client-side inspection:
tailscale statusOfficiële documentatie: Headscale-subnet en exit-routes
Vind de kapotte laag voordat je het beleid wijzigt
Als inschrijving mislukt, controleer DNS, HTTPS en de server URL. Als het apparaat deelneemt maar een subnet onbereikbaar is, controleer dan aankondiging, goedkeuring, acceptatie van clientroutes, doorsturen en het retourpad. Als slechts één service mislukt, controleer dan het bindadres, de hostfirewall en het mesh-beleid. Bewaar een consistente back-up van database/configuratie en test een versie-upgrade met een wegwerpclient voordat u het enige controlevlak wijzigt.