Лабораторные работы по ПО/Система доменных имен сервера Bind

Материал из wiki.nntc.nnov.ru
Версия от 10:56, 11 ноября 2009; Gumanoed (обсуждение | вклад) (Новая: =Настройка Сервера Доменных Имен (DNS)= В предидущих практических работах мы настраивали сетевые серви...)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к навигации Перейти к поиску

Настройка Сервера Доменных Имен (DNS)

В предидущих практических работах мы настраивали сетевые сервисы и получали к ним доступ по ip адресам. С точки зрения разработки протоколов и программного обеспечения адреса компьютеров выраженные в цифровом формате очень удобны. Но было бы странно предлагать другому человеку зайти на новый сайт с адресом 192.168.5.20. Было бы гораздо удобнее сказать "зайди на хост с именем serv2.lab.nntc.nnov.ru". Пусть даже немного длиннее, но уже понятнее и гораздо лучше запоминаеться. Именно для этого в начале 90-х годов был придуман сервис DNS. DNS (Domain Naim Service) выполняет только одну, но очень важную задачу - связи буквенных имен компьютеров и их числовых ip адресов.

В DNS храняться имена компьютеров в сети, например mail.ru, и соответствующие этим именам ip-адреса.

И каждый раз при обращении через web-брайзер к сайту сначало производиться запрос к DNS серверу, в ответ на который DNS сервер возвращает соответсвующий ip-адрес сайта и дальше все взаимодействия с запрашиваемым сайтом производяться по его ip-адресу.

В этой работе мы:

  • установим свой DNS сервер, обслуживающий нашу под-зону имен
  • создадим две записи в нашей подзоне, отдельно для сервиса www и ftp
  • подготовим DNS сервер для создания виртуальных доменов в Apache в следующей практической работе

Установка сервера доменных имен BIND

Самым распространенным в Internet является сервер доменных имен BIND (Berkley Internet Nameserver Daemon). Он используется более чем на 80% интернет серверов. Мы так же воспользуемся им.

Все настройки нужно будет производить на сервере. Зайдите на сервер с помощью удаленного доступа к консоли по протоколу ssh, как вы это делали при выполнении предидущих заданий.

В репозитории сервис bind представлен пакетом 9-й версии этого приложения. Установм его коммандой:

sudo aptitude install bind9

После установки пакета перейдите в директорию с конфигурационными файлами сервиса bind:

cd /etc/bind

Базовая настройка сервиса BIND

Сразу после установки сервер настроен на работу в качестве кэширующего DNS-сервера и при запросах к нему делает обращения к корневым DNS-серверам, указанным в файле /etc/bind/db.root.

В нашем случае наш DNS-сервер должен будет обслуживать один из поддоменов колледжа и обращаться за адресами компьютеров вне своей под-зоны только через колледжный DNS-сервер. Для этого в файле /etc/bind/named.conf.options нам потреуеться добавить параметр forwarders.

sudo nano /etc/bind/named.conf.options

forwarders {

192.168.10.1; };

Теперь все DNS-запросы к внешним адресам, сделанные серез DNS-сервер на вашем сервере, будут обрабатыватся основным DNS-сервером колледжа.

Прямая зона поддомена

Создадим прямую зону нашего поддомена с двумя записями.

Для этого в файле /etc/bind/bind.conf.local опишем нашу зону:

sudo nano /etc/bind/bind.conf.local

zone "dhsilabs.com" {
     type master;
     file "/etc/bind/db.dhsilabs.com";
     notify no;
};

Теперь создадим файл, непосредственно содержащий информацию об именах компьютеров и соответствующих им ip-адресах.

sudo nano /etc/bind/db.dhsilabs.com


@       IN    SOA   den.dhsilabs.com. hostmaster.dhsilabs.com. (
           93011120 ; серийный номер
              10800 ; обновление каждые 3 часа
               3600 ; повтор каждый час
            3600000 ; хранить информацию 1000 часов
             86400) ; TTL записи — 24 часа
          
        IN NS       den.dhsilabs.com.
        IN A        192.168.1.1
        IN MX       150 den.dhsilabs.com.
den     IN A              192.168.1.1      
        IN HINFO    INTEL CELERON (LINUX)
        IN MX       100 den
        IN MX       150 evg.dhsilabs.com.
ns      IN CNAME    den.dhsilabs.com.        
WWW     IN CNAME    den.dhsilabs.com.
ftp     IN CNAME    den.dhsilabs.com.    
mail    IN CNAME    den.dhsilabs.com.
evg     IN A              192.168.1.2 

Сохраним файл и перезапустим сервис bind

sudo /etc/init.d/bind restart


Проверка работоспособности зоны

Теперь проверим правильно ли интерпретируются наши доменные имена в ip-адреса. Для этого используем утилиту nslookup. Выполним запрос на преобразование имени поддомена dhsilabs.com

nslookup dhsilabs.com


Обратная зона поддомена

Создадим обратную зону поддомена. Она даст возможность по ip-адресу получить доменное (буквенное) имя вашего хоста.

Для этого опишем обратную зону в /etc/bind/named.conf.local

sudo nano /etc/bind/named.conf.local

zone "1.168.192.in-addr.arpa" {
   type master;
   file "/etc/bind/db.192.168.1";
   notify yes;
   };

И добавим информацию о доменных (буквенных) именах, соответствующих ip-адресу нашему серверу.


sudo nano /etc/bind/db.192.168.1

 @ IN SOA den.dhsilabs.com. hostmaster.dhsilabs.com. (
      93011120    ; серийный номер
      10800       ; обновление каждые 3 часа
      3600        ; повтор каждый час
      3600000     ; хранить информацию 1000 часов
      86400 )     ; TTL записи - 24 часа
 @ IN NS den.dhsilabs.com
 1 IN PTR den.dhsilabs.com
 2.1.168.192     IN PTR evg.dhsilabs.com