Решил, вопрос закрыт, пишу как делал
Инструкция по настройке бесплатного DYNDNS на Яндексе
Зайти в панель управления доменом (у своего регистратора)
Войти в раздел "Управление DNS-серверами / Делегирование"
Установить галочку "Использовать сервера регистратора", сохранить.
Зайтив раздел "Управление зоной DNS", там добавить записи типа "А":
* и свой текущий IP адрес
@ и свой текущий IP адрес
www и свой текущий IP адрес
Зайти в свой Яндекс аккаунт в раздел "Мои домены" (https://pdd.yandex.ru/domain/)
Добавить свой домен.
Для подтверждения прав на владение этим доменнм Яндекс потребует разместить на своём хосте файлик
с нужным именем и содержимым. Придётся поднять httpd выложить в корень файлик с нужным именем и соодержимым.
Попытаться подтвердить права на домен. Это может сразу не получиться, так как информация о смене IP адреса
для домена произойдёт не сразу. У меня на это ушло более 12 часов.
После того, как домен проверится, в раздлеле управления доменом (на Яндексе) появится надпись "Домен подключен".
После этого можно зайти в панель управления доменом (у своего регистратора).
Войти в раздел "Управление DNS-серверами / Делегирование"
Снять галочку "Использовать сервера регистратора", вписать имена DNS серверов:
dns1.yandex.net
dns2.yandex.net
Получение токена после того когда он делегирован на яндексе
Открыть новую страницу и перейти на адрес https://pddimp.yandex.ru/token/index.xml?domain=МОЙ_ДОМЕН
где МОЙ_ДОМЕН - домен, привязанный в Яндексе.
Ввести капчу. В ответ будет выдан XML ответ, из которого нужно выбрать строку
token="f3bb2c94252e25ec44730942724e2bb807a80c5802a456860012cba8"
шестнадцатиричный хэш - это нужный токен.
Получение ID записей:
https://pddimp.yandex.ru/nsapi/get_domain_records.xml?token=ВАШ_ТОКЕН_БЕЗ_КАВЫЧЕК&domain=МОЙ_ДОМЕН
МОЙ_ТОКЕН - полученный только что токен
МОЙ_ДОМЕН - соответственно, домен
в ответе сервера найти записи вида
subdomain="@" type="A" id="18892886" и subdomain="www" type="A" id="58834686" берем в обоих случаи только цифры
Далее берем админский токен https://pddimp.yandex.ru/api2/admin/get_token он заглавными буквами и цифрами его буде вставлять в скрипт
DFHGUHIHIOI54457K3546HGJ
Далее сам скрипт к примеру делаем /volume1/ddns.sh и вставляем в него код правив полученые настройки
#!/bin/sh
#Имя домена
domain="domen.ru"
#Имя поддомена, , не менять
host="www"
host1="@"
#Номер записи id WWW и A
host_id=58834686
host_id1=18892886
#Токен API2 (именно админа) Яндекса
token=SFHFGKKGH4657KJLLJKHJGHFHGJKJLJH65KHJGHKLHKJGJKHKGJF
#Вычисляем текущий ip
my_ip=`curl -s smart-ip.net/myip/`
#Вычисляем ip, прописанный в DNS Яндекса
ya_ip=`nslookup $host.$domain dns1.yandex.ru | grep -n Address | grep 5: | awk '{print $3}'`
if [ $my_ip != $ya_ip ]; then
#Меням ip
curl -H 'PddToken: '$token -d 'domain='$domain'&record_id='$host_id1'&subdomain='$host1'&content='$my_ip 'https://pddimp.yandex.ru/api2/admin/dns/edit'
curl -H 'PddToken: '$token -d 'domain='$domain'&record_id='$host_id'&subdomain='$host'&content='$my_ip 'https://pddimp.yandex.ru/api2/admin/dns/edit'
fi
exit
Потом в путти проверяем предварительно в днс сменив два айпи на любые
sh /volume1/ddns.sh
Апи должен поменятся
Теперь ставим крон через панель сервера на проверку раз в минуту скрипта /volume1/ddns.sh
В ДНС серевера поменяйте SOA запись TTL поставьте 90, тогда айпи по зоне обновится за 1.5 минуты
Протестил на практике, домен реально ожил через 1.5 минуты при смене айпи