<?xml version="1.0" encoding="utf-8"?> 
<rss version="2.0"
  xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
  xmlns:atom="http://www.w3.org/2005/Atom">

<channel>

<title>Аникин: заметки с тегом pdd.yandex.ru</title>
<link>https://anikin.pw/tags/pdd-yandex-ru/</link>
<description>Блог об администрировании Linux, BSD и не только</description>
<author></author>
<language>ru</language>
<generator>Aegea 11.3 (v4134)</generator>

<itunes:subtitle>Блог об администрировании Linux, BSD и не только</itunes:subtitle>
<itunes:image href="" />
<itunes:explicit></itunes:explicit>

<item>
<title>Бесплатный аналог dyndns и no-ip используя Яндекс DNS.</title>
<guid isPermaLink="false">24</guid>
<link>https://anikin.pw/all/besplatny-analog-dyndns-i-no-ip-ispolzuya-yandeks-dns/</link>
<pubDate>Sat, 12 Apr 2014 16:47:17 +0300</pubDate>
<author></author>
<comments>https://anikin.pw/all/besplatny-analog-dyndns-i-no-ip-ispolzuya-yandeks-dns/</comments>
<description>
&lt;p&gt;&lt;b&gt;Статья более не актуальна. Яндекс всех поголовно переводит на Яндекс.Коннект. В API Коннекта на данный момент отсутствует возможность управлять DNS-записями. API pdd.yandex уже не работает.&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;Можно использовать api Telegram для получения динамических ip. Инструкция &lt;a href="https://anikin.pw/all/dyndns-cherez-telegramm/"&gt;здесь.&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Я давно пользовался услугами dyndns для подключения из вне к домашней файлопомойке-торрентокачалке на фряхе, у которой динамический ip от провайдера. Хотя уже давно у dyndns эта услуга платная для вновь зарегистрировавшихся пользователей, но я пользовался бесплатно, т.к зарегистрировался ещё до того как они стали за это просить денег. Но на днях мне пришло письмо что они не могут больше предоставлять эту услугу мне бесплатно и со следующего месяца я должен буду за неё платить. Меня это не устроило и я стал искать выход из текущего положения.&lt;/p&gt;
&lt;p&gt;Т. к. домены у меня делегированы на Яндекс DNS я стал читать мануалы для их API и выход был найден. Расскажу о нём ниже.&lt;/p&gt;
&lt;p&gt;Чтобы использовать яндекс api нам нужно получить токен. Получить его довольно просто, в браузере вводим.&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;https://pddimp.yandex.ru/get_token.xml?domain_name=domen.ru&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;d&gt;&lt;/p&gt;
&lt;p&gt;Где domen.ru — ваш домен делегированный на яндекс. Вводим капчу и в выводе ищем:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;token=&amp;quot;XXXXXX&amp;quot;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;d&gt;&lt;/p&gt;
&lt;p&gt;В кавычках будет ваш токен. Копируем его куда-нибудь, он нам потребуется чуть позже.&lt;br /&gt;
Теперь нам нужно добавить к нашему домену сабдомен, который будет ссылаться на машину с динамическим ip. Переходим на &lt;a href="https://pdd.yandex.ru"&gt;https://pdd.yandex.ru&lt;/a&gt;, выбираем домен и кликаем «Редактор DNS» там добавляем А-запись для домена:&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://anikin.pw/pictures/---2014-04-12-15:22:31.png" width="390" height="143" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;В поле «Хост» вводите сабдомен, а в поле «Значение записи» пишете любой ip(в последствии он будет меняться, когда будет изменятся ip вашей тачки).&lt;/p&gt;
&lt;p&gt;Теперь нам нужно получить id нашей записи. Для этого в браузере вводим:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;https://pddimp.yandex.ru/nsapi/get_domain_records.xml?token=XXXXXX&amp;amp;domain=domen.ru&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;d&gt;&lt;/p&gt;
&lt;p&gt;Где ХХХХХХ-ваш токен, а domen.ru — ваш домен делегированный на яндекс.&lt;/p&gt;
&lt;p&gt;В выводе ищем строку с нашей записью myhome.domen.ru и в этой строке находим:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;id=&amp;quot;1234567&amp;quot;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;d&gt;&lt;/p&gt;
&lt;p&gt;В кавычках id записи, так же копируем его куда-нибудь.&lt;/p&gt;
&lt;p&gt;Теперь пишем скрипт на тачке на которой динамический ip. Скрипт будет проверять внешний ip тачки раз в пол часа и если он изменился, то будет изменять А-запись на Яндекс DNS.&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;# ee /usr/local/bin/dyndns.sh&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;d&gt;&lt;/p&gt;
&lt;p&gt;Содержание скрипта:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;#!/bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin; export PATH
DOMEN=&amp;quot;domen.ru&amp;quot; # ваш домен делегированный на яндекс
SUB=myhome # сабдомен
TOKEN=XXXXXX # токен
RECID=1234567 # id записи
while true; do
IP='curl -s http://ip.anikin.pw/'
YAIP=`host myhome.domen.ru dns1.yandex.ru | grep has | awk '{print $4}'` # замените myhome.domen.ru на ваш сабдомен
if [ $IP != $YAIP ]
then
curl -s &amp;quot;https://pddimp.yandex.ru/nsapi/edit_a_record.xml?token=$TOKEN&amp;amp;domain=$DOMEN&amp;amp;subdomain=$SUB&amp;amp;record_id=$RECID&amp;amp;content=$IP&amp;amp;ttl=1800&amp;quot;
fi
sleep 1800; done;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;d&gt;&lt;/p&gt;
&lt;p&gt;Значения переменных измените в соответствии с комментариями.&lt;/p&gt;
&lt;p&gt;Делаем скрипт исполняемым:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;# chmod +x /usr/local/bin/dyndns.sh&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;d&gt;&lt;/p&gt;
&lt;p&gt;И добавляем соответствующую запись в крон:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;# crontab -e&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;d&gt;&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;@reboot /usr/local/bin/dyndns.sh&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;d&gt;&lt;/p&gt;
&lt;p&gt;Всё, теперь после перезагрузки скрипт будет автоматически запускаться. Перезагружаемся или запускаем скрипт вручную и проверяем на &lt;a href="https://pdd.yandex.ru"&gt;https://pdd.yandex.ru&lt;/a&gt; изменилось ли значение записи для нашего сабдомена.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;P.S. Чтобы было совсем все бесплатно, можно не покупать домен а использовать бесплатный домен в зоне .tk. Получить его можно на сайте www.dot.tk&lt;/b&gt;&lt;/p&gt;
</description>
</item>


</channel>
</rss>