Jump to content

Headscale: Difference between revisions

From Khalidi
skrev om konfigureringen
m formaterings feil
Line 13: Line 13:
har konfigurert.
har konfigurert.


==== [https://headscale.net/stable/ref/dns/ Magic DNS] ==== For at vi skal
==== [https://headscale.net/stable/ref/dns/ Magic DNS] ====  
For at vi skal
kunne slippe å huske ip-adressa til [[Orange Pi|orangepien]], har vi slått på
kunne slippe å huske ip-adressa til [[Orange Pi|orangepien]], har vi slått på
den innebygde DNS-en til Headscale. DNS-en kan konfigureres på to måter; vi
den innebygde DNS-en til Headscale. DNS-en kan konfigureres på to måter; vi

Revision as of 18:33, 15 January 2026

Magien som får oppsettet vårt til å kjøre heter Headscale. Det er en VPN-løsning som bruker Wireguard protokollen. Dette er en selvhosta versjon av Tailscale, som betyr at vi har kontroll på all trafikken selv. I tillegg slipper vi å betale for Tailscale-tjenesta.

Headscale er hosta på VPS-en (Jaffa). Det var vi nødt til å gjøre fordi måten man kobler seg på nettverket er gjennom en URL, og denne URL-en må være kobla opp mot ei statisk IP-adresse. Om denne IP-adressa ikke er statisk, vil koblinga kun fungere helt til adressa endrer seg.

Nyttig å vite

Headscale gjør en del, la oss se på noen av tingene vi har konfigurert.

For at vi skal kunne slippe å huske ip-adressa til orangepien, har vi slått på den innebygde DNS-en til Headscale. DNS-en kan konfigureres på to måter; vi bruker måten som krever en ekstra fil, extra-records.json. Det har vi gjort for å gjøre ting mer oversiktlig.

Her er et eksempel på hva som kan være inne i denne fila:

 
[ 
    {
    "name": "pocketid.private.studenterforpalestina.no",
    "type": "A",
    "value": "100.64.0.2" 
    }
]

NB! Hvert å merke seg at vi er nødt til å ha 'private' i sub domenet.

I 99.999 % av tilfellene vil vi sette value til å være 100.64.0.2, da dette er ip-adressa til orangepien på Tailscale-nettverket.

By deafult setter Headscale opp et mesh-nettverk hvor alle maskiner har tilgang til hverandre. Det vil si at vi i teorien kunne DDoS-et hverandre, scanna hverandres porter, eller nådd hverandres private tjenester om vi hoster noe på egen PC.

I vårt tilfelle har vi satt opp ACLen til å ikke tillate dette. For å lære mer om hvordan vi begrenser dette, kan man sjekke ACL-fila vi bruker, eventuelt sjekke dette eksempelet fra Headscale sin nettside.

Config-fila

Det er enda mer konfigurering som er gjort i selve config.yaml, men det er alt for mye å dekke her. I tillegg inneholder standard konfigfila masse kommentarer som vi har beholdt for å forklare hva de ulike valgene gjør.

Kan anbefale å lese mer på den offisielle dokumentasjonen til Headscale.

Nyttig å vite (Kommandoer)

Siden vi kjører Headscale i en docker container, må vi bruke docker exec for å kjøre kommandoer. Den første "headscale" i kommandoen er navnet på containeren, mens den andre er selve programmet.

Liste over brukere

docker exec headscale headscale users list

Opprette en ny bruker

docker exec headscale headscale users create <BRUKERNAVN>

Lage en autentiseringsnøkkel

For å generere en nøkkel som lar en ny enhet koble seg til:

docker exec headscale headscale preauthkeys create --user <BRUKERNAVN>

Hjelp-menyen

Hjelp-kommandoene er veldig nyttige. Du kan få oversikt over alt du kan gjøre her:

docker exec headscale headscale --help

NB! Hver underkommando har sin egen hjelp-side som er veldig godt skrevet. Jeg anbefaler å lese dem hvis du er usikker på flagg eller parametere.

Kategori:Tjenester