FreeBSD: установка клиента ddclient
1. # locate ddclient
# cd /usr/ports/dns/ddclient
# make install (перед запуском этой команды убедитесь, что Интернет доступен на FreeBSD)
# make clean
Все, ddclient установлен. Из себя он представляет просто скрипт на perl, и находится он в /usr/local/sbin/ddclient. К сожалению, man для ddclient нет, докуметация по использованию есть в папке /usr/local/share/doc/ddclient, а также доступен help командой:
# ddclient -help | more
Приступим теперь к конфигурированию ddclient.
2. На сайте dyndns.com перейдите на Support\DNS Tools\Update Client Configurator. Поставьте галочку «Add To Config File» напротив вашего домена mycooldomain.dyndns.biz, выберите формат конфига ddclient и жмите кнопку Generate. Получим содержимое для ddclient.conf — конфига для нашего клиента DDNS:
## ddclient configuration file
daemon=600 # check every 600 seconds
syslog=yes # log update msgs to syslog
mail-failure=тут_будет_Ваш_email_который_ввели_при_регистрации # Mail failed updates to user
pid=/var/run/ddclient.pid # record PID in file.
## Detect IP with our CheckIP server
use=web, web=checkip.dyndns.com/, web-skip=’IP Address’
## DynDNS username and password here
login=тут_будет_ваш_логин
password=##YOUR PASSWORD##
## Default options
protocol=dyndns2
server=members.dyndns.org
## Dynamic DNS hosts
mycooldomain.dyndns.biz
3. # cp /usr/local/etc/ddclient.conf.sample /usr/local/etc/ddclient.conf
Правим /usr/local/etc/ddclient.conf, чтобы там оказалось все то, что мы получили в генераторе на сайте dyndns.com. Я ввел все так, как сделал генератор, за исключением поставил вместо моего email слово root, чтобы сообщения сыпались в почтовый ящик администратора FreeBSD.
4. Добавляем строку в /etc/rc.conf (это будет запускать ddclient в режиме демона при загрузке):
ddclient_enable=»YES»
5. Запускаем ddclient как демона:
# ddclient -daemon 600 -syslog
Замеченые глюки
Иногда после длительной работы или смены IP на внешнем интерфейсе ddclient перестает обновлять IP адрес, привязанный к доменному имени. В системный лог /var/log/messages с интервалом 5 минут при этом пишется сообщение «Apr 13 16:43:28 msinhome ddclient[910]: WARNING: cannot connect to checkip.dyndns.org:80 socket: IO::Socket::INET: Bad hostname ‘checkip.dyndns.org'». Однако проверка доступности checkip.dyndns.org по порту 80 показывает, что все в порядке. Лечится рестартом ddclient:
# ps -ax | grep ddclient
91256 p1 S 0:02.58 ddclient — sleeping for 210 seconds (perl)
# kill 91256
# ddclient -daemon 600 -syslog
Вот и все удачи