Mikä on dynaaminen DNS?
Edellytykset
Asennus ja asennus
Automaatio
Mikä on dynaaminen DNS?
Otetaan yleinen esimerkki DNS-asetuksesta. Verkkotunnuksesi on example.com" A" ja sinulla on tietueet kohteille server1.example.comja server2.example.com. Palvelin1 isännöi Vultrissa, mutta palvelin2 isännöi paikallisessa verkossa, kuten yrityksesi sisällä tai kehityskoneena kotonasi. Yleensä tämän tyyppisissä paikallisissa ympäristöissä on julkiset IP-osoitteet, jotka Internet-palveluntarjoajasi määrittää dynaamisesti, ja ne voivat muuttua odottamattomasti. Tämä johtaisi siihen, että server2 osoittaa yhtäkkiä väärään IP-osoitteeseen, mikä voi vaikuttaa vakavasti palveluun. Tämä artikkeli näyttää, kuinka voit määrittää oman dynaamisen DNS-palvelun, joka toimii paikallisella koneella ja joka voi päivittää Vultr DNS:n palvelin2-tietueen automaattisesti julkisen IP-osoitteen muutoksen jälkeen.
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.
Edellytykset
- Pääsy Vultr-tilillesi DNS:n määrittämistä ja pääsyavaimien hallintaa varten.
- Mahdollisuus muodostaa yhteys paikalliseen koneeseen, jolla on dynaaminen IP-osoite (tai pääsy toiseen koneeseen samassa verkossa).
Asennus ja asennus
Verkkotunnuksen määrittäminen Vultrin DNS-palvelun käyttöä varten
- Jos et käytä Vultrin DNS-palvelua verkkotunnuksessasi, seuraa tätä artikkelia nimipalvelimiesi muokkaamiseksi käytettäväksi Vultrin kanssa.
- Kun Vultr DNS on määritetty, siirry DNS-hallintasivulle kohdasta "Palvelimet -> DNS -> [verkkotunnuksesi nimi]".
- Täältä löydät kaikki verkkotunnuksellesi määritetyt tietueet. Kirjoita muistiin, mitä tietueita haluat muuttaa, koska tarvitset sitä myöhemmin.
ATämä apuohjelma tukee vain " " tietueita. Jos sinulla on useita Atietueita, jotka haluat päivittää samaan IP-osoitteeseen, muuta ne CNAMEtietueiksi ja osoita ne yhteen Atietueeseen. Tämä yksinkertaistaa asioita sinulle pitkällä aikavälillä ja sitä pidetään oikeana tapana määrittää DNS.
Tarvittavien työkalujen asennus
- Yhdistä paikalliseen palvelimeesi. Tämä voi tapahtua suoraan tai SSH:n kautta.
- Tämä työkalu vaatii Python 3:n. Useimmissa Linux-jakeluissa on esiasennettu Python. Jos sitä ei ole asennettu ympäristöösi, ohjeet ovat saatavilla virallisessa Python-wikissä täältä:
- Tämä prosessi vaatii myös Gitin, jonka voit asentaa alla olevien ohjeiden avulla:
Dynaamisen DNS-asiakkaan lataaminen
Kloonaa python DDNS -asiakkaan sisältävä arkisto Gitillä. Sinun tulee tehdä tämä turvallisessa hakemistossa, johon sinulla on täydet käyttöoikeudet. Kotikansiosi pitäisi riittää. Suorita seuraava komento:
git clone https://github.com/andyjsmith/Vultr-Dynamic-DNS.git vultrddns && cd vultrddns
Luodaan henkilökohtainen käyttöoikeustunnus
Luo henkilökohtainen käyttöoikeustunnus Vultrissa. Tämä voidaan tehdä kohdassa "Tili -> API -> Personal Access Token". Samalla sivulla sinun on siirryttävä "Pääsynhallinta" -kohtaan ja napsautettava "Salli kaikki IPv4" -painiketta, koska et tiedä paikallisen palvelimesi IP-osoitetta joka kerta, joten dynaamisen DNS:n tarkoitus.
Työkalun määrittäminen palvelimellesi
- Lue
config.json.exampletiedosto läpi saadaksesi esimerkin siitä, miltä asetustiedostosi pitäisi näyttää.
- Avaa
config.jsontiedosto suosikkitekstieditorillasi ja täytä arvot erityisten palvelinasetusten perusteella.
Tiedoston tulee sisältää seuraavat tiedot:
{
"api_key": "",
"domain": "",
"dynamic_records": [
""
]
}
Kirjoita käyttöoikeustunnuksesi kenttään api_key.
- Kirjoita perusverkkotunnuksesi
domainkenttään. Esimerkiksi example.com.
- Syötä nyt "
A" tietueet, joita haluat muuttaa dynamic_recordskentän alle . Edellisen esimerkin avulla kirjoitat server2muuttaaksesi automaattisesti server2IP-osoitteen. Voit syöttää useita aliverkkotunnuksia. Jos haluat muuttaa Averkkotunnuksesi perustietuetta (jota kutsutaan yleisesti @tietueeksi, joka vastaa, kun siirryt suoraan kohtaan example.com), jätä tyhjät lainausmerkit.
Oikea konfigurointitiedosto voi näyttää tältä, jossa haluat muuttaa dynaamisesti IP-osoitetta example.comja server2.example.com:
{
"api_key": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"domain": "example.com",
"dynamic_records": [
"",
"server2"
]
}
Tallenna nyt nämä muutokset ja tiedostosi pitäisi olla valmis!
Testaa kokoonpanosi
- Testaa komentosarja ja määritykset suorittamalla
python3 ddns.py. Jos tämä ei palauta virheitä, kokoonpanosi on nimellinen ja voit aloittaa automatisoinnin.
Automaatio
Perusasetusten suorittamisen jälkeen on tärkeää määrittää toistuva tehtävä, koska komentosarja ei tee tätä oletusarvoisesti. Yhdistä paikalliseen koneeseen ja noudata alla olevia ohjeita käyttöjärjestelmäsi mukaan.
Linux ja Mac OSX
Linuxiin ja Maciin on cronjo asennettu apuohjelma, jonka avulla voit määrittää komentosarjoja suoritettavaksi asetettujen aikataulujen mukaisesti.
- Etsi
ddns.pytiedoston koko polku käyttämällä realpath ddns.pyollessasi vielä vultrddnshakemistossa.
- Suorita
crontab -emuokataksesi crontabia.
Lisää seuraava rivi tiedoston loppuun ja lisää tiedoston todellinen polku ddns.py:
*/30 * * * * python3 [full path to ddns.py] > /dev/null 2>&1
Tämä ajaa komentosarjan 30 minuutin välein ja ohjaa sen kaiken tulosteen osoitteeseen /dev/null.
- Tallenna ja poistu tekstieditorista. Crontab-tiedosto asennetaan automaattisesti ja IP-osoitteesi päivitetään nyt automaattisesti.
Windows
Luo Task Schedulerissa tehtävä, joka suoritetaan 30 minuutin välein. Noudata Microsoftin opasta perustehtävien luomiseen.
- Avaa Task Scheduler ja napsauta "Luo tehtävä...".
- Anna sille nimi ja luo uusi laukaisin.
- Napsauta "Päivittäin". Napsauta "Lisäasetukset" -kohdassa toistaaksesi tehtävän 30 minuutin välein ja vaihda "ajaksi" arvoksi "Toistaiseksi".
- Lisää uusi toiminto käynnistääksesi ohjelman ja selaa Python-suoritettavaa tiedostoa. Lisää
ddns.pykomentosarja argumentiksi.