Колисниченко Д.Н. - Linux-сервер своими руками (1077324), страница 61
Текст из файла (страница 61)
И еще: проверьте порядок разрешения имен вфайле / e t c / h o s t s , conf. Порядок должен быть задан так: order hosts,bind.Несмотря на то, что сейчас мы используем DNS, лучше сначала все жеискать в файле hosts.10.2. Кэширующий сервер DNS,- Кэширующий сервер, как правило, не обслуживает домен, а используется для повышения скорости работы соединения. Для настройки кэширующего сервера используется параметр forwarders, задаваемый в файлеnamed.conf (в блоке options). Рассмотрим пример: допустим, ваш сервердля разрешения какого-нибудь имени пытается добраться до одного изкорневых серверов.
А если у вас коммутируемое соединение да и модем на14400? Сейчас выглядит смешно, но иногда бывают и такие ситуации,например, в моей системе спокойно уживаются два модема — один 56КV.90, а второй именно на 14К. В любом случае, если у вас нет собственногодомена, а сервер DNS запущен на вашей машине, которую вы используете вгордом одиночестве, то с помощью вышеупомянутой директивы можносущественно повысить скорость соединения.
Способ очень прост: можнозаставить провайдера проделать за вас всю «грязную» работу. В обычнойситуации в процессе разрешения какого-нибудь имени ваш сервер будетпоследовательно запрашивать несколько удаленных корневых DNS-серверов, с каждым из которых надо установить соединение, отправить запрос иполучить ответ. Создание у себя кэширующего DNS-сервера позволит возложить всю эту работу на DNS-сервер провайдера. При этом ваш DNSсервер будет отсылать в сеть только. один запрос на разрешение имени(DNS-серверу провайдера) и получать только один окончательный ответ.Это особенно полезно, если у вас плохое соединение с Интернет.Для того, чтобы насладиться такой возможностью, следует в файлnamed.conf добавить следующие параметры (в блоке options):forward f i r s t ;forwarders {192.168.99.1;192.168.99.2;};Здесь я рассматриваю конкретный пример, вы же у себя замените адреса192.168.99.1 и 192.168.99.2 на адреса DNS-серверов вашего провайдера.
Параметр forwarders задает заключенный в фигурные скобки список IP-адресов, соответствующих DNS-серверам, которым ваш DNS-сервер будет переадресовывать запросы вместо того, чтобы отвечать на них самому. IP-адресаперечисляются через точку с запятой.9 За*. 851257Служба имен — DNSПараметр forward может принимать одно из двух следующих значений:ваш DNS-сервер никогда не должен предпринимать попыток обработать запрос самостоятельно;first ваш DNS-сервер должен пытаться сам обработать запрос, если указанные далее параметром forwarders сервера DNS не были найдены.Использование параметра forward бессмысленно без использования параметра forwarders.Таким образом, вернемся к настройке сервера, весь файл named.confпримет следующий вид, приведенный в листинге 10.6:onlyЛистинг 10.6. Файл named.conf кэширующего сервера DNSoptions {directory "/var/named";forward first;forwarders {192.168.99.1;192.168.99.2;};// Раскомментируйте следующую строку, если вы// работаете через f i r e w a l l и система не работает// query-source port 53;};zone "." {type hint;f i l e "named.ca";};zone " 0 .
0 . 1 2 7 . i n - a d d r . a r p a " {type slave;f i l e " named.local ";};Обратите внимание, что в примере уже не поддерживается зонаdhsilabs.com.Как правило, кэширующий сервер используется на отдельной машине,которая подключается к Интернет по коммутируемому соединению. Нужноучитывать, что сервер DNS сразу требует обращения к какому-нибудь сетевому ресурсу. В нашем же случае, если соединение не установлено, тоустройство рррО существовать не будет, a named будет страшно ругаться нато, что сеть недоступна.
При этом недоступным окажется даже интерфейс1о, а программа nslookup, если она нам понадобится без существования сети,просто «подвиснет», ожидая ответа от сервера DNS.Есть два способа решить данную проблему. Какой использовать — эторешать вам. Первый заключается в том, что при установлении соединениясценарий ррр-on, который обсуждался в гл. 7, будет запускать программу ndcс параметром start (см.
ниже), а сценарий ppp-off будет останавливать серверDNS командой ndc stop.258Служба имен — DNSВторой способ основывается тоже на использовании сценариев ррр-on иppp-off, но в этом случае сервер DNS всегда будет запущен. Принцип работызаключается в подмене файла корневого кэша named.ca. Сервер DNS содержит пустой файл корневого кэша, и при установке соединения сценарийррр-on скопирует вместо пустого файла нормальный файл кэша. Сценарийppp-off при разрыве соединения перезапишет нормальный файл named, caпустым файлом с таким же именем.
При использований этого способа вваших протоколах (журналах) будут регулярно появляться сообщения примерно такого содержания:Jan 5 16:10:11 den named[10147]: No root nameserver for class INДля полноты картины хочу отметить, что если вы используете NFS, и увас возникают проблемы с монтированием удаленных файловых систем,запускайте сервер named после запуска nfsd и mountd.10.3. Настройка дополнительного сервера DNSВы когда-нибудь обращали внимание, что у любого уважающего себяпровайдера есть два сервера DNS -- первичный (primary или master) ивторичный (secondary или slave)? Так вот сейчас и мы займемся настройкойвторичного сервера DNS.Примечание.Практически у каждого провайдера работают два сервера DNS. Наличие двух серверов обеспечивает, если можно так выразиться, избыточность разрешения имени.Например, с первичным сервером что-нибудь случилось, произошел сбой, что бываеточень редко, или же просто первичный сервер не в состоянии обработать большоеколичество запросов клиентов.
Тогда система разрешения имен операционной системы, получив отказ от первичного сервера DNS, обращается к вторичному.Например, вам нужно создать вторичный сервер, который будет обслуживать домен domain.com. С этой целью внесите следующие изменения вфайл named, conf дополнительного сервера:zone "domain.com" {type slave;f i l e "domain.com";masters { 192.168.1.1; 1 9 2 . 1 6 8 .
1 . 2 ; };};IP-адреса основных серверов DNS вашей сети указываются внутри подсекции master через точку с запятой. Вторичный сервер, в отличие откэширующего, всегда должен иметь тип slave.10.4. Команды управления сервером DNSДля управления сервером DNS используется программа ndc. Ее можноиспользовать с параметрами start, stop, reload, restart.Параметр start запускет сервер, a stop — останавливает.
Параметр reloadперезагружает файлы зоны, если в них произошли изменения, а параметрrestart перезапускает сервер DNS.259Служба имен — DNS10.5. Использование nslookupПрограмма nslookup используется для просмотра зоны DNS и входит всостав Linux (и всех вариантов UNIX), а также Windows NT.Примечание.В данном случае зону следует понимать как домен и читать «для просмотра домена».В зоне содержится различная информация о компьютерах в домене. Зоны бываютразные: одни содержат информацию о компьютерах в домене и служат для преобразования имени компьютера в IP-адрес и наоборот (см.
листинг 10.1), другие содержатинформацию о корневых серверах — зона «.». Последняя зона относится к типу hint —подсказка, зоны для разрешения имен обычно имеют тип master (главный), а зонывторичных серверов относятся к типу slave (подчиненный).Просмотр зоны — это просмотр информации, которую содержит зона.Обычно просмотр зоны разрешается только определенным, довереннымхостам.
Итак, запустите nslookup:# nslookupDefault Server: myserver.domain.comAddress: 127.0.0.1>Для того, чтобы получить информацию от сервера, нужно установитьтип запроса set q=<type> (или set type=<type>). Перечень типов запросовпредставлен в табл. 10.2.Типы запросовТаблица 10.2ТипsoaаааааОписаниеНачало полномочийПреобразование имени в IP-адрес узлаОтображение !Ру6-адресаузлаnsptrОтображение информации о сервере DNSwksРаспространенные службыhinfoИнформация о «железе» узлаПреобразование IP-адреса в имя узлаmxИнформация о почтовых серверах доменаtxtОтображение записи общего назначенияcnameanyОтображение канонического имениОтображение всех ресурсных записейТеперь рассмотрим несколько практических примеров.
Например, вызнаете имя узла — www.server.com. Давайте посмотрим, какая информациябудет выведена при указании типа any:>set q=any>server.comServer: myserver.domain.comAddress: 1 2 7 . 0 . 0 . 1Non-authoritative answer:server.com nameserver = compl.server.comserver.com nameserver = comp2.server.com260Служба имен — DNSserver.com nameserver = comp3.server.comAuthoritative answers can be found from:server.com nameserver = compl.server.comserver.com nameserver = comp2.server.comserver.com nameserver = comp3.server.comcompl.server.com internet address = 323.111.200.1comp2.server.com internet address = 323.111.200.2comp3.server.com internet address = 323.555.200.3Теперь получим сведения о зоне и почтовиках.>server compl.server.comDefault Server: compl.server.comAddress: 323.111.200.1>server.com.Server: compl.server.comAddress: 323.111.200.1server.com internet address = 123.111.200.2server.com nameserver = compl.server.comserver.com nameserver = comp2.server.comserver.com nameserver = comp3.server.comserver.comorigin = comp2.server.commail addr = root.server.comserial = 19refresh = 10800 (3 hours)retry = 7200 (2 hours)expire = 86400 (1 day)minimum ttl = 3600 (1 hour)server.com preference = 10, mail exchanger =mail.server.comcompl.server.com internet address = 323.111.200.1comp2.server.com internet address = 323.111.200.1comp3.server.com internet address = 323.111.200.3mail.server.com internet address = 323.111.200.17А сейчас посмотрим информацию о других узлах в этой сети:Is server.com.[comp2.server.com]server.com.
323.111.200.2server.com. server = compl.server.comserver.com. server = comp2.server.comserver.com. server = comp3.server.commail 323.111.200.17gold 323.111.200.22www.ie 323.111.200.11261Служба имен — DNSjersild 323.111.200.25compl 323.111.200.1сотрЗ 323.111.200.3parasitS 323.111.200.20www.press 323.111.200.30compl 323.111.200.1www 323.111.200.2Теперь вам понятно, почему не нужно вообще использовать записьHINFO? Если при реальной атаке злоумышленник выяснит, какая операционная система используется на компьютерах в вашей сети, ему будет прощенанести удар. Я не отрицаю, существует много способов выяснить тип ОС,но зачем же сообщать это самому?Примечание.В записи HINFO обычно указывается информация об аппаратном обеспечении, платформе компьютера и его операционной системе.Несколько замечаний:1. IP-адреса использовались учебные.2.