Содержание
В данном руководстве описывается как настроить dynamic dns клиент для синхронизации вашего IP адреса с сервисом DDNS Zoneedit.com- самым дешевым сервисом DDNS (на момент написания абонентская плата составляла 1USD в месяц). Так же плюсом данного сервиса является то, что доменное имя при работе не искажается. А также с сервисом Noip.com.
Предполагаем, что у вас есть доменое имя (yourdomain.com) и аккаунт на Zoneedit(Noip), и что вы настроили записи для вашего домена на сайте Zoneedit.
В данном руководстве описывается настройка ddns-клиента для домена «yourdomain.com»
Установка
Для начала необходимо установить некоторые пакеты из официального репозитория Ubuntu:
sudo apt-get install ddclient ssh libio-socket-ssl-perl
В процессе установки будут заданы некоторые вопросы для предварительной настройки ddclient. такие как:
Выбирете DNS сервис: zoneedit.com
Имя пользователя для логина на сервисе: <ваше_имя_пользователя>
Пароль для входа на сервисе: <ваш_пароль>
Доменное имя: yourdomain.com
Интерфейс для работы (wlan0, eth0 и т.д.): <интерфейс>
Настройка Zoneedit.com
После установки необходимдо дополнительно сконфигурировать
/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 настроен и работает корректно. Поздравляем!
Ошибки
1
Если вы получаете сообщения в
/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
используются одинарные кавычки, возможно в этом Ваша ошибка. Так же проверьте, что все необходимые пакеты установлены.
2
Другая распространенная ситуация, когда в
/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
3
Проблема может возникать при работе с сервисом zoneedit.com, связана она с частым изменением IP адреса больше 3 в течение 10 секунд или больше 5 в течение часа. В логах начнёт появляться ошибка
"FAILED: updating xxx.xxxxx.com: 702: Update failed: Too many updates too quickly, try again later.
Это связано с особенностями предоставления сервиса zoneedit.com. Официальный ответ техподдержки zoneedit.com:
«If you have received a 702 error while attempting to update the zone records, this indicates you are exceeding traffic thresholds set by our system. You are only able to send 3 requests in a 10-second window, no more than 5 requests in an hour. If the threshold is exceeded the zone will be locked from updates for one hour. The zone will only be unlocked once no update requests have been sent for a full hour.»
Что в вольном переводе означает: Если вы получаете ошибку 702 при попытке обновить записи зон, значит вы превысили лимит трафика, установленный нашей системой. Вы можете отправлять 3 запроса в 10-секундном окне не более 5 запросов в час. Если лимит трафика превышается, зона блокируется для обновлений на один час. Зона будет разблокирована только в том случае, если не будет получено запросов на обновление в течение полного часа.
Настройка Noip.com
Различия в настройке, только информация в ddclient.conf:
sudo nano /etc/ddclient.conf
protocol=noip use=if, if=ppp0 server=dynupdate.no-ip.com login=yourlogin password='password' example.yourdomain.com
Ссылки
Оригинал статьи