Cum să configurați DNS dinamic

Ce este DNS dinamic?

Să luăm un exemplu comun de configurare DNS. Domeniul dvs. este example.comși aveți " A" înregistrări pentru server1.example.comși server2.example.com. Server1 este găzduit în Vultr, dar server2 este găzduit pe o rețea locală, ca în interiorul afacerii tale sau ca o mașină de dezvoltare din casa ta. De obicei, aceste tipuri de medii locale au adrese IP publice sunt alocate dinamic de la Furnizorul de servicii Internet (ISP) și se pot schimba în mod neașteptat. Acest lucru ar duce la faptul că server2 indică brusc către o adresă IP greșită care ar putea afecta grav serviciul. Acest articol vă va arăta cum să configurați propriul serviciu DNS dinamic, care rulează pe o mașină locală și poate actualiza automat înregistrarea pentru server2 în Vultr DNS după o modificare publică a IP.

În timp ce clienților le place ddclientși inadynvor lucra pentru unii furnizori DNS, Vultr nu acceptă în prezent acestea și folosește în schimb propria sa API personalizată. Acest serviciu va rula local pe aparatul dvs. și va utiliza cererile GET și POST împreună cu cheia de acces.

Cerințe preliminare

  • Accesați contul dvs. Vultr pentru configurarea DNS și gestionarea cheilor de acces.
  • Posibilitatea de a vă conecta la mașina locală care are o adresă IP dinamică (sau acces la o altă mașină din aceeași rețea).

Instalare și configurare

Configurarea domeniului dvs. pentru a utiliza serviciul DNS al Vultr

  • Dacă nu utilizați serviciul DNS al Vultr pentru domeniul dvs., urmați acest articol pentru a modifica serverele de nume pentru a fi utilizate cu Vultr.
  • După ce Vultr DNS a fost configurat, accesați pagina de gestionare DNS la „Servere -> DNS -> [numele dvs. de domeniu]”.
  • Aici veți găsi toate înregistrările configurate pentru domeniul dvs. Scrieți ce înregistrări doriți să schimbați, deoarece veți avea nevoie de aceasta mai târziu.
    • Doar " A" înregistrările sunt acceptate de acest utilitar. Dacă aveți mai multe Aînregistrări " " pe care doriți să le actualizați la aceeași adresă IP, schimbați-le în " CNAME" înregistrări și indicați-le către o " A" înregistrare. Acest lucru va simplifica lucrurile pe termen lung și este considerat modul corect de configurare DNS.

Instalarea instrumentelor necesare

  • Conectați-vă la serverul local. Acest lucru poate fi direct sau prin SSH.
  • Acest instrument necesită Python 3. Majoritatea distribuțiilor Linux includ Python preinstalate. În cazul în care nu este instalat în mediul dvs., instrucțiunile sunt disponibile pe wiki-ul oficial Python aici:
  • Acest proces necesită, de asemenea, Git, pe care îl puteți instala cu instrucțiunile de mai jos:

Descărcarea clientului DNS dinamic

Utilizați Git pentru a clona depozitul care conține clientul python DDNS. Ar trebui să faceți acest lucru într-un director sigur pentru care aveți acces complet. Dosarul de acasă ar trebui să fie suficient. Executați următoarea comandă:

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

Generarea unui jeton de acces personal

Generați un token de acces personal în Vultr. Acest lucru se poate face sub "Cont -> API -> Token de acces personal". În aceeași pagină, va trebui să accesați „Controlul accesului” și să faceți clic pe butonul „Permite tot IPv4”, deoarece nu veți cunoaște IP-ul serverului dvs. local de fiecare dată, de aici punctul DNS dinamic.

Configurarea instrumentului pentru serverul dvs.

  • Citiți config.json.examplefișierul pentru un exemplu despre cum arăta fișierul dvs. de configurare.
  • Deschideți config.jsonfișierul folosind editorul de text preferat și completați valorile bazate pe configurarea specifică a serverului.
  • Fișierul trebuie să conțină următoarele:

    {
        "api_key": "",
        "domain": "",
        "dynamic_records": [
        ""
        ]
    }
    
  • Introduceți jetonul de acces în câmp api_key.

  • Introduceți domeniul de bază în domaincâmp. De exemplu example.com,.
  • Acum introduceți " A" înregistrările pe care doriți să le schimbați sub dynamic_recordscâmp. Folosind exemplul anterior, veți introduce server2pentru a modifica automat server2adresa IP. Puteți introduce mai multe subdomenii. Dacă doriți să schimbați înregistrarea de bază Apentru domeniul dvs. (denumită în mod obișnuit @, înregistrarea care răspunde atunci când navigați direct la example.com), lăsați pur și simplu ghilimele goale.
  • Un fișier de configurare corect poate arăta astfel, unde doriți să schimbați dinamic IP-ul pentru example.comși server2.example.com:

    {
        "api_key": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
        "domain": "example.com",
        "dynamic_records": [
        "",
        "server2"
        ]
    }
    
  • Acum salvați aceste modificări și fișierul dvs. ar trebui să fie bun de mers!

Testează-ți configurația

  • Testați scriptul și configurația rulând python3 ddns.py. Dacă acest lucru nu returnează erori, configurația dvs. este nominală și puteți începe procesul de automatizare.

Automatizare

După finalizarea configurației de bază, este important să configurați o sarcină recurentă, deoarece scriptul nu face acest lucru în mod implicit. Conectați-vă la mașina locală și urmați pașii de mai jos pe baza sistemului de operare.

Linux și Mac OSX

Linux și Mac au cronutilitatea deja instalată, ceea ce vă permite să specificați scripturile pentru a rula pe programele setate.

  • Găsiți calea completă a ddns.pyfișierului folosind realpath ddns.pyîncă în vultrddnsdirector.
  • Fugiți crontab -esă editați crontab.
  • Adăugați următoarea linie la sfârșitul fișierului, adăugând în calea reală a ddns.pyfișierului:

    */30 * * * * python3 [full path to ddns.py] > /dev/null 2>&1
    
  • Acesta va rula scriptul la fiecare 30 de minute și va redirecționa toată ieșirea la /dev/null.

  • Salvați și ieșiți din editorul de text. Fișierul crontab va fi automat instalat și IP-ul dvs. va fi actualizat automat acum.

ferestre

Creați o sarcină în Task Scheduler pentru a rula la fiecare 30 de minute. Urmați ghidul Microsoft pentru crearea sarcinilor de bază.

  • Deschideți Task Scheduler și faceți clic pe "Create Task ...".
  • Dați-i un nume și creați un nou declanșator.
  • Faceți clic pe „Zilnic”. În „Setări avansate” faceți clic pentru a repeta sarcina la fiecare 30 de minute și schimbați „pe o durată„ de „la„ Indefinit ”.
  • Adăugați o nouă acțiune pentru a porni un program și navigați la executabilul dvs. Python. Adăugați ddns.pyscriptul ca argument.

Lasă un comentariu

O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1

O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1

O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1

Funcționalitățile straturilor arhitecturii de referință pentru Big Data

Funcționalitățile straturilor arhitecturii de referință pentru Big Data

Citiți blogul pentru a cunoaște diferitele straturi din Arhitectura Big Data și funcționalitățile acestora în cel mai simplu mod.

6 lucruri extrem de nebunești despre Nintendo Switch

6 lucruri extrem de nebunești despre Nintendo Switch

Mulți dintre voi cunoașteți Switch care va fi lansat în martie 2017 și noile sale funcții. Pentru cei care nu știu, am pregătit o listă de funcții care fac din „Switch” un „gadget obligatoriu”.

Promisiuni tehnologice care sunt încă nelivrate

Promisiuni tehnologice care sunt încă nelivrate

Aștepți ca giganții tehnologiei să-și îndeplinească promisiunile? vezi ce a ramas nelivrat.

Cum poate AI să ducă automatizarea proceselor la următorul nivel?

Cum poate AI să ducă automatizarea proceselor la următorul nivel?

Citiți asta pentru a afla cum devine populară inteligența artificială în rândul companiilor la scară mică și cum crește probabilitățile de a le face să crească și de a le oferi concurenților avantaje.

Singularitatea tehnologică: un viitor îndepărtat al civilizației umane?

Singularitatea tehnologică: un viitor îndepărtat al civilizației umane?

Pe măsură ce Știința Evoluează într-un ritm rapid, preluând multe dintre eforturile noastre, crește și riscurile de a ne supune unei Singularități inexplicabile. Citiți, ce ar putea însemna singularitatea pentru noi.

CAPTCHA: Cât timp poate rămâne o tehnică viabilă pentru distincția uman-AI?

CAPTCHA: Cât timp poate rămâne o tehnică viabilă pentru distincția uman-AI?

CAPTCHA a devenit destul de dificil de rezolvat pentru utilizatori în ultimii ani. Va fi capabil să rămână eficient în detectarea spam-ului și a botului în viitor?

Telemedicină și îngrijire medicală la distanță: viitorul este aici

Telemedicină și îngrijire medicală la distanță: viitorul este aici

Ce este telemedicina, îngrijirea medicală la distanță și impactul acesteia asupra generației viitoare? Este un loc bun sau nu în situația de pandemie? Citiți blogul pentru a găsi o vedere!

Te-ai întrebat vreodată cum câștigă hackerii bani?

Te-ai întrebat vreodată cum câștigă hackerii bani?

Poate ați auzit că hackerii câștigă mulți bani, dar v-ați întrebat vreodată cum câștigă acești bani? sa discutam.

Actualizarea suplimentului macOS Catalina 10.15.4 cauzează mai multe probleme decât rezolvă

Actualizarea suplimentului macOS Catalina 10.15.4 cauzează mai multe probleme decât rezolvă

Recent, Apple a lansat macOS Catalina 10.15.4 o actualizare suplimentară pentru a remedia problemele, dar se pare că actualizarea provoacă mai multe probleme care duc la blocarea mașinilor Mac. Citiți acest articol pentru a afla mai multe