dyndns

Конфигурационные файлы и настройка без мастера

Все указанные мной настройки уместились в двух файлах. /etc/ddclient.conf:

# Configuration file for ddclient generated by debconf
#
# /etc/ddclient.conf

pid=/var/run/ddclient.pid
protocol=dyndns2
use=if, if=
server=members.dyndns.org
login=www2
password=’password’
ufadeb.homelinux.org

В этом файле можно указать имя интерфейса, имя и пароль учётной записи на DynDNS и доменное имя, которые вы выбрали при регистрации.

И второй файл — /etc/default/ddclient:

# Configuration for ddclient scripts
# generated from debconf on Срд Фев 25 20:17:16 YEKT 2009
#
# /etc/default/ddclient

# Set to «true» if ddclient should be run every time a new ppp connection is
# established. This might be useful, if you are using dial-on-demand
run_ipup=»true»

# Set to «true» if ddclient should run in daemon mode
run_daemon=»false»

# Set the time interval between the updates of the dynamic DNS name in seconds.
# This option only takes effect if the ddclient runs in daemon mode.
daemon_interval=»300″

В нём можно указать режимы запуска и период обновления информации:

1. run_ipup соответствует запуску демона при установлении PPP-подключения и его остановке при разрыве PPP-подключения, принимает два значения — true (запускать) и false (не запускать),

2. run_daemon — запускать ddclient в режиме демона (true) или нет (false),

3. daemon_interval — интервал обновления привязки доменного имени и IP-адреса в секундах (300 — 5 минут).

4. Более сложный случай настройки

Мне понадобился несколько более экзотический случай настройки: мне нужно обновлять две доменные записи и привязывать их к двум интерфейсам. С помощью мастера настройки и обычных режимов работы ddclient, предусмотренных скриптами в /etc/init.d/ddclient это настроить нельзя. Поэтому я настроил немного по-другому.

Нужно прописать в файле конфигурации обычные настройки для одного домена, но указать их два. Для каждого домена обновлять записи следует из командной строки, указывая название интерфейса и доменное имя, для которых производится обновление. Теоретически можно было бы вызывать эти скрипты единожды при поднятии PPP-интерфейсов, однако на практике такая схема обновления записей себя не оправдала: если ddclient не срабатывал сразу при поднятии интерфейса, то новых попыток обновить адрес не предпринималось до тех пор, пока PPP-соединение не будет переподключено вновь. Если каждое обновление записей в DynDNS требует личного контроля, автоматизацией это не назовёшь. Поэтому был выбран другой вариант — обновление записей по cron’у.

Сначала я отключил режим демона и режим запуска для PPP-соединений:

run_ipup=»false»
run_daemon=»false»
daemon_interval=»1m»

Настроил в файле /etc/ddclient.conf два доменных имени:

pid=/var/run/ddclient.pid
protocol=dyndns2
server=members.dyndns.org
login=www2
password=’password’
ufadeb.homelinux.org
stupin.homelinux.org

И настроил запуск ddclient по cron’у каждую минуту:

crontab -e

Добавив в таблицу две строчки:

*   *  *   *   *     /usr/sbin/ddclient -file /etc/ddclient.conf -host stupin.homelinux.org -use if -if ppp0
*   *  *   *   *     /usr/sbin/ddclient -file /etc/ddclient.conf -host ufadeb.homelinux.org -use if -if ppp1

Интерфейсы ppp0 и ppp1 всегда привязаны к определённым соединениям с помощью опции unit демона pppd.

Теперь можно перезапустить демон cron, чтобы он заново считал свои настройки (хотя вроде бы и так он перечитывает их каждую минуту):

/etc/init.d/cron restart

ddclient хранит текущие настройки в файле /var/cache/ddclient/ddclient.cache, иногда для того, чтобы принудительно обновить настройки на DynDNS-сервере может потребоваться удалить этот файл (ddclient не отправляет запрос на обновление, если текущие настройки интерфейсов совпадают с сохранёнными в этом файле).

Запись опубликована в рубрике Без рубрики. Добавьте в закладки постоянную ссылку.

Добавить комментарий