Forstå, hvad der koordineres
Kontrolplanet håndterer noderegistrering og distribuerer netværksoplysninger. Datatrafik kan bruge direkte peer-forbindelser eller en relay afhængigt af forbindelsen. At køre koordinatoren betyder ikke, at hver pakke passerer gennem den.
Gør tilmelding bevidst
Beskyt den administrative API, og brug kortlivede eller passende afgrænsede registreringsmetoder. Fjern enheder, der er tabt eller udfaset. Muligheden for at tilslutte sig mesh'et bør ikke indebære adgang til alle tjenester.
Gennemgå ACL'er og ruter
Anvend mindst-privilegium-regler mellem brugere og noder. Annoncerede subnet-ruter og exit-noder udvider det tilgængelige netværk og kræver eksplicit godkendelse. Test afvist trafik lige så omhyggeligt som tilladt trafik.
Gem gendannelsesmaterialet
Tag backup af konfiguration, tilstand og nøgler i henhold til den understøttede versions procedure. Bevar en måde at administrere VPS, hvis mesh'et fejler. Verificér klientkompatibilitet og opgraderingsnoter, før du ændrer kontrolplanet.
Registrering, routing og politik er separate kontroller
Headscale koordinerer kompatible Tailscale-klienter; direkte forbindelser og DERP-relaystier har forskellig netværksadfærd. En subnet-router annoncerer et område, kontrolserveren godkender det, og klienten skal acceptere ruten. Aktivér forwarding på routing-noden, og hold annoncerede områder snævre. En godkendt rute kræver stadig en adgangspolitik, der begrænser, hvem der må bruge hvilken destination og port.
- Kontrollér kontrolserverens rutteliste
- Test fra en tilladt enhed
- Gentag samme test fra en enhed, der bør afvises
headscale nodes list-routesOfficiel dokumentation: Headscale-ruter
Læg ikke den eneste gendannelsesvej inde i mesh'et
Behold en anden måde at nå serverkonsollen eller en stramt begrænset administratorrute. Test, hvad der sker, når koordinatoren, relæet eller klienten ikke er tilgængelig. Bevar control-plane-tilstand og nøgler i overensstemmelse med den installerede version. Et privat mesh kan forenkle adgang, men det bør ikke blive en udokumenteret afhængighed, der forhindrer sin egen reparation.
Fastlæg control-plane-identiteten og gendannelsesruten
Vælg et stabilt HTTPS-navn, en understøttet Headscale-udgivelse og kompatible Tailscale-klienter. Læs det konfigurationseksempel, der følger med netop den udgivelse; en konfiguration kopieret fra en anden udgivelse kan fejle validering eller i det skjulte beskrive en anden politik. Bevar control-plane-databasen og de krævede nøgler. Hold den administrative API privat, og bevar en separat konsol eller begrænset SSH-rute, så tab af mesh'et ikke gør dets koordinator umulig at reparere.
- Brug et certifikat, der er gyldigt for det offentlige kontrolplansnavn.
- Hold tilmeldingsnøgler kortlivede og passende afgrænsede.
- Behandl relaydesignet og DNS-navnerummet som eksplicitte valg.
Officiel dokumentation: Headscale-containerimplementering
Tilmeld én enhed, før du annoncerer et netværk
Start serveren ved hjælp af upstream-instruktioner, og registrér én testbruger/enhed via den dokumenterede tilmeldingsmetode. Bekræft, at enheden når det forventede kontrol-URL og vises under den tilsigtede identitet. Undersøg klientstatus, og test én privat tjeneste, før du tilføjer exit-node- eller subnet-ruter. En DERP-sti kan bevare forbindelsen, hvor en direkte sti ikke er tilgængelig; det indikerer ikke, at koordinatoren videresender hver pakke.
- Start med en enhed og en tjeneste, du sikkert kan fjerne.
- Kontroller, om peertrafik er direkte eller videresendt.
- Beskyt relay- og kontrolendpoints i overensstemmelse med den valgte udrulning.
Officiel dokumentation: Headscale-implementeringsreference
Godkend routing og autorisation uafhængigt
For subnet-adgang skal du aktivere forwarding på routing-noden, annoncere et snævert område, godkende det på kontrolserveren og sikre, at destinationsklienten accepterer det. Undgå overlappende netværk, der gør returruten tvetydig. En godkendt rute er ikke en adgangspolitik: definér, hvem der kan forbinde til hvilken destination og port, inklusive gæsteenheder. Test en tilladt forbindelse og en identisk afvist forbindelse, før du udvider mesh'et.
# Run on the control server; syntax follows the installed release:
headscale nodes list-routes
# Client-side inspection:
tailscale statusOfficiel dokumentation: Headscale-subnet og exit-ruter
Find det brudte lag, før du ændrer politikken
Hvis tilmeldingen fejler, undersøg DNS, HTTPS og serveren URL. Hvis enheden tilsluttes, men et subnet ikke kan nås, undersøg annoncering, godkendelse, klientens accept af ruter, videresendelse og returvejen. Hvis kun én tjeneste fejler, undersøg dens bind-adresse, host-firewall og mesh-politik. Bevar en konsistent database-/konfigurationsbackup, og test en versionsopgradering med en engangsklient, før du ændrer det eneste kontrolplan.