Çfarë është DNS dinamike?
Parakushtet
Instalimi dhe konfigurimi
Automatizimi
Çfarë është DNS dinamike?
Le të marrim një shembull të zakonshëm të një konfigurimi DNS. Domeni juaj është example.com, dhe ju keni të Adhëna për " " server1.example.comdhe server2.example.com. Server1 është pritur në Vultr, por server2 është pritur në një rrjet lokal, si brenda biznesit tuaj ose si një makinë zhvillimi në shtëpinë tuaj. Në mënyrë tipike, këto lloje mjedisesh lokale kanë adresa IP publike që janë caktuar në mënyrë dinamike nga Ofruesi juaj i Shërbimit të Internetit (ISP) dhe ato mund të ndryshojnë papritur. Kjo do të rezultonte që server2 të tregojë papritur një adresë IP të gabuar e cila mund të ndikojë rëndë në shërbim. Ky artikull do t'ju tregojë se si të konfiguroni shërbimin tuaj dinamik DNS, i cili funksionon në një makinë lokale dhe mund të përditësojë automatikisht rekordin për server2 në Vultr DNS pas një ndryshimi të IP-së publike.
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.
Parakushtet
- Hyni në llogarinë tuaj Vultr për të konfiguruar DNS dhe për të menaxhuar çelësat e hyrjes.
- Aftësia për t'u lidhur me makinën lokale që ka një adresë IP dinamike (ose akses në një makinë tjetër në të njëjtin rrjet).
Instalimi dhe konfigurimi
Konfigurimi i domenit tuaj për të përdorur shërbimin DNS të Vultr
- Nëse nuk po përdorni shërbimin DNS të Vultr për domenin tuaj, ndiqni këtë artikull për të modifikuar serverët tuaj të emrave për t'u përdorur me Vultr.
- Pasi të jetë konfiguruar Vultr DNS, shkoni te faqja e menaxhimit të DNS nën "Serverët -> DNS -> [emri juaj i domenit]".
- Këtu do të gjeni të gjitha të dhënat e vendosura për domenin tuaj. Shkruani se cilat regjistrime dëshironi të ndryshoni, pasi kjo do t'ju duhet më vonë.
- Vetëm "
A" regjistrimet mbështeten nga ky program. Nëse keni " A" shumë regjistrime që dëshironi të përditësohen në të njëjtën adresë IP, ndryshojini ato në " CNAME" regjistrime dhe drejtojini te një " A" rekorde. Kjo do t'ju thjeshtojë gjërat në planin afatgjatë dhe konsiderohet mënyra e duhur për të konfiguruar DNS.
Instalimi i mjeteve të nevojshme
- Lidhu me serverin tënd lokal. Kjo mund të jetë drejtpërdrejt ose përmes SSH.
- Ky mjet kërkon Python 3. Shumica e shpërndarjeve të Linux përfshijnë Python të parainstaluar. Në rast se nuk është i instaluar në mjedisin tuaj, udhëzimet janë të disponueshme në wiki zyrtare të Python këtu:
- Ky proces kërkon gjithashtu Git, të cilin mund ta instaloni me udhëzimet e mëposhtme:
Shkarkimi i klientit Dynamic DNS
Përdorni Git për të klonuar depon që përmban klientin python DDNS. Ju duhet ta bëni këtë në një drejtori të sigurt për të cilën keni akses të plotë. Dosja juaj e shtëpisë duhet të jetë e mjaftueshme. Ekzekutoni komandën e mëposhtme:
git clone https://github.com/andyjsmith/Vultr-Dynamic-DNS.git vultrddns && cd vultrddns
Gjenerimi i një kodi personal aksesi
Gjeneroni një shenjë hyrjeje personale në Vultr. Kjo mund të bëhet nën "Llogaria -> API -> Shenja e hyrjes personale". Në të njëjtën faqe, do t'ju duhet të shkoni te "Access Control" dhe të klikoni butonin "Lejo të gjitha IPv4", pasi nuk do ta njihni IP-në e serverit tuaj lokal çdo herë, pra pikën e DNS-së dinamike.
Konfigurimi i mjetit për serverin tuaj
- Lexoni përmes
config.json.exampleskedarit për një shembull se si duhet të duket skedari juaj i konfigurimit.
- Hapni
config.jsonskedarin duke përdorur redaktuesin tuaj të preferuar të tekstit dhe plotësoni vlerat bazuar në konfigurimin e serverit tuaj specifik.
Skedari duhet të përmbajë sa vijon:
{
"api_key": "",
"domain": "",
"dynamic_records": [
""
]
}
Futni shenjën tuaj të hyrjes në fushë api_key.
- Futni domenin tuaj bazë në
domainfushë. Për shembull, example.com.
- Tani futni të
Adhënat që dëshironi të ndryshoni nën dynamic_recordsfushë. Duke përdorur shembullin e mëparshëm, do të futni server2për të ndryshuar automatikisht server2adresën IP të. Mund të futni shumë nëndomanë. Nëse doni të ndryshoni " A" rekordin bazë për domenin tuaj (zakonisht i referuar si një @, rekordi që përgjigjet kur lundroni drejtpërdrejt te example.com), thjesht lini thonjëza boshe.
Një skedar i duhur konfigurimi mund të duket kështu, ku dëshironi të ndryshoni dinamikisht IP-në për example.comdhe server2.example.com:
{
"api_key": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"domain": "example.com",
"dynamic_records": [
"",
"server2"
]
}
Tani ruani këto ndryshime dhe skedari juaj duhet të jetë i gatshëm!
Testoni konfigurimin tuaj
- Testoni skriptin dhe konfigurimin duke ekzekutuar
python3 ddns.py. Nëse kjo nuk kthen asnjë gabim, konfigurimi juaj është nominal dhe mund të filloni procesin e automatizimit.
Automatizimi
Pas përfundimit të konfigurimit bazë, është e rëndësishme të vendosni një detyrë të përsëritur pasi skripti nuk e bën këtë si parazgjedhje. Lidhuni me makinën tuaj lokale dhe ndiqni hapat e mëposhtëm bazuar në sistemin tuaj operativ.
Linux dhe Mac OSX
Linux dhe Mac e kanë programin crone instaluar tashmë, i cili ju lejon të specifikoni skriptet për t'u ekzekutuar sipas orareve të përcaktuara.
- Gjeni shtegun e plotë të
ddns.pyskedarit duke përdorur realpath ddns.pyndërsa jeni ende në vultrddnsdrejtori.
- Vraponi
crontab -epër të modifikuar krontabin tuaj.
Shtoni rreshtin e mëposhtëm në fund të skedarit, duke shtuar në shtegun real të ddns.pyskedarit:
*/30 * * * * python3 [full path to ddns.py] > /dev/null 2>&1
Kjo do të ekzekutojë skenarin çdo 30 minuta dhe do të ridrejtojë të gjithë daljen e tij në /dev/null.
- Ruani dhe dilni nga redaktori i tekstit. Skedari crontab do të instalohet automatikisht dhe IP-ja juaj tani do të përditësohet automatikisht.
Dritaret
Krijo një detyrë në Task Scheduler për të ekzekutuar çdo 30 minuta. Ndiqni udhëzuesin e Microsoft për krijimin e detyrave bazë.
- Hapni Task Scheduler dhe klikoni "Create Task...".
- Jepini një emër dhe krijoni një shkas të ri.
- Klikoni "Dita". Nën "Cilësimet e avancuara" klikoni për të përsëritur detyrën çdo 30 minuta dhe ndryshoni "për një kohëzgjatje" në "Pafundësisht".
- Shtoni një veprim të ri për të nisur një program dhe për të shfletuar në ekzekutuesin tuaj Python. Shtoni
ddns.pyskriptin si argument.