Dynamic DNS
Если вы думаете, что тут я буду рассказывать про то, как работать с ресурсом dyndns, то вы заблуждаетесь. Я не использую сервисы от http://www.dyndns.com, по личным причинам. Точнее мне он просто сам по себе не нравиться по внешнему виду, и удобству работы. Я расскажу как я организовал себе динамический днс, через сервер http://freedns.afraid.org.
И так, идем наhttp://freedns.afraid.org и регистрируемся. Я не думаю что возникнут сложности =)
После регистрации и подтверждения аккаунта через e-mail, необходимо добавить домен. Слева есть панель, а там ссылка Domains. Жмем на нее, и нажимаем Add Domain. Добавляем домен, без www. Т.е. в моем случае the-bosha.ru После того, как добавите домен, он будет помечен как Broken - потерянный.
Теперь необходимо в панели вашего регистратора изменить адреса dns серверов. Т.к. панели у всех регистраторов разные, я не могу точно описать как это будет выглядеть. В любом случае, думаю справитесь =) Адреса серверов:
- NS1.AFRAID.ORG
- NS2.AFRAID.ORG
- NS3.AFRAID.ORG
- NS4.AFRAID.ORG
Примерно где-то через сутки, а возможно раньше, или позже пометка в панели freedns о том что домен потерян пропадет, и можно приступать дальше.
Функцию динамического днс, предоставляет сам сервер. Т.е. там есть ссылки, кликнув по которой, изменяется ip адрес на тот, с которого она скачалась. На самом сайте, есть не мало скриптов выполняющих эту работу, но я выбрал один, и несколько модернизировал его под свои нужды.
Берем исходники отсюда - http://narod.ru/disk/13766376000/ipdetect%20(copy%202).tar.html, распаковываем содержимое, и копируем содержимое папок архива, в те же директории, что и на вашем жестком диске.
Создаем еще нужные директории:
sudo mkdir /var/log/IPdetect
sudo mkdir /var/lib/IPdetect
И так, почти все готово! Для работы, нам понадобиться еще пара утилит: curl и links2 или Lynx. Я выбрал Lynx даже сам не знаю почему.
Когда вы все распакуете и скопируете в соответствующие директории, у вас должен быть файл /etc/IPdetect/change_run.sh
. В этом файле, содержится команды, выполняемые скриптом. Для того что бы все заработало, мы в панели инструментов freedns, идем по ссылке Dynamic DNS, и копируем Direct URL ссылку.
Открываем файл /etc/IPdetect/change_run.sh
и пишем следующее
curl --silent скопированная ранее ссылка
Т.е. выглядеть это должно примерно так:
curl --silent http://freedns.afraid.org/dynamic/update.php?b1VRT1MyYzROdETkVE46OUJxZko6MzYyOTk5OQ==
Теперь можно выполнить sudo ipdetect.sh -f
и проверить изменились ли адреса в днс, если нет, то проверьте все еще раз, если да - можно идти дальше.
А дальше у нас два варианта. Можно либо добавить через crontab -e выполнение этого скрипта, но я сделал по другому. Дело в том, что доступ в сеть мой провайдер осуществляет через VPN соединение и я не видел смысла в кроне, я просто допилил взятый у друга скрипт, который проверят доступно ли соединение, и если нет, то перезапускает его, и выполняет ipdetect скрипт.
Выкладывать скрипт здесь, я не стал, ибо wordpress съедает все выравнивания и все превращается в сплошную кашу. Если вам необходим скрипт,вы можете взять его тут - http://narod.ru/disk/13766676000/vpn_script.sh.html
Для контроля, скрипт запускается в сессии GNU Screen. Но при желании, можно немножко дописать его, и использовать как демон.