Денис Колисниченко - Linux-сервер своими руками Страница 68
Денис Колисниченко - Linux-сервер своими руками читать онлайн бесплатно
ps –ax | grep named
Если сервер DNS запущен, то его нужно остановить (командой kill или ndc), а если он вообще не установлен, то вам придется установить пакет bind. Обратите внимание, что исполнимый файл называется named, а сам пакет — bind. BIND (Berkley Internet Nameserver Daemon) — это наиболее известный и используемый DNS-сервер, настраиваемый в Linux. Для работы сервера должен быть активизирован сервис network. Я надеюсь, вы не забыли, как это сделать?
Теперь приступим к непосредственной настройке сервера и рассмотрим ее на примере. Для этого обратимся к файлу /etc/named.conf, в котором содержится основная информация о параметрах сервера (см. листинг 10.1).
Листинг 10.1. Файл named.conflogging {
category cname {null; };
};
options {
directory "/var/named";
};
zone "." {
type hint;
file "named.ca";
};
zone "dhsilabs.com" {
type master;
file "dhsilabs.com";
notify no;
};
zone "0.0.127.in-addr.arpa" {
type master;
file "named.local";
};
zone "1.168.192.in-addr.arpa" {
type master;
file "192.168.1";
notify yes;
};
Основной рабочий каталог сервера — /var/named. Указанные без начального обратного слэша имена файлов будут искаться относительно этого каталога. То есть именно в нем сервер будет искать файлы dhsilabs.com, named.local, 192.168.1, named.ca (см. листинги 10.1, 10.3, 10.4). Обслуживаемая сервером зона (домен) — dhsilabs.com.
Давайте рассмотрим поподробнее листинг 10.1. Сначала в нем были определены опции протоколирования — блок logging. Затем идет задание параметров самого сервера — блок options. Параметр directory определяет корневой каталог сервера – /var/named. Помимо параметра directory в блоке options могут задаваться и другие параметры (такие, как forwarders, forward и др.), о которых сказано будет несколько позже (см. п. 10.2). Для функционирования сервера достаточно и одного параметра directory.
После блока параметров должны быть перечислены зоны, обслуживаемые сервером. Мы будем обслуживать зону (домен) dhsilabs.com. Информация об этой зоне хранится в файле /var/named/dhsilabs.com. Позже мы займемся созданием этого файла. С помощью него наш сервер будет преобразовывать имена компьютеров в IP-адреса. Для обратного преобразования служит файл /var/named/192.168.1.
Зоны "." и "0.0.127.in-addr.arpa" — особые. Я не буду их подробно описывать: их назначение вы поймете из дальнейшего текста книги. Файл named.local — это файл обратного соответствия, предназначенный для преобразования IP-адресов в имена, то есть, в частности, он используется для преобразования адреса 127.0.0.1 в имя localhost.
Файл named.ca — это файл, в котором перечислен начальный набор корневых DNS-серверов. Он содержит информацию о корневых серверах DNS. При разрешении имени в IP-адрес или наоборот, полученная информация кэшируется и остается в памяти сервера определенное время. В свой работе, если нужно разрешить имя в IP-адрес (или наоборот), ваш DNS-сервер сначала будет искать необходимую ему информацию в кэше. Если ее там не окажется, то сервер обратится к одному из корневых серверов DNS, IP-адреса которых находятся в файле named.ca. Файл named.ca необходимо регулярно обновлять, чтобы он всегда содержал свежие данные (первый раз его нужно обновить сразу же после установки сервера, несмотря на то, что этот файл будет только что создан). Немного позже я отдельно опишу его обновление.
Файл dhsilabs.com непосредственно служит для преобразования имен в IP-адреса (см. листинг 10.2).
Листинг 10.2. Файл dhsilabs.com@ IN SOA den.dhsilabs.com. hostmaster.dhsilabs.com. (
93011120 ; серийный номер
10800 ; обновление каждые 3 часа
3600 ; повтор каждый час
3600000 ; хранить информацию 1000 часов
86400) ; TTL записи — 2 4 часа
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
IN MX 100 den.dhsilabs.com.
localhost IN A 127.0.0.1
Попробую объяснить все как можно быстрее и проще. Свое объяснение оформлю в виде табл. 10.1.
Записи DNS Таблица 10.1
Запись Описание NS Обозначает сервер имен (name server) А Задает IP-адрес, соответствующий имени компьютера PTR Задает имя компьютера, соответствующее IP-адресу MX число Определяет почтовик, который будет обслуживать наш домен. Числовой параметр возле записи MX является приоритетом данного почтового сервера. Чем меньше число, тем выше приоритет CNAME Определяет каноническое имя узла, то есть, если вы в окне браузера введете http://www.dhsilabs.com, то обращение будет произведено к den.dhsilabs.com HINFO Сведения об аппаратном обеспечении. Рекомендую не заполнять эту запись или использовать заведомо неправильные данные. Чем меньше информации имеет о вашей сети злоумышленник, тем сложнее ему будет атаковать ее TXT Прочие сведения. Содержит произвольный текстОбратите внимание на точку в конце
@ IN SOA den.dhsilabs.com. hostmaster.dhsilabs.com. (
Если точка не указана, то к имени будет добавлено имя домена (то есть dhsilabs.com).
Листинг 10.3. Файл named.local@ IN SOA dhsilabs.com. root.dhsilabs.com. (
199609203 ;серийный номер
28800 ;обновление каждые 8 часов
7200 ;повтор каждые 2 часа
604800 ;хранить информацию 168 часов (1 неделю)
86400) ;TTL записи – 24 часа
NS dhsilabs.com.
1 PTR localhost.
Файл 192.168.1 или файл обратного соответствия представлен в листинге 10.4.
Листинг 10.4. Файл обратного соответствия@ 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
Запись PTR используется для преобразования IP-адреса в имя. Если указан не весь IP, например:
1 IN PTR den.dhsilabs.com
то к нему будет добавлен адрес подсети 1.168.192. IP-адреса указываются в обратном порядке!
Для установки файла корневого кэша следует установить пакет caching-nameserver, но я рекомендую получить и установить самую новую версию. Для этого подключитесь к Интернет, запустите сервер DNS, а затем выполните команду:
# nslookup | tee ns
В ответ на приглашение программы nslookup введите две команды
> set q=ns (или set type=ns)
> .
На экране вы увидите список корневых серверов DNS, который будет помешен в файл ns. Для преобразования файла ns в формат named.ca воспользуйтесь следующей программкой на awk (см. листинг 10.5).
Листинт 10.5. Сценарий reformat#!/bin/awk
awk ` BEGIN {
/root/ { print ". INNS " $4"." }
/internet/ { print $1"." " 999999 IN a " $5 }
END `
Использовать ее нужно как reformat <source file> <output file>, то есть:
reformat ns named.ca
Теперь осталось скопировать named.ca в каталог /var/named и на этом — все.
А теперь покажу, как то же самое можно было сделать проще. Для этого следует воспользоваться программой dig, выполнив команду:
dig @e.root-servers.net.ns > root.hints.new
После этого остается просто заменить старый файл named.ca новым
файлом named.ca.new. Как видите, второй способ намного проще, но и
первый знать не помешает.
Обычно файл named.ca содержит примерно такую информацию:
. 6D IN NS G.ROOT-SERVERS.NET.
. 6D IN NS J.ROOT-SERVERS.NET.
. 6D IN NS K.ROOT-SERVERS.NET.
. 6D IN NS L.ROOT-SERVERS.NET.
. 6D IN NS M.ROOT-SERVERS.NET.
. 6D IN NS A.ROOT-SERVERS.NET.
. 6D IN NS H.ROOT-SERVERS.NET.
. 6D IN NS B.ROOT-SERVERS.NET.
. 6D IN NS C.ROOT-SERVERS.NET.
. 6D IN NS D.ROOT-SERVERS.NET.
. 6D IN NS E.ROOT-SERVERS.NET.
. 6D IN NS I.ROOT-SERVERS.NET.
. 6D IN NS F.ROOT-SERVERS.NET.
;; ADDITIONAL SECTION:
G.ROOT-SERVERS.NET. 5w6dl6h IN A 192.112.36.4
J.ROOT-SERVERS.NET. 5w6dl6h IN A 198.41.0.10
K.ROOT-SERVERS.NET. 5w6dl6h IN A 193.0.14.129
L.ROOT-SERVERS.NET. 5w6dl6h IN A 198.32.64.12
M.ROOT-SERVERS.NET. 5w6dl6h IN A 202.12.27.33
A.ROOT-SERVERS.NET. 5w6dl6h IN A 198.41.0.4
Жалоба
Напишите нам, и мы в срочном порядке примем меры.