логин: 
<< предыдущая заметкаследующая заметка >>
23 ноября 2013
бесплатный DYNDNS на Яндексе

Долгие годы мой домашний компьютер носил имя lleo.homeip.net, поскольку своим динамическим DNS был приписан к dyndns.org. Но потом эти подонки решили, что их суперсервис по хранению несчастной dns-записи стоит денег, причем примерно столько, сколько не каждый домен стоит — 20$ в год. Возможно они даже писали мне об этом, но кто же читает спам на иностранном языке? Тем, кто не знал о новой финансовой политике, они отключили сервис. Более того: восстановить lleo.homeip.net вообще нельзя, потому что в домене homeip.net больше адреса не выдаются. В связи с этим подонкам на dyndns.org были посланы лучи ненависти, а я задумался, как сделать динамический адрес иными способом.

Выяснилось, что это очень легко делать при помощи Яндекса. Если у тебя есть свой домен где-то в Канаде (lleo.me), то для него все равно полезно завести почту домена на Яндексе, а раз уж она заведена, то у своего сайта можно сделать дополнительный поддомен (например home.lleo.me и еще сколько понадобится) и прописывать DNS своего домашнего компа. Таким образом пользователь идет по всем вопросам в Канаду, но на home.lleo.me (или aaa.home.lleo.me) — ко мне домой в коридор.

Идем в свой аккаунт https://pdd.yandex.ru/domain_ns/lleo.me/ и добавляем две строки для своего сервера home:

Заодно правим запись SOA ставим TTL=900, шоб побыстрее. Если ваш провайдер меняет IP динамически, теперь задача его обновлять. У Яндекса есть свой API для обновления этих записей. Дока переехала — было api.yandex.ru/pdd/doc/api-pdd/reference/, стало на api.yandex.ru/pdd/doc/reference/ (убралось из адреса /api-pdd/): http://api.yandex.ru/pdd/doc/reference/api-dns.xml Итак, сперва один раз в жизни получаем токен: https://pddimp.yandex.ru/token/index.xml?domain=lleo.me:

<result><ok token="4b6f2779da1a90b3df90c643d11e879b6f919a2a1a9ea8406fb072128"/></result>

Затем один раз в жизни считываем записи, чтобы узнать их id: https://pddimp.yandex.ru/nsapi/get_domain_records.xml?token=4b6f2779da1a90b3df90c643d11e879b6f919a2a1a9ea8406fb072128&domain=lleo.me, получили немеряную простыню всякого говна, находим нужные строки:

<record domain="home.lleo.me" priority="" ttl="21600" subdomain="home" type="A" id="15588710">46.242.39.135</record>
<record domain="*.home.lleo.me" priority="" ttl="21600" subdomain="*.home" type="A" id="15588353">46.242.39.135</record>

Итак, нашли нужные id: 13518138 и 15588353, формируем строки изменения IP:

#!/bin/sh

IP=`ifconfig rl0 | grep '^[[:space:]]*inet' | tail -1 | sed -e 's#.*inet *##' -e 's#.*##'`

wget --no-check-certificate -O /tmp/homeip1 "https://pddimp.yandex.ru/nsapi/edit_a_record.xml?token=4b6f2779da1a90b3df90c643d11e879b6f919a2a1a9ea8406fb072128&domain=lleo.me&subdomain=home&record_id=15588710&ttl=900&content=${IP}"

wget --no-check-certificate -O /tmp/homeip2 "https://pddimp.yandex.ru/nsapi/edit_a_record.xml?token=4b6f2779da1a90b3df90c643d11e879b6f919a2a1a9ea8406fb072128&domain=lleo.me&subdomain=%2A.home&record_id=15588353&ttl=900&content=${IP}"

<< предыдущая заметка следующая заметка >>
пожаловаться на эту публикацию администрации портала
архив понравившихся мне ссылок
Оставить комментарий
Linux Ubuntu Safari Chrome
 Ижевск
0
1
Victor Beresnev
а может не стоило токен светить?
Windows Firefox
 Европа
2
0
имя (#3630694)
токен левый, проверьте сами
Linux Opera
 Москва
3
0
Leonid Kaganov
Сам я вижу токен настоящий, мне же когда-нибудь для отладки заходить в этот пост может придется и брать строку. Просто в каком-то месте кусочек админо-зависимый вставлен - {_is_admin:da614f7|b3df90c_}
Windows Firefox
0
0
Андрей Егоров
Там примерно те же пара строчек при небольшом желании
Windows Safari Chrome
0
0
maximka (#3857457)
использую эту программу сам http://dns-ip.ru/Home/DynDns
Linux Firefox
 Москва
0
0
Leonid Kaganov
А зачем "программа", если одна строчка всего нужна? Разве что под Винду ;)
Windows Safari Chrome
0
0
ввести имя: (#3857539)
Хотел на работу скрипта посмотреть (Онищенко)
Windows Firefox
0
0
taskmgr (#3314829)
Linux Firefox
 Москва
0
0
Leonid Kaganov
Лень разбираться и привинчивать чужой софт, когда все уже есть готовое и решается одной строчкой.
Windows Firefox
0
0
Johny (#3859972)
Лео, вы наверное традиционно скажите что это всё очень сложно и.т.п. но у вас же уже есть свой сервер в германии.

Так вот "динамический днс" без проблем за 15 минут с чтением мурзилок настраивается на любом своем DNS-сервере.

просто генерируется ключ для апдейта вашей зоны и TTL записи ставится низкий ( 5 секунд или 5 минут )
Linux Firefox
 Москва
1
0
Leonid Kaganov
А зачем? Если у меня все равно ДНС на Яндексе, если у Яндекса уже есть соответствующее API и одной строкой всё работает? Какой смысл в танцах с бубном и курении мануалов, если одной строкой всё уже заработало?
Windows Firefox
1
1
Johny (#3859972)
смысл в том, чтоб не держать dns на яндексе.
Если это не является самоцелью, то да , смысла нету.

Обычно, когда человек дошел до аренды сервера, он уже знает ответ на вопрос, почему он не хочет держать DNS на яндексе.
Linux Firefox
 Москва
0
0
Leonid Kaganov
DNS на Яндексе имеет смысл держать хотя бы для почты домена.

Поднимать на домене свою почту и свои неумелые спам-фильтры - просто лень. Эдак и свой поисковик тогда писать?
Linux Ubuntu Firefox
 Белоруссия
4
0
Сергей М. (#3673935)
"Свой поисковик писать"? А это что?
http://lleo.me/nihuyandex/
Windows Safari Chrome
 Москва
0
0
xave (#3860367)
Еще есть на namecheap бесплатный dynamic dns хостинг. Прелесть в том, что в ddclient существуют уже готовые настройки под него, остается лишь прописать в конфиг логин/пароль.
Linux Firefox
 Москва
6
0
Leonid Kaganov
Знаете, dyndns тоже был бесплатный. А потом взял и стал платный. А что у меня имя сайта lleo.homeip.net хрен знает сколько раз вписывалось в разные домашние проекты, хрен знает сколько раз я с него вставлял картинки в какие-то комментарии, и вообще хрен знает сколько раз упоминается в сети: https://www.google.ru/search?ie=UTF-8&amp;hl=ru&amp;[...] - это почему-то никого не волнует. При том, что это имя даже за деньги восстановить в домене homeip.net теперь нельзя.

Вывод: пошли они все нахуй эти "покабесплатные" сервисы. В этом мире ни на кого нельзя полагаться, кроме как на себя и свой личный домен.
Windows Safari Chrome
 MIDDLETOWN
2
1
Наблюдайтель (#3840920)
Дык товарищ Johny об этом же и говорит. Поднимайте свой днс.
Яндекс тоже "пока бесплатный".
Linux Firefox
 Москва
1
0
Leonid Kaganov
Если вдруг Яндекс станет платный, то подниму свой DNS. Имя-то все равно моё. А пока зачем?
Windows Safari Chrome
 Москва
0
1
xave (#3860367)
Ну так я о чем - это днс-хостинг для вашего домена. Перестанут обслуживать бесплатно - уходите от них, вот и все. Бесплатный домен они не предоставляют.
Linux Firefox
 Москва
1
0
Leonid Kaganov
Если вдруг Яндекс станет платный, то подниму свой DNS. Имя-то все равно моё. А пока зачем?
Windows Safari Chrome
 Москва
0
0
Игорь (#4963087)
Бесплатный динднс под Windows http://dyn-dns.ru/
Linux Ubuntu Firefox
 Москва
0
1
Leonid Kaganov
Вывод: пошли они все нахуй эти "покабесплатные" сервисы. В этом мире ни на кого нельзя полагаться, кроме как на себя и свой личный домен.
Linux Firefox
 Киев
1
0
Л. Янукович (#3513661)
Ставить TTL 900 для всего домена - рекомендация достаточно вредная, так как часто меняющаяся там запись, по сути, одна - ваша home, а все остальное пускай живет по умолчанию. TTL выставляется для каждой записи отдельно, к тому же по приведенным URL'ам это даже видно - обратите внимание на ttl=900 в запросе.

Еще одна вредная рекомендация - это --no-check-certificate, но, пожалуй, не будем об этом.
Linux Firefox
 Москва
0
0
Leonid Kaganov
У меня с сервера без --no-check-certificate не заработало.

Что касается 900, то по-моему там общий TTL и его нельзя разграничивать по разным записям.

Но не уверен.
Linux Firefox
 Киев
0
0
Л. Янукович (#3513661)
С TTL - а вы попробуйте, не зря же они этот параметр в ссылку зашивали?

С --no-check-certificate - это, похоже, косяк самого wget'а (в версии 1.14 все нормально, а 1.11.4 из CentOS 5, действительно, не обрабатывает дополнительные имена, зашитые в сертификат). Чтобы не обновлять всю систему, можно заменить wget на curl:

curl -o /tmp/homeipX https://..../...

На CentOS 5 сработало без ошибок.
Linux Firefox
 Москва
0
0
Leonid Kaganov
О, спасибо большое!
Все получилось - и то и другое.
А какой TTL надо выставить для сайта, если IP статический? 36000 я пока поставил, нормально?
Linux Firefox
 Киев
0
0
Л. Янукович (#3513661)
12 часов или сутки - более-менее стандартное значение.
Windows Safari Chrome
 Санкт-Петербург
0
2
Вован (#3900145)
яндекс - это же гебня.
как можно им вообще доверять хоть что-то.

по-максимуму забить яндекс-диски нагенеренными случайными числами по-полной и адьё
Linux Firefox
 Москва
0
0
Leonid Kaganov
Так я сам гэбня. Поэтому ваши комменты удалю, пожалуй.
Windows Safari Chrome
 Ярославль
0
0
maximka (#3857457)
http://dns-ip.ru/Home/DynDns я пользуюсь этим
Linux Firefox
 Москва
0
0
Leonid Kaganov
И что? А я пользовался этим: dyndns.org Лет восемь пользовался. А потом он накрылся. И ваш накроется, а ссылки и проекты пропадут.
Windows Opera
 Уссурийск
0
0
evgepet (#3888921)
Можно я оставлю это здесь?

Инструкция по настройке бесплатного DYNDNS на Яндексе:
http://dl.dropboxusercontent.com/u/26002381/yandex_dns.txt

Расписал чуть подробнее вместе с процедурой подтверждения прав на домен (в Яндексе). В скрипте не использовал sed, так как у меня его не было. Скрипт работает в CentOS/Fedora/OpenSUSE.
Windows Firefox
 Киев
0
0
Nikolay (#3982216)
Спасибо.

всего комментариев: 34

<< предыдущая заметка следующая заметка >>