Перед выполнением всех этих операций у Вас должен быть зарегистрирован аккаунт на сайте dyndns.com, и там же получено доменное имя. Предположим, вы настроили себе имя mycooldomain.dyndns.biz (это делается на страничке dyndns.com - перейдите на Account\Add Host Services).
Процесс по шагам:
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 |