Dynamic DNS своїми руками +9
- 21.04.15 11:54 •
- AxianLTD •
- # 256267 •
- Хабрахабр •
- 7 •
- 7072
- такий же як Forbes, тільки краще.
В одній з попередніх статей ми розповіли, що є якийсь API для програмування DynDNS. У ній же була згадана можливість програмування стандартного сервера DNS BIND з використанням штатних утиліт * nix DNS - nsupdate і TSIG ?.
Напевно більшість читачів пропустила цей матеріал - «я ж не програміст, що не програмую я веб-сервіси». Даремно, спираючись на згадану можливість програмувати BIND ми розповімо як зробити DDNS своїми руками.
Для тих кого цікавить детальна настройка, один з можливих варіантів описаний (не мною ;-) тут.
Я особисто більше довіряю вітчизняному виробнику, так що, ось інструкція для створення DDNS на Яндексі.
Все, що в фігурних дужках, замінюємо на своє
1) Підключаємо домен до pdd.yandex.ru
2) Далі переходимо на pdd.yandex.ru/domain_ns і додаємо A-запис з сабдоменом.
3) Отримуємо токен до їх api tech.yandex.ru/pdd/doc/concepts/access-docpage/#access-admin
4) Переходимо на pddimp.yandex.ru/nsapi/get_domain_records.xml?token=domain=
5) В цьому XML-файлі знаходимо потрібний домен і беремо з атрибутів його id
6) Створюємо на сервері sh-файл (повинен належати вам, і в прикладі він називається ya.sh):
#! / Bin / sh
IP = `curl -s checkip.dyndns.org | sed -e 's /.* Current IP Address: //' -e 's /<.*$//'`
/ Usr / bin / wget --no-check-certificate -O / tmp / out_file «pddimp.yandex.ru/nsapi/edit_a_record.xml?token=YOUR_TOKENdomain=YOUR_DOMAINsubdomain=$1record_id=$2ttl=900content=$IP»
SUBNAME потрібно замінити на назву сабдомена (наприклад для домену habr.example.ru потрібно прописати habr)
як ви підступно обманюєте буржуйський сервіс! використовуєте його для з'ясування зовнішнього айпі, а самі потім звертаєтеся до вітчизняного виробника.
PS:
$ Dig + short myip.opendns.com @ resolver1.opendns.com
95.173.136.70
Днями в черговий-останній статті про PowerShell згадували апі яндекса для визначення свого IP, так що checkip.dyndns.org можна викинути.
А можна трохи докладніше?
Ще тут Диндин від яндекса: strangeway.org/?p=1190