Лабораторные работы по ПО/Система доменных имен сервера Bind
Содержание
Настройка Сервера Доменных Имен (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