Глава 17 DNS
DNS – это Доменная Система Имен (Domain Name System). DNS преобразует символические имена машин в IP-адреса и наоборот – из IP-адреса в символическое имя. Для чего это нужно? Во-первых, человеку легче запомнить осмысленное имя – типа vasya.ru чем 195.66.195.42, а для компьютера проще передать четыре байта адреса, чем 50–60 байтов имени. Во-вторых, за одним и тем же IP-адресом могут скрываться сотни различных доменов. Когда-то, на заре эры глобальных сетей, все пары «имя-IР-адрес» хранились в файле /etc/hosts. Со временем, когда компьютеров в сети стало тысячи и десятки тысяч, эти файлы превратились в монстров, на смену которым пришли DNS-серверы.
DNS-сервер представляет собой базу данных, в которой для тысяч компьютеров хранится соответствие символического имени компьютера IP-адресу. В сети существуют десятки тысяч серверов DNS, которые обмениваются информацией с другими серверами DNS.
DNS – это иерархическая система. Вершина записывается как"." (точка) и произносится как root (корень). В корне существует некоторое количество доменов верхнего уровня (Top Level Domains, TLDs), наиболее известными из которых являются ORG, COM, EDU, GOV, MIL, NET, RU, UA и т. п.
При поиске машины запрос обрабатывается рекурсивно, начиная с корня. Если нужно найти адрес машины user.ogpu.odessa.ua, то ваш сервер имен должен найти сервер имен, который обслуживает иа. Он запрашивает корневой сервер (.), который выдает список серверов иа. Из полученного списка выясняется, какие серверы имен обслуживают иа. Затем запрашивается сервер (выбирается по определенному алгоритму или берется первый в полученном списке) чтобы узнать, какие серверы обслуживают odessa.ua. Затем берется сервер из полученного списка и выясняется, кто обслуживает ogpu.odessa.ua, и уже у этого сервера узнается IP-адрес компьютера user.ogpu.odessa.ua. А чтобы в следующий раз не повторять этот поиск, полученную пару "имя—IP-адрес" ваш сервер DNS сохраняет в своей базе данных.
В том случае, если необходимо по IP-адресу узнать имя компьютера, опять используется DNS-сервер. Для этих целей существует псевдодомен in-addr.arpa и в нем точно так же прописываются адреса, только порядок следования цифр обратный. Например, для адреса 195.66.195.22 запрос получится как к 22.195.66.195.in-addr.aipa, а схема поиска ответа остается такая же.
По своим функциональным обязанностям различают два вида DNS-серверов – обычный и кэширующий.
•
•
Настройка сетевых параметров
Поскольку настройка (и функционирование) DNS-сервера затрагивает практически все сетевые параметры, работоспособность DNS-сервера зависит от правильной конфигурации сети. В современных дистрибутивах, если вы выбрали «устанавливать DNS-сервер», конфигурирование его производится автоматически. Однако разработчик дистрибутива рассчитывает на абстрактную среднестатистическую систему, которой, как показывает практика, не существует. Поэтому следует убедиться, что с сетевыми настройками у вас все в порядке.
host.conf
Следующая запись в файле host.conf означает, что при поиске хостов система сначала посмотрит в /etc/hosts, а потом только обратится к серверу DNS:
order hosts,bind
/etc/hosts
В этом файле должны находиться пары «IP-адрес—имя»:127.0.0.1 localhost localhost.localdomain
192.168.0.1 user
192.168.0.2 user2Причем обязательно должна присутствовать следующая строка:
127.0.0.1 localhost localhost.localdomain
/etc/resolf.conf
В этом файле должны находиться строки, подобные приведенным:search ogpu.odessa.ua nameserver 195.66.195.22