Kako postaviti dinamički DNS

Što je dinamički DNS?

Uzmimo uobičajen primjer postavljanja DNS-a. Vaša domena je example.com, i imate " A" zapise za server1.example.comi server2.example.com. Server1 se nalazi u Vultru, ali server2 se nalazi na lokalnoj mreži, kao što je unutar vašeg poduzeća ili kao razvojni stroj u vašem domu. Obično ove vrste lokalnih okruženja imaju javne IP adrese koje se dinamički dodjeljuju od vašeg davatelja internetskih usluga (ISP) i mogu se neočekivano promijeniti. To bi rezultiralo time da server2 iznenada ukazuje na pogrešnu IP adresu što bi moglo ozbiljno utjecati na uslugu. Ovaj članak će vam pokazati kako postaviti vlastitu dinamičku DNS uslugu, koja radi na lokalnom računalu i može automatski ažurirati zapis za server2 u Vultr DNS-u nakon javne promjene IP-a.

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.

Preduvjeti

  • Pristup vašem Vultr računu za postavljanje DNS-a i upravljanje pristupnim ključevima.
  • Mogućnost povezivanja na lokalni stroj koji ima dinamičku IP adresu (ili pristup drugom stroju na istoj mreži).

Instalacija i postavljanje

Postavljanje vaše domene za korištenje Vultrove DNS usluge

  • Ako ne koristite Vultrovu DNS uslugu za svoju domenu, slijedite ovaj članak da biste promijenili svoje poslužitelje imena za korištenje s Vultrom.
  • Nakon što je Vultr DNS postavljen, idite na stranicu upravljanja DNS-om pod "Poslužitelji -> DNS -> [naziv vaše domene]".
  • Ovdje ćete pronaći sve zapise postavljene za vašu domenu. Zapišite koji zapis(e) želite promijeniti jer će vam to trebati kasnije.
    • AOvaj uslužni program podržava samo zapise " ". Ako imate više Azapisa " " koje želite ažurirati na istu IP adresu, promijenite ih u " CNAME" zapise i usmjerite ih na jedan " A" zapis. Ovo će vam dugoročno pojednostaviti stvari i smatra se ispravnim načinom konfiguracije DNS-a.

Ugradnja potrebnih alata

  • Povežite se s vašim lokalnim poslužiteljem. To može biti izravno ili putem SSH-a.
  • Ovaj alat zahtijeva Python 3. Većina distribucija Linuxa uključuje unaprijed instaliran Python. U slučaju da nije instaliran u vašem okruženju, upute su dostupne na službenom Python wikiju ovdje:
  • Ovaj proces također zahtijeva Git, koji možete instalirati prema uputama u nastavku:

Preuzimanje dinamičkog DNS klijenta

Koristite Git za kloniranje spremišta koje sadrži python DDNS klijenta. To biste trebali učiniti u sigurnom direktoriju za koji imate potpuni pristup. Vaša početna mapa trebala bi biti dovoljna. Pokrenite sljedeću naredbu:

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

Generiranje osobnog tokena za pristup

Generirajte osobni pristupni token u Vultr. To se može učiniti pod "Račun -> API -> Token za osobni pristup". Na istoj stranici morat ćete otići pod "Kontrola pristupa" i kliknuti gumb "Dopusti sve IPv4", budući da nećete svaki put znati IP vašeg lokalnog poslužitelja, stoga je točka dinamičkog DNS-a.

Konfiguriranje alata za vaš poslužitelj

  • Pročitajte config.json.exampledatoteku za primjer kako bi vaša konfiguracijska datoteka trebala izgledati.
  • Otvorite config.jsondatoteku pomoću svog omiljenog uređivača teksta i ispunite vrijednosti na temelju vaših specifičnih postavki poslužitelja.
  • Datoteka bi trebala sadržavati sljedeće:

    {
        "api_key": "",
        "domain": "",
        "dynamic_records": [
        ""
        ]
    }
    
  • Unesite svoj pristupni token u polje api_key.

  • Unesite svoju osnovnu domenu u domainpolje. Na primjer, example.com.
  • Sada u polje unesite Azapise " " koje želite promijeniti dynamic_records. Koristeći prethodni primjer, unijeli biste server2da automatski promijenite server2IP adresu korisnika. Možete unijeti više poddomena. Ako želite promijeniti osnovni Azapis " " za svoju domenu (koji se obično spominje kao @, zapis koji odgovara kada idete ravno na example.com), jednostavno ostavite prazne navodnike.
  • Ispravna konfiguracijska datoteka može izgledati ovako, gdje želite dinamički promijeniti IP za example.comi server2.example.com:

    {
        "api_key": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
        "domain": "example.com",
        "dynamic_records": [
        "",
        "server2"
        ]
    }
    
  • Sada spremite ove promjene i vaša bi datoteka trebala biti spremna!

Testirajte svoju konfiguraciju

  • Testirajte skriptu i konfiguraciju pokretanjem python3 ddns.py. Ako ovo ne vrati nikakve pogreške, vaša konfiguracija je nominalna i možete pokrenuti proces automatizacije.

Automatizacija

Nakon dovršetka osnovnog postavljanja, važno je postaviti ponavljajući zadatak jer skripta to ne čini prema zadanim postavkama. Povežite se na svoj lokalni stroj i slijedite dolje navedene korake na temelju vašeg operativnog sustava.

Linux i Mac OSX

Linux i Mac cronveć imaju instaliran uslužni program koji vam omogućuje da odredite skripte za izvođenje prema postavljenim rasporedima.

  • Pronađite puni put ddns.pydatoteke koristeći realpath ddns.pydok ste još u vultrddnsdirektoriju.
  • Pokrenite crontab -eda biste uredili svoj crontab.
  • Dodajte sljedeći redak na kraj datoteke, dodajući pravi put do ddns.pydatoteke:

    */30 * * * * python3 [full path to ddns.py] > /dev/null 2>&1
    
  • Ovo će pokrenuti skriptu svakih 30 minuta i sav njezin izlaz preusmjeriti na /dev/null.

  • Spremite i izađite iz uređivača teksta. Datoteka crontab automatski će se instalirati i vaš IP će se sada automatski ažurirati.

Windows

Napravite zadatak u Planeru zadataka koji će se izvoditi svakih 30 minuta. Slijedite Microsoftov vodič za izradu osnovnih zadataka.

  • Otvorite Task Scheduler i kliknite na "Kreiraj zadatak...".
  • Dajte mu ime i stvorite novi okidač.
  • Kliknite "Dnevno". Pod "Napredne postavke" kliknite za ponavljanje zadatka svakih 30 minuta i promijenite "trajanje od" u "Neograničeno".
  • Dodajte novu radnju za pokretanje programa i pregledavanje izvršne datoteke za Python. Dodajte ddns.pyskriptu kao argument.

Ostavite komentar

Uspon strojeva: primjene AI u stvarnom svijetu

Uspon strojeva: primjene AI u stvarnom svijetu

Umjetna inteligencija nije u budućnosti, ovdje je upravo u sadašnjosti. U ovom blogu Pročitajte kako su aplikacije umjetne inteligencije utjecale na različite sektore.

DDOS napadi: kratak pregled

DDOS napadi: kratak pregled

Jeste li i vi žrtva DDOS napada i zbunjeni ste metodama prevencije? Pročitajte ovaj članak kako biste riješili svoje upite.

Jeste li se ikada zapitali kako hakeri zarađuju novac?

Jeste li se ikada zapitali kako hakeri zarađuju novac?

Možda ste čuli da hakeri zarađuju mnogo novca, ali jeste li se ikada zapitali kako zarađuju toliki novac? raspravimo.

Revolucionarni Googleovi izumi koji će vam olakšati život.

Revolucionarni Googleovi izumi koji će vam olakšati život.

Želite li vidjeti revolucionarne izume Googlea i kako su ti izumi promijenili život svakog čovjeka danas? Zatim čitajte na blogu kako biste vidjeli Googleove izume.

Friday Essential: Što se dogodilo s automobilima s umjetnom inteligencijom?

Friday Essential: Što se dogodilo s automobilima s umjetnom inteligencijom?

Koncept samovozećih automobila koji će krenuti na ceste uz pomoć umjetne inteligencije san je koji već neko vrijeme imamo. No, unatoč nekoliko obećanja, nigdje ih nema. Pročitajte ovaj blog kako biste saznali više…

Tehnološka singularnost: daleka budućnost ljudske civilizacije?

Tehnološka singularnost: daleka budućnost ljudske civilizacije?

Kako se znanost razvija velikom brzinom, preuzimajući mnoge naše napore, raste i rizik da se podvrgnemo neobjašnjivoj Singularnosti. Pročitajte što bi za nas mogla značiti singularnost.

Funkcionalnosti slojeva referentne arhitekture velikih podataka

Funkcionalnosti slojeva referentne arhitekture velikih podataka

Pročitajte blog kako biste na najjednostavniji način upoznali različite slojeve u arhitekturi velikih podataka i njihove funkcionalnosti.

Evolucija pohrane podataka – Infografika

Evolucija pohrane podataka – Infografika

Metode pohrane podataka su se razvijale možda od rođenja podataka. Ovaj blog pokriva evoluciju pohrane podataka na temelju infografike.

6 nevjerojatnih prednosti posjedovanja pametnih kućnih uređaja u našim životima

6 nevjerojatnih prednosti posjedovanja pametnih kućnih uređaja u našim životima

U ovom digitalnom svijetu, pametni kućni uređaji postali su ključni dio života. Evo nekoliko nevjerojatnih prednosti pametnih kućnih uređaja o tome kako naš život čine vrijednim življenja i jednostavnijim.

Ažuriranje dodataka macOS Catalina 10.15.4 uzrokuje više problema nego što ih rješava

Ažuriranje dodataka macOS Catalina 10.15.4 uzrokuje više problema nego što ih rješava

Nedavno je Apple izdao macOS Catalina 10.15.4 dodatak ažuriranju kako bi riješio probleme, ali čini se da ažuriranje uzrokuje više problema koji dovode do zalijevanja mac strojeva. Pročitajte ovaj članak da biste saznali više