Sådan opsætter du dynamisk DNS

Hvad er dynamisk DNS?

Lad os tage et almindeligt eksempel på en DNS-opsætning. Dit domæne er example.com, og du har " A" registreringer for server1.example.comog server2.example.com. Server1 hostes i Vultr, men server2 hostes på et lokalt netværk, f.eks. inde i din virksomhed eller som en udviklingsmaskine i dit hjem. Disse typer lokale miljøer har typisk offentlige IP-adresser, der er dynamisk tildelt fra din internetudbyder (ISP), og de kan ændre sig uventet. Dette ville resultere i, at server2 pludselig peger på en forkert IP-adresse, hvilket kan påvirke tjenesten alvorligt. Denne artikel viser dig, hvordan du opsætter din egen dynamiske DNS-tjeneste, som kører på en lokal maskine og kan opdatere posten for server2 i Vultr DNS automatisk efter en offentlig IP-ændring.

While clients like ddclient and inadyn will work for some DNS providers, Vultr does not currently support these and instead uses its own custom API. This service will run locally on your machine and use GET and POST requests along with your access key.

Forudsætninger

  • Adgang til din Vultr-konto for at konfigurere DNS og administrere adgangsnøgler.
  • Mulighed for at oprette forbindelse til den lokale maskine, der har en dynamisk IP-adresse (eller adgang til en anden maskine på samme netværk).

Installation og opsætning

Opsætning af dit domæne til at bruge Vultrs DNS-tjeneste

  • Hvis du ikke bruger Vultrs DNS-tjeneste til dit domæne, skal du følge denne artikel for at ændre dine navneservere til brug med Vultr.
  • Når Vultr DNS er konfigureret, skal du gå til DNS-administrationssiden under "Servere -> DNS -> [dit domænenavn]".
  • Her finder du alle de registreringer, der er oprettet for dit domæne. Skriv ned hvilke(n) post(er), du gerne vil ændre, da du skal bruge dette senere.
    • Kun " A" registreringer understøttes af dette værktøj. Hvis du har flere " A"-poster, som du vil have opdateret til den samme IP-adresse, skal du ændre dem til " CNAME"-poster og pege dem til én " A"-post. Dette vil forenkle tingene for dig i det lange løb og anses for at være den rigtige måde at konfigurere DNS på.

Installation af de nødvendige værktøjer

  • Opret forbindelse til din lokale server. Dette kan være direkte eller gennem SSH.
  • Dette værktøj kræver Python 3. De fleste distributioner af Linux inkluderer Python forudinstalleret. I tilfælde af at det ikke er installeret i dit miljø, er instruktionerne tilgængelige på den officielle Python-wiki her:
  • Denne proces kræver også Git, som du kan installere med instruktionerne nedenfor:

Downloader den dynamiske DNS-klient

Brug Git til at klone depotet, der indeholder python DDNS-klienten. Du bør gøre dette i en sikker mappe, som du har fuld adgang til. Din hjemmemappe burde være tilstrækkelig. Kør følgende kommando:

git clone https://github.com/andyjsmith/Vultr-Dynamic-DNS.git vultrddns && cd vultrddns

Generering af et personligt adgangstoken

Generer et personligt adgangstoken i Vultr. Dette kan gøres under "Konto -> API -> Personal Access Token". På den samme side skal du gå under "Adgangskontrol" og klikke på knappen "Tillad alle IPv4", da du ikke vil kende IP-adressen på din lokale server hver gang, deraf pointen med dynamisk DNS.

Konfiguration af værktøjet til din server

  • Læs config.json.examplefilen igennem for et eksempel på, hvordan din konfigurationsfil skal se ud.
  • Åbn config.jsonfilen ved hjælp af din foretrukne teksteditor, og udfyld værdierne baseret på din specifikke serveropsætning.
  • Filen skal indeholde følgende:

    {
        "api_key": "",
        "domain": "",
        "dynamic_records": [
        ""
        ]
    }
    
  • Indtast dit adgangstoken i feltet api_key.

  • Indtast dit basisdomæne i domainfeltet. For eksempel example.com.
  • Indtast nu de " A"-poster, du vil ændre, under dynamic_recordsfeltet. Ved at bruge det forrige eksempel, ville du indtaste server2for automatisk at ændre server2's IP-adresse. Du kan indtaste flere underdomæner. Hvis du vil ændre " A" basisregistreringen for dit domæne (almindeligvis refereret til som en @, den post, der reagerer, når du navigerer direkte til example.com), skal du blot lade tomme anførselstegn.
  • En korrekt konfigurationsfil kan se sådan ud, hvor du dynamisk vil ændre IP'en for example.comog server2.example.com:

    {
        "api_key": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
        "domain": "example.com",
        "dynamic_records": [
        "",
        "server2"
        ]
    }
    
  • Gem nu disse ændringer, og din fil skulle være klar!

Test din konfiguration

  • Test scriptet og konfigurationen ved at køre python3 ddns.py. Hvis dette ikke returnerer nogen fejl, er din konfiguration nominel, og du kan starte automatiseringsprocessen.

Automatisering

Efter at have gennemført den grundlæggende opsætning, er det vigtigt at opsætte en tilbagevendende opgave, da scriptet ikke gør dette som standard. Tilslut til din lokale maskine og følg nedenstående trin baseret på dit operativsystem.

Linux og Mac OSX

Linux og Mac har cronværktøjet allerede installeret, som lader dig specificere scripts til at køre på fastsatte tidsplaner.

  • Find den fulde sti til ddns.pyfilen, realpath ddns.pymens du stadig er i vultrddnsmappen.
  • Kør for crontab -eat redigere din crontab.
  • Tilføj følgende linje til slutningen af ​​filen, og tilføj den rigtige sti til ddns.pyfilen:

    */30 * * * * python3 [full path to ddns.py] > /dev/null 2>&1
    
  • Dette vil køre scriptet hvert 30. minut og omdirigere alt dets output til /dev/null.

  • Gem og afslut teksteditoren. Crontab-filen vil automatisk blive installeret, og din IP vil nu automatisk blive opdateret.

Windows

Opret en opgave i Task Scheduler til at køre hvert 30. minut. Følg Microsoft-vejledningen for grundlæggende opgaveoprettelse.

  • Åbn Task Scheduler og klik på "Opret opgave...".
  • Giv det et navn og opret en ny trigger.
  • Klik på "Dagligt". Under "Avancerede indstillinger" skal du klikke for at gentage opgaven hvert 30. minut og ændre "i en varighed af" til "på ubestemt tid".
  • Tilføj en ny handling for at starte et program og browse til din Python-eksekverbare. Tilføj ddns.pyscriptet som et argument.

Efterlad en kommentar

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Kunstig intelligens er ikke i fremtiden, det er her lige i nuet I denne blog Læs, hvordan kunstig intelligens-applikationer har påvirket forskellige sektorer.

DDOS-angreb: et kort overblik

DDOS-angreb: et kort overblik

Er du også et offer for DDOS-angreb og forvirret over forebyggelsesmetoderne? Læs denne artikel for at løse dine spørgsmål.

Har du nogensinde spekuleret på, hvordan tjener hackere penge?

Har du nogensinde spekuleret på, hvordan tjener hackere penge?

Du har måske hørt, at hackere tjener mange penge, men har du nogensinde spekuleret på, hvordan tjener de den slags penge? lad os diskutere.

Revolutionære opfindelser fra Google, der vil gøre dit liv lettere.

Revolutionære opfindelser fra Google, der vil gøre dit liv lettere.

Vil du se revolutionerende opfindelser fra Google, og hvordan disse opfindelser ændrede livet for ethvert menneske i dag? Læs derefter til bloggen for at se opfindelser fra Google.

Fredag ​​Essential: Hvad skete der med AI-drevne biler?

Fredag ​​Essential: Hvad skete der med AI-drevne biler?

Konceptet med selvkørende biler til at køre på vejene ved hjælp af kunstig intelligens er en drøm, vi har haft i et stykke tid nu. Men på trods af flere løfter er de ingen steder at se. Læs denne blog for at lære mere...

Teknologisk singularitet: En fjern fremtid for menneskelig civilisation?

Teknologisk singularitet: En fjern fremtid for menneskelig civilisation?

Efterhånden som videnskaben udvikler sig i et hurtigt tempo og overtager en stor del af vores indsats, stiger risikoen for at udsætte os selv for en uforklarlig Singularitet. Læs, hvad singularitet kunne betyde for os.

Funktioner af Big Data Reference Architecture Layers

Funktioner af Big Data Reference Architecture Layers

Læs bloggen for at kende forskellige lag i Big Data-arkitekturen og deres funktionaliteter på den enkleste måde.

Udvikling af datalagring – Infografik

Udvikling af datalagring – Infografik

Opbevaringsmetoderne for dataene har været under udvikling, kan være siden fødslen af ​​dataene. Denne blog dækker udviklingen af ​​datalagring på basis af en infografik.

6 fantastiske fordele ved at have smarte hjemmeenheder i vores liv

6 fantastiske fordele ved at have smarte hjemmeenheder i vores liv

I denne digitalt drevne verden er smarte hjemmeenheder blevet en afgørende del af livet. Her er et par fantastiske fordele ved smarte hjemmeenheder om, hvordan de gør vores liv værd at leve og enklere.

macOS Catalina 10.15.4-tillægsopdatering forårsager flere problemer end at løse

macOS Catalina 10.15.4-tillægsopdatering forårsager flere problemer end at løse

For nylig udgav Apple macOS Catalina 10.15.4 en supplerende opdatering for at løse problemer, men det ser ud til, at opdateringen forårsager flere problemer, hvilket fører til mursten af ​​mac-maskiner. Læs denne artikel for at lære mere