Лабораторные работы по ПО/Система доменных имен сервера Bind: различия между версиями

Материал из wiki.nntc.nnov.ru
Перейти к навигации Перейти к поиску
(Базовая настройка сервиса BIND)
Строка 29: Строка 29:
  
 
  sudo nano /etc/bind/named.conf.options
 
  sudo nano /etc/bind/named.conf.options
 
+
 
  forwarders {
 
  forwarders {
192.168.10.1;
+
192.168.10.1;
};
+
};
  
 
Теперь все DNS-запросы к внешним адресам, сделанные серез DNS-сервер на вашем сервере, будут обрабатыватся основным DNS-сервером колледжа.
 
Теперь все DNS-запросы к внешним адресам, сделанные серез DNS-сервер на вашем сервере, будут обрабатыватся основным DNS-сервером колледжа.
Строка 43: Строка 43:
 
  sudo nano /etc/bind/bind.conf.local
 
  sudo nano /etc/bind/bind.conf.local
 
   
 
   
  zone "dhsilabs.com" {
+
  zone "srv1.lab.nntc" {
 
       type master;
 
       type master;
       file "/etc/bind/db.dhsilabs.com";
+
       file "/etc/bind/db.srv1";
 
       notify no;
 
       notify no;
 
  };
 
  };
Строка 54: Строка 54:
 
   
 
   
 
   
 
   
  @      IN    SOA  den.dhsilabs.com. hostmaster.dhsilabs.com. (
+
  @      IN    SOA  ns.srv1.lab.nntc. root.srv1.lad.nntc. (
 
             93011120 ; серийный номер
 
             93011120 ; серийный номер
 
               10800 ; обновление каждые 3 часа
 
               10800 ; обновление каждые 3 часа
Строка 61: Строка 61:
 
               86400) ; TTL записи — 24 часа
 
               86400) ; TTL записи — 24 часа
 
            
 
            
        IN NS      den.dhsilabs.com.
+
@      IN NS      ns.srv1.lab.nntc.
        IN A        192.168.1.1
+
  srv1    IN A       192.168.5.2
        IN MX      150 den.dhsilabs.com.
+
  ns      IN A       192.168.5.2    
  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
 
Сохраним файл и перезапустим сервис bind
  
 
  sudo /etc/init.d/bind restart
 
  sudo /etc/init.d/bind restart
 
  
 
==Проверка работоспособности зоны==
 
==Проверка работоспособности зоны==
Теперь проверим правильно ли интерпретируются наши доменные имена в ip-адреса. Для этого используем утилиту nslookup. Выполним запрос на преобразование имени поддомена dhsilabs.com
 
  
nslookup dhsilabs.com
+
Давайте проверим правильность работы нашего поддомена. В терминате компьютера за которым вы непосредственно седите (не на виртуальном сервере) выполните команду nslookup с имен нашего поддомена в качестве параметра.
 
  
 +
nslookup srv1.lab.nntc.
  
==Обратная зона поддомена==
+
Наличие точки в конце адреса хоста зависит от параметров в файле /etc/resolv.conf. Если ваш dhcp сервер соощает настройки dns сервера с параметром '''search''', то вам следует соохранить точку в конце доменново имени. Иначе значение параметра search будет автоматически подставлено к внутреннему адресу srv1.lab.nntc и вы получите неверный запрос.
Создадим обратную зону поддомена. Она даст возможность по ip-адресу получить доменное (буквенное) имя вашего хоста.
+
Если параметр search в /etc/resolv.conf отсутствует точка в конце доменного имени не обязательна.
  
Для этого опишем обратную зону в /etc/bind/named.conf.local
+
В ответ на комманду вы должны получить соответствующий имени домена ip-адрес.
  
sudo nano /etc/bind/named.conf.local
+
Если вы получаете именно тот адрес, который задавали в файле db.srv1 - значит все работает правильно.
 
zone "1.168.192.in-addr.arpa" {
 
    type master;
 
    file "/etc/bind/db.192.168.1";
 
    notify yes;
 
    };
 
  
И добавим информацию о доменных (буквенных) именах, соответствующих ip-адресу нашему серверу.
+
==Добавление дополнительных хостов==
  
 +
Теперь у вас есть возможность создавать доменные записи в доменной зоне, обслуживаемой вашим сервером. Давайте создадим несколько дополнительных записей для каждого из сервисов, работающих на нашем сервере. Это не повлияет на настройки сервисов, но, возможно, созаст некоторое удобство для пользователей. К тому же, если вы захотите переместить один из ваших сервисов на другой компьютер, все что потреьуеться - изменить запись в DNS-зоне. Для пользователей перенос сервиса пройдет незаметно.
  
sudo nano /etc/bind/db.192.168.1
+
Давайте создадим две записи, www.srv1.lab.nntc и ftp.srv1.lab.nntc
 
  @ 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
 

Версия 14:06, 20 ноября 2009

Настройка Сервера Доменных Имен (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 "srv1.lab.nntc" {
     type master;
     file "/etc/bind/db.srv1";
     notify no;
};

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

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


@       IN    SOA   ns.srv1.lab.nntc. root.srv1.lad.nntc. (
           93011120 ; серийный номер
              10800 ; обновление каждые 3 часа
               3600 ; повтор каждый час
            3600000 ; хранить информацию 1000 часов
             86400) ; TTL записи — 24 часа
          
@       IN NS       ns.srv1.lab.nntc.
srv1    IN A        192.168.5.2
ns      IN A        192.168.5.2      

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

sudo /etc/init.d/bind restart

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

Давайте проверим правильность работы нашего поддомена. В терминате компьютера за которым вы непосредственно седите (не на виртуальном сервере) выполните команду nslookup с имен нашего поддомена в качестве параметра.

nslookup srv1.lab.nntc.

Наличие точки в конце адреса хоста зависит от параметров в файле /etc/resolv.conf. Если ваш dhcp сервер соощает настройки dns сервера с параметром search, то вам следует соохранить точку в конце доменново имени. Иначе значение параметра search будет автоматически подставлено к внутреннему адресу srv1.lab.nntc и вы получите неверный запрос. Если параметр search в /etc/resolv.conf отсутствует точка в конце доменного имени не обязательна.

В ответ на комманду вы должны получить соответствующий имени домена ip-адрес.

Если вы получаете именно тот адрес, который задавали в файле db.srv1 - значит все работает правильно.

Добавление дополнительных хостов

Теперь у вас есть возможность создавать доменные записи в доменной зоне, обслуживаемой вашим сервером. Давайте создадим несколько дополнительных записей для каждого из сервисов, работающих на нашем сервере. Это не повлияет на настройки сервисов, но, возможно, созаст некоторое удобство для пользователей. К тому же, если вы захотите переместить один из ваших сервисов на другой компьютер, все что потреьуеться - изменить запись в DNS-зоне. Для пользователей перенос сервиса пройдет незаметно.

Давайте создадим две записи, www.srv1.lab.nntc и ftp.srv1.lab.nntc