Это старая версия документа.
В данном руководстве описывается как настроить dynamic dns клиент для синхронизации вашего IP адреса с сервисом DDNS Zoneedit.com- самым дешевым сервисом DDNS (на момент написания абонентская плата составляла 1USD в месяц). Так же плюсом данного сервиса является то, что доменное имя при работе не искажается.
Предполагаем, что у вас есть доменое имя (yourdomain.com) и аккаунт на Zoneedit, и что вы настроили записи для вашего домена на сайте Zoneedit.
В данном руководстве описывается настройка ddns-клиента для домена «yourdomain.com»
Установка
Для начала необходимо установить некоторые пакеты из официального репозитория Ubuntu:
sudo apt-get install ddclient ssh libio-socket-ssl-perl
В процессе установки будут заданы некоторые вопросы для предварительной настройки ddclient. такие как:
Выбирете DNS сервис: zoneedit.com
Имя пользователя для логина на сервисе: <ваше_имя_пользователя>
Пароль для входа на сервисе: <ваш_пароль>
Доменное имя: yourdomain.com
Интерфейс для работы (wlan0, eth0 и т.д.): <интерфейс>
Настройка
После установки необходимдо дополнительно сконфигурировать
/etc/ddclient.conf
sudo vim /etc/ddclient.conf
Необходимо добавить записи для «daemon», «ssl» и заменить «use=if, if=web» with «use=web, web='http://www.zoneedit.com/checkip.html/', web-skip='IP Address'» как показано в примере ниже:
# Configuration file for ddclient generated by debconf # # /etc/ddclient.conf daemon=300 pid=/var/run/ddclient.pid ssl=yes protocol=zoneedit1 ## use=if, if=web use=web, web='http://legacy.zoneedit.com/checkip.html/', web-skip='IP Address' ## server=www.zoneedit.com server=dynamic.zoneedit.com login= password='******* tux.yourdomain.com
Теперь открываем
/etc/default/ddclient
sudo vim /etc/default/ddclient
И проверяем, что файл содержит следующие строки:
run_ipup="false" run_daemon="true" daemon_interval="300"
Вы можете выставить интервал обновления IP (daemon_interval) меньше или больше, но он должен совпадать со значением, указанным в
/etc/ddclient.conf
Теперь необходимо перезапустить ddclient для применения изменений конфигурации:
sudo /etc/init.d/ddclient restart
Для того, что бы проверить статус службы ddclient, выполните
sudo /etc/init.d/ddclient status
Если при перезапуске вы не получаете ошибок, значит служба перезапускается корректно.
Корректный перезапуск службы не означает, что синхронизация вашего IP работает и настроена правильно. ddclient записывает свой лог в
/var/log/syslog
, поэтому для отслеживания состояния, необходимо использовать команду tail
tail -f /var/log/syslog
И дождаться очередной попытки обновить IP адрес, при обновлении вы получите вывод аналогичный следующему:
Feb 5 21:16:36 tux ddclient[12034]: SUCCESS: updating yourdomain.com: IP address set to <ваш IP>(200: Update succeeded.)
при попытке обновить IP, когда он не менялся:
Feb 5 21:16:36 tux ddclient[12034]: SUCCESS: updating yourdomain.com: IP address set to <ваш IP>(201: No records need updating.)
Это значит ddclient настроен и работает корректно. Поздравляем!
Ошибки
Если вы получаете сообщения в
/var/log/syslog
подобные следующему:
Feb 5 21:13:44 tux ddclient[11788]: WARNING: caught SIGTERM; exiting Feb 5 21:13:45 tux ddclient[11894]: FATAL: Error loading the Perl module IO::Socket::SSL needed for SSL connect.
Вам необходимо проверить конфигурационные файлы
/etc/ddclient.conf
и
/etc/default/ddclient
на соответствие изложенному выше описанию
/etc/ddclient.conf
используются одинарные кавычки, возможно в этом Ваша ошибка. Так же проверьте, что все необходимые пакеты установлены.
Другая распространенная ситуация, когда в
/var/log/syslog
получаете сообщения подобные следующему:
WARNING: file /var/cache/ddclient/ddclient.cache, line 3: Invalid Value for keyword 'ip' = ''
Для решения данной проблемы необходимо удалить файлы кэша ddclient
sudo rm /var/cache/ddclient/ddclient.cache sudo /etc/init.d/ddclient restart
Ссылки
Оригинал статьи