Делаем домашний сервер с собственным именем в Internet'е

Статус
В этой теме нельзя размещать новые ответы.

Markus Lang

Постоялец
Регистрация
8 Июл 2008
Сообщения
267
Реакции
170
Использование сервисов DynDNS во FreeBSD

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

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

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

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

1. На ADSL-модеме выводим наш компьютер в демилитаризованную зону — то есть вводим IP-адрес сетевой карты в настройках ADSL-модема в поле ввода на страничке DMZ и открываем доступ к компьютеру извне.

2. Идём на сайт и регистрируем на нём учётную запись.
После подтверждения регистрации вводим имя и пароль для входа в пользовательский аккаунт. Идём на страничку настройки: 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

Содержимое конфиг-файла:
# метод определения IP-адреса, назначенного провайдером пользователю
use=web, web=checkip.dyndns.com/, web-skip='IP Address'
# логин и пароль к 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
Запускаем ddclient в текущей сессии:
% /usr/local/etc/rc.d/ddclient start
Или запускаем ddclient как демона с интервалом проверки 10 минут:
% ddclient -daemon 600 -syslog
Контролировать работу демона можно так:
% cat /var/log/messages | grep ddclient
4. Установка и настройка публичного Web-сервера на примере Apache Tomcat объясняется в этой статье:

P.S.
Замеченые неисправности
Иногда после продолжительной работы или смены IP-адреса на модеме ddclient перестает обновлять IP-адрес, привязанный к доменному имени. В системный журнал /var/log/messages при этом пишутся сообщения примерно такого содержания: «Dec 4 01:01:55 comp ddclient[12910]: WARNING: cannot connect to checkip.dyndns.org:80 socket: IO::Socket::INET: Bad hostname 'checkip.dyndns.org'». Однако сервер checkip.dyndns.org по порту 80 доступен и должно быть всё в порядке. Такое поведение ddclient лечится только его рестартом:
% /usr/local/etc/rc.d/ddclient stop
% /usr/local/etc/rc.d/ddclient start
 
Дома только идиот будет использовать связку dyndns + freebsd.
Предлагаю сдедущее:
1)Зарегить себе домен
2) /usr/ports/dns/bind95 make install
3) /usr/ports/misc/mc make install (ну это кому как)
4) mcedit /etc/namedb/named.conf
5) прописать:
zone "ВАШ_ДОМЕН" {
type master;
file "/etc/namedb/master/ФАЙЛ_ДОМЕНА";
};
5.1) Для того чтобы вторичный днс мог забирать инфу с нашего сервера, надо разрешить трансфер для него. Обычно эти айпи указаны где-нибудь =) как пример локальные айпи:
allow-transfer { 192.168.1.1; 192,168.1.2};
6) mcedit /etc/namedb/master/ФАЙЛ_ДОМЕНА
TTL 3600
YUODOMAIN.ZONE. IN SOA primary.YUODOMAIN.ZONE. you_mail_in_this_domain.YUODOMAIN.ZONE. (2008122300 10800 3600 604800 86400)
YUODOMAIN.ZONE. IN NS primary.YUODOMAIN.ZONE.
YUODOMAIN.ZONE. IN NS secondary.dns.zone.
primary.YUODOMAIN.ZONE. IN A 192.168.1.1
Для просмотра ссылки Войди или Зарегистрируйся IN A 192.168.1.1
Тут мы видим, что первичный днс у нас, втоирчный на строне. Про цифры объяснять нет смысла.

Ну и еще можно сделать так
echo 'named_enable="YES"' >> /etc/rc.conf

Вот в принципе и все =)
 
немного, не в тему, но рядом...

если ip статический (он у нас идет в комплекте с ADSL), то получается совсем просто.
1. регнуть домен
2. сделать фришный днс для него(чтобы не морочиться с настройками своего днс-а), например на freedns.ws

все, связь между ip и именем установлена
 
Интренесно тогда, когда все у тебя находится, а это полная чушь.
С таким подходом можно и веб сервер не настраивать, просто xampp распаковать и запустить
 
  • Нравится
Реакции: bpua
Интренесно тогда, когда все у тебя находится, а это полная чушь.
С таким подходом можно и веб сервер не настраивать, просто xampp распаковать и запустить

разные цели - разные решения. может кто-то и xampp приспособит :) я не вижу смысла держать рабочий веб сервер на своем домашнем ip, а тем более днс сервер.

мне для работы достаточно под vmware поднять шестую фрю практически в полном боевом объеме. на ней отладить скрипты и бд, после отладки бекапами перенести на рабочий сервер.
дом - это тест, обкатка и отладка, не более.
 
Можно поступить еше проше, зарегистрировать домен на хостинге который предостовляет услугу named/bind что самому с named'ом не парится, прописать статический IP адрес и все.
 
  • Заблокирован
  • #7
Автор описывал решение конкретной задачи - доступ к машине, у которой IP адрес может меняться в любое время и без каких либо извещений. DynDNS поможет к примеру в том простом случае, когда нужно просто попасть с работы на домашнюю машину.
 
Есть ли решения если сервер за NAT ом находится мб что нибудь уже придумали?
 
Подскажите подробный мануал по настройке собственных DNS
Есть дедик на Агаве, три IP адресочка, сейчас используются днс агавы, использование их ДНС услуга платная, необходимо настроить свои на сервере (FreeBSD 6.4)+присобачить возможность использования третьего IP адреса, сейчас два.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху