Глава 17 DNS

Глава 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 используется для локального хранения запрошенных пользователем пар «имя—IP-адрес», что при интенсивном общении со многими Web-серверами позволяет экономить время на DNS-запросах. Кэширующий сервер не отвечает на внешние DNS-запросы.

•  обычный сервер DNS – это полнофункциональный сервер, позволяющий получать, передавать и синхронизировать DNS-данные с другими 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

В строке, которая начинается со слова search, указывается, какое доменное имя будет принято по умолчанию. Так, если вы напишете user, то система сразу попытается обратиться к компьютеру user.ogpu.odessa.ua. После search можно указывать несколько имен. В следующей строчке указываются адреса DNS-серверов, к которым будет обращаться ваша машина.

Настройка кэширующего сервера

Кэширующий сервер найдет ответ на запрос об имени машины и запомнит его, чтобы ответить, когда вы запросите эту же информацию в следующий раз. Это значительно уменьшит время ожидания ответа при следующем запросе, особенно если у вас медленное соединение.

/etc/named.conf

Это основной конфигурационный файл для DNS-сервера. Для кэширующего сервера он должен содержать следующие строки:

options {

directory "/var/named";

};

zone"." {

type hint;

file "root.hints";

};

zone "О.0.127.in-addr.arpa" {

type master;

file "127.0.0";

};

Строка directory указывает bind где искать файлы. Все файлы, используемые впоследствии, будут иметь путь относительно этого каталога.

Строка zone "0.0.127. in-addr.arpa" показывает, что bind также отвечает за обратную зону для подсети 127.*.*.*, является в ней мастером, и файл описания зоны – 127.0.0.

Секция zone"." самая важная. Она описывает, в каком файле лежат адреса корневых DNS-серверов, которые отвечают за зоны первого уровня.

Файл, названный /var/named/root.hints, должен находиться в указанном каталоге и содержать приблизительно следующую информацию:

Этот файл описывает имена корневых серверов имен по всему миру. Их список периодически изменяется. Поэтому данный файл необходимо время от времени корректировать.

Для получения файла root.hints существует по меньшей мере два пути: либо забрать его по FTP с сервера internic, либо выполнить команду:

dig @rs.internic.net. ns >root.hints

Данный текст является ознакомительным фрагментом.



Поделитесь на страничке

Похожие главы из других книг:

Глава 17 DNS

Из книги автора

Глава 17 DNS DNS – это Доменная Система Имен (Domain Name System). DNS преобразует символические имена машин в IP-адреса и наоборот – из IP-адреса в символическое имя. Для чего это нужно? Во-первых, человеку легче запомнить осмысленное имя – типа vasya.ru чем 195.66.195.42, а для компьютера проще


Глава 20 FTP

Из книги автора

Глава 20 FTP Эта глава посвящена протоколу FTP, настройке сервера FTP, проблемам конфигурации и безопасности сервера.Протокол FTPПротокол FTP (File Transfer Protocol, протокол передачи файлов) предназначен для передачи файлов в сети Интернет. Этот протокол был разработан на заре эры


ГЛАВА 14

Из книги автора

ГЛАВА 14 Переменные среды и интерпретатора shellЧтобы продуктивно работать с интерпретатором shell, нужно уметь управлять переменными этого интерпретатора. Переменными интерпретатора shell являются наименования, которым присваиваются значения. В качестве значений может


ГЛАВА 15

Из книги автора

ГЛАВА 15 Использование кавычекВ главе 14 обсуждались методы работы с переменными и операции подстановки. Чаще всего ошибки в использовании кавычек возникают при выполнении подстановок переменных в сценариях. Кавычки оказывают существенное влияние на формирование


ГЛАВА 16

Из книги автора

ГЛАВА 16 Понятие о shell–сценарииВ shell–сценарий может включаться одна или несколько команд; здесь нет общепринятых правил. Зачем же создавать целый сценарий ради двух–трех команд? Все зависит от предпочтений пользователя.В этой главе рассматриваются следующие


ГЛАВА 17

Из книги автора

ГЛАВА 17 Проверка условийПри создании сценария уточняется идентичность строк, права доступа к файлу или же выполняется проверка численных значений. На основе результатов проверки предпринимаются дальнейшие действия. Проверка обычно осуществляется с помощью команды test.


ГЛАВА 18

Из книги автора

ГЛАВА 18 Управляющие конструкцииВсе функциональные сценарии должны предлагать возможности по выбору возможных вариантов. При определенных условиях сценарии должны выполнять обработку списков. Этим вопросам посвящена настоящая глава. Кроме того, в ней описывается


ГЛАВА 19

Из книги автора

ГЛАВА 19 Функции интерпретатора shellДо сих пор весь программный код сценариев данной книги выполнялся последовательно от начала до конца программы. Подобный подход неплох, но при этом некоторые фрагменты кода, рассмотренного в наших примерах, дублируются в пределах


ГЛАВА 21

Из книги автора

ГЛАВА 21 Создание экранного выводаС помощью shell–сценариев можно создавать профессионального вида экраны, позволяющие реализовать интерактивное взаимодействие пользователя с системой. Для этого достаточно располагать цветным монитором и использовать команду tput.В


ГЛАВА 22

Из книги автора

ГЛАВА 22 Создание экранного вводаКогда речь идет об экранном вводе, или вводе данных, подразумевают ввод информации (в нашем случае с помощью клавиатуры), а затем — проверку достоверности введенных данных. Если данные удовлетворяют неким критериям, они


ГЛАВА 23

Из книги автора

ГЛАВА 23 Отладка сценариевОдной из самых сложных задач при создании shell–сценариев является их отладка. Желательно, чтобы пользователь, выполняющий эту задачу, получил консультации на данном этапе. Чтобы избежать распространенных ошибок, достаточно следовать указанному


ГЛАВА 24

Из книги автора

ГЛАВА 24 Встроенные команды интерпретатора shellВ предыдущих главах нам уже встречались конструкции, встроенные в интерпретатор shell Напомним, что речь идет о командах, которые не находятся в каталоге /bin или usr/bin, а встроены в интерпретатор Bourne shell. Скорость выполнения


ГЛАВА 25

Из книги автора

ГЛАВА 25 Дальнейшее изучение конструкции "документ здесь"При рассмотрении стандартного потока ввода и вывода, а также циклов while уже обсуждалась конструкция "документ здесь". Описывались методика пересылки электронной почты и способы формирования экранов меню, но


ГЛАВА 26

Из книги автора

ГЛАВА 26 Утилиты интерпретатора shellВ этой главе рассматриваются следующие темы:    • создание датируемых имен файлов и временных файлов;    • сигналы;   • команда trap и способы перехвата сигналов;   • команда eval;    • команда


ГЛАВА 28

Из книги автора

ГЛАВА 28 Сценарии уровня выполненияЕсли при загрузке системы вам нужно автоматически запустить приложение, службу или сценарий либо корректно завершить их работу при перезапуске системы, то необходимо создать сценарий уровня выполнения. Почти все варианты системы Linux, а


ГЛАВА 29

Из книги автора

ГЛАВА 29 Сценарии cgiВ настоящее время, когда практически на каждом ПК установлен Web–сервер, глава, посвященная сценариям cgi, органически вписывается в книгу по shell–программированию.В главе будут рассмотрены следующие темы:   • базовые сценарии cgi;   • использование