Это старая версия документа.


В данном руководстве описывается как настроить dynamic dns клиент для синхронизации вашего IP адреса с сервисом DDNS Zoneedit.com- самым дешевым сервисом DDNS (на момент написания абонентская плата составляла 1USD в месяц). Так же плюсом данного сервиса является то, что доменное имя при работе не искажается.

Предполагаем, что у вас есть доменое имя (yourdomain.com) и аккаунт на Zoneedit, и что вы настроили записи для вашего домена на сайте Zoneedit.

В данном руководстве описывается настройка ddns-клиента для домена «yourdomain.com»

Установка

  1. Для начала необходимо установить некоторые пакеты из официального репозитория Ubuntu:

    sudo apt-get install ddclient ssh libio-socket-ssl-perl

    В процессе установки будут заданы некоторые вопросы для предварительной настройки ddclient. такие как:

    1. Выбирете DNS сервис: zoneedit.com

    2. Имя пользователя для логина на сервисе: <ваше_имя_пользователя>

    3. Пароль для входа на сервисе: <ваш_пароль>

    4. Доменное имя: yourdomain.com

    5. Интерфейс для работы (wlan0, eth0 и т.д.): <интерфейс>

Настройка

  1. После установки необходимдо дополнительно сконфигурировать

    /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
  2. Теперь открываем

    /etc/default/ddclient
    sudo vim /etc/default/ddclient

    И проверяем, что файл содержит следующие строки:

    run_ipup="false"
    run_daemon="true"
    daemon_interval="300"

    Вы можете выставить интервал обновления IP (daemon_interval) меньше или больше, но он должен совпадать со значением, указанным в

    /etc/ddclient.conf
  3. Теперь необходимо перезапустить ddclient для применения изменений конфигурации:

    sudo /etc/init.d/ddclient restart
  4. Для того, что бы проверить статус службы ddclient, выполните

    sudo /etc/init.d/ddclient status

    Если при перезапуске вы не получаете ошибок, значит служба перезапускается корректно.

  5. Корректный перезапуск службы не означает, что синхронизация вашего IP работает и настроена правильно. ddclient записывает свой лог в

    /var/log/syslog

    , поэтому для отслеживания состояния, необходимо использовать команду tail

    tail -f /var/log/syslog
  6. И дождаться очередной попытки обновить 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

Ссылки