Мастер-класс управления FreeBSD: Делаем домашний сервер с собственным именем в Internet

Провайдер по соглашению с пользователем, как правило, для работы в Интернете выдаёт тому временный IP-адрес (так называемый «динамический IP»), который периодически меняется — чаще при перезагрузке ADSL-модема или же при регистрации компьютера пользователя в сети провайдера.

Другие пользователи получают доступ к любому серверу в Интернете, вводя в строке адреса Web-браузера (или другого сетевого клиента) имя сервера, а не его реальный IP-адрес — резолвинг, то есть соотнесение имени сервера с IP-адресом — разрешение имён, необходимым для сетевого «общения» программ — обеспечивается системой DNS, работающей на независимых серверах в Интернете.

Так как имя сервера должно разрешаться браузерами клиентов в реальный IP-адрес, необходимо установить жёсткую связь между именем сервера и его IP-адресом. Услуга по регистрации выделенного IP-адреса (да-да, и за выделенный, т.н. «статический IP», тоже взимается плата — но это другой случай) во всемирной системе DNS предоставляется на платной основе, что ограничивает число публичных Web- и FTP-серверов платёжеспособными клиентами. Однако сервисы, подобные DynDNS, понижают планку выхода на просторы Web-хостинга для обычных пользователей Интернета! Пользователи могут бесплатно использовать для своих страничек, расположенные на их собственных компьютерах, доменные имена третьего уровня.

Устанавливается все просто


  1. На ADSL-модеме выводим наш компьютер в демилитаризованную зону — то есть вводим IP-адрес сетевой карты в настройках ADSL-модема в поле ввода на страничке DMZ и открываем доступ к компьютеру извне.
  2. Идём на сайт www.dyndns.com и регистрируем на нём учётную запись.
    После подтверждения регистрации вводим имя и пароль для входа в пользовательский аккаунт. Идём на страничку настройки: My Services > Host Services > Add Hostname

    На страничке «Add New Hostname» вводим имя сервера (в поле Hostname);
    выбираем домен из списка доступных;
    вводим IP-адрес (в поле IP Address для начала можно использовать автоопределённый IP).

    Подтверждаем создание хоста нажатием кнопки «Create Host».
  3. Жёсткая связь между именем сервера (хостом) и IP-адресом во FreeBSD может поддерживаться посредством демона ddclient.

    При загрузке компьютера этот демон определяет назначенный провайдером IP-адрес пользователя и отсылает на сервер DynDNS информацию о новом IP-адресе, используя регистрационные данные пользователя сервиса. Сервер DynDNS присваивает этот IP-адрес ранее зарегистрированному хосту и вносит данные во всемирную систему DNS. Демон периодически отсылает данные на сервер DynDNS, если IP-адрес хоста пользователя изменяется.

    Клиент ddclient устанавливается из порта:
    % cd /usr/ports/dns/ddclient
    % make install clean


    Копируем и правим файл конфигурации демона:
    % cp /usr/local/etc/ddclient.conf.sample /usr/local/etc/ddclient.conf
    % chmod 600 /usr/local/etc/ddclient.conf
    % ee /usr/local/etc/ddclient.conf


    Содержимое конфиг-файла:
    use=web # метод определения IP-адреса, назначенного провайдером пользователю
    # логин и пароль к dyndns
    login=izen
    password=vеrytорseсret
    server=members.dyndns.org, \
    protocol=dyndns2 \
    izenfire.dyndns.info
    daemon=300 # проверять обновление IP-адреса каждые 300 секунд
    syslog=yes # использовать syslog для журналирования деятельности
    #-mail=root # можно включить отправку административных сообщений для root'а
    #-mail-failure=root # можно включить отправку административных сообщений для root'а об ошибках
    pid=/var/run/ddclient.pid # record PID in file.
    ssl=yes # использовать ssl — работать через библиотеку ssl


    Обеспечиваем автозапуск демона при старте системы:
    % echo 'ddclient_enable="YES"' >> /etc/rc.conf

    Запускаем в текущей сессии:
    % /usr/local/etc/rc.d/ddclient start

    Контролировать работу демона можно так:
    % cat /var/log/messages | grep ddclient
  4. Установка и настройка публичного Web-сервера на примере Apache Tomcat объясняется в этой статье: Apache Tomcat 6.0 во FreeBSD 7.0.


Источник статьи