Шта је динамички ДНС?
Предуслови
Инсталација и подешавање
Аутоматизација
Шта је динамички ДНС?
Узмимо уобичајени пример ДНС подешавања. Ваш домен је example.com, и имате " A" записе за server1.example.comи server2.example.com. Сервер1 се налази у Вултр-у, али сервер2 се хостује на локалној мрежи, на пример у вашем предузећу или као развојна машина у вашем дому. Обично ове врсте локалних окружења имају јавне ИП адресе које се динамички додељују од вашег Интернет провајдера (ИСП) и могу се неочекивано променити. Ово би довело до тога да сервер2 изненада указује на погрешну ИП адресу што би могло озбиљно да утиче на услугу. Овај чланак ће вам показати како да подесите сопствену динамичку ДНС услугу, која ради на локалној машини и може аутоматски ажурирати запис за сервер2 у Вултр ДНС-у након јавне промене ИП-а.
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.
Предуслови
- Приступ вашем Вултр налогу за подешавање ДНС-а и управљање приступним кључевима.
- Могућност повезивања на локалну машину која има динамичку ИП адресу (или приступ другој машини на истој мрежи).
Инсталација и подешавање
Подешавање вашег домена за коришћење Вултрове ДНС услуге
- Ако не користите Вултрову ДНС услугу за свој домен, пратите овај чланак да бисте модификовали своје сервере имена за коришћење са Вултром.
- Када Вултр ДНС буде подешен, идите на страницу за управљање ДНС-ом под „Сервери -> ДНС -> [име вашег домена]“.
- Овде ћете пронаћи све записе постављене за ваш домен. Запишите који запис(е) желите да промените, јер ће вам то касније требати.
AОвај услужни програм подржава само " " записе. Ако имате више Aзаписа " " које желите да ажурирате на исту ИП адресу, промените их у " CNAME" записе и усмерите их на један " A" запис. Ово ће вам дугорочно поједноставити ствари и сматра се правим начином за конфигурисање ДНС-а.
Инсталирање потребних алата
- Повежите се на ваш локални сервер. Ово може бити директно или преко ССХ-а.
- Овај алат захтева Питхон 3. Већина дистрибуција Линук-а укључује унапред инсталиран Питхон. У случају да није инсталиран у вашем окружењу, упутства су доступна на званичној Питхон вики овде:
- Овај процес такође захтева Гит, који можете да инсталирате уз упутства у наставку:
Преузимање динамичког ДНС клијента
Користите Гит да клонирате спремиште које садржи питхон ДДНС клијент. Ово би требало да урадите у безбедном директоријуму за који имате пун приступ. Ваша кућна фасцикла би требала бити довољна. Покрените следећу команду:
git clone https://github.com/andyjsmith/Vultr-Dynamic-DNS.git vultrddns && cd vultrddns
Генерисање личног токена за приступ
Генеришите лични токен за приступ у Вултр. Ово се може урадити под "Налог -> АПИ -> Лични токен за приступ". На истој страници мораћете да одете под „Контрола приступа“ и кликнете на дугме „Дозволи све ИПв4“, пошто нећете сваки пут знати ИП вашег локалног сервера, па стога и тачка динамичког ДНС-а.
Конфигурисање алата за ваш сервер
- Прочитајте кроз
config.json.exampleдатотеку пример како би ваша конфигурациона датотека требало да изгледа.
- Отворите
config.jsonдатотеку користећи свој омиљени уређивач текста и попуните вредности на основу вашег специфичног подешавања сервера.
Датотека треба да садржи следеће:
{
"api_key": "",
"domain": "",
"dynamic_records": [
""
]
}
Унесите свој приступни токен у поље api_key.
- Унесите свој основни домен у
domainпоље. На пример, example.com.
- Сада унесите "
A" записе које желите да промените испод dynamic_recordsпоља. Користећи претходни пример, унели server2бисте да аутоматски промените server2ИП адресу корисника. Можете да унесете више поддомена. Ако желите да промените основни Aзапис " " за свој домен (који се обично помиње као @, запис који одговара када се крећете директно до example.com), једноставно оставите празне наводнике.
Исправна конфигурациона датотека може изгледати овако, где желите да динамички промените ИП за example.comи server2.example.com:
{
"api_key": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"domain": "example.com",
"dynamic_records": [
"",
"server2"
]
}
Сада сачувајте ове промене и ваша датотека би требало да буде спремна!
Тестирајте своју конфигурацију
- Тестирајте скрипту и конфигурацију тако што ћете покренути
python3 ddns.py. Ако ово не врати грешке, ваша конфигурација је номинална и можете започети процес аутоматизације.
Аутоматизација
Након завршетка основног подешавања, важно је да подесите задатак који се понавља јер скрипта то не ради подразумевано. Повежите се са локалном машином и следите доле наведене кораке на основу вашег оперативног система.
Линук и Мац ОСКС
Линук и Мац већ имају cronинсталиран услужни програм, који вам омогућава да одредите скрипте које ће се покретати према постављеним распоредима.
- Пронађите пуну путању
ddns.pyдатотеке користећи realpath ddns.pyдок сте још у vultrddnsдиректоријуму.
- Покрените
crontab -e��а бисте уредили свој цронтаб.
Додајте следећи ред на крај датотеке, додајући праву путању до ddns.pyдатотеке:
*/30 * * * * python3 [full path to ddns.py] > /dev/null 2>&1
Ово ће покренути скрипту сваких 30 минута и преусмерити сав њен излаз на /dev/null.
- Сачувајте и изађите из уређивача текста. Датотека цронтаб ће се аутоматски инсталирати и ваш ИП ће се сада аутоматски ажурирати.
Виндовс
Направите задатак у Планеру задатака који ће се покретати сваких 30 минута. Пратите Мицрософт водич за креирање основних задатака.
- Отворите Таск Сцхедулер и кликните на „Креирај задатак...“.
- Дајте му име и креирајте нови окидач.
- Кликните на „Дневно“. У одељку „Напредна подешавања“ кликните да бисте поновили задатак сваких 30 минута и промените „у трајању од“ у „Неограничено“.
- Додајте нову радњу да бисте покренули програм и претражили свој Питхон извршни фајл. Додајте
ddns.pyскрипту као аргумент.