No description
Find a file
2026-05-27 21:38:07 +02:00
dns dns 2026-05-27 21:33:04 +02:00
install.sh install.sh 2026-05-27 21:33:48 +02:00
README.md Update README.md 2026-05-27 21:38:07 +02:00

DNS Manager - grandedata.no

Et selvhostet verktøy som automatisk holder DNS-records oppdatert hos Domeneshop når ekstern IP endrer seg (DDNS), og lar deg administrere subdomener direkte fra terminalen.


Hvordan det fungerer

Alt ligger i én enkelt fil (dns) som gjør to ting:

  1. DDNS — Kjøres automatisk av cron hvert 5. minutt. Henter ekstern IP via ipify.org og sammenligner med sist kjente IP. Hvis IP har endret seg, oppdateres alle A-records på kontoen automatisk via Domeneshop sitt API.

  2. DNS-administrasjon — Lar deg opprette, slette og liste A-records direkte fra terminalen uten å måtte logge inn i Domeneshop-panelet. Nye subdomener opprettes med nåværende ekstern IP med én gang, og holdes automatisk oppdatert videre av DDNS-jobben.

Kommandoer

dns list                 # List alle A-records
dns opprett <subdomene>  # Opprett nytt subdomene med nåværende ekstern IP
dns slett <subdomene>    # Slett subdomene

Krav

  • Debian 13 (Trixie) LXC
  • curl og python3 (installeres automatisk av install.sh)
  • API-token og secret fra Domeneshop (domeneshop.no/admin?view=api)

Installasjon

  1. Klon repoet på LXC-en:
git clone https://git.grandedata.no/GrandeData/domeneshopdns
cd domeneshopdns
  1. Fyll inn TOKEN og SECRET øverst i dns-filen:
nano dns
  1. Kjør install-scriptet som root:
bash install.sh

Dette installerer dns i /usr/local/bin/, setter opp cron-jobben, konfigurerer MOTD og kjører en første test.

Filer

Fil Beskrivelse
dns Hovedscriptet — håndterer både DDNS og DNS-administrasjon
install.sh Installasjonsscript for fersk Debian 13 LXC

Logging

Alle hendelser logges til /var/log/ddns-update.log:

tail -f /var/log/ddns-update.log

Infrastruktur

Kjører som en minimal LXC-container på Proxmox (pve1) med 1 kjerne, 512 MB RAM og 2 GB disk på VLAN40. Veldig lite ressursbruk — scriptet gjør kun noen enkle API-kall hvert 5. minutt.

Sikkerhet

  • dns-filen har chmod 700 så bare root kan lese token og secret
  • Credentials ligger kun lokalt på LXC-en og sendes aldri videre