Linux
Шрифт:
dig @rs.internic.net. ns >root.hints
/etc/127.0.0
127.0.0 – это файл, который отвечает за преобразование чисел IP-адреса в имена.
Файл 127.0.0 должен выглядеть так:
Эта запись обозначает следующее:
• @ указывает, что описываем сами себя;
• описываемая зона держится сервером с именем ns.ogpu.odessa.ua;
• отвечает за нее человек, доступный по адресу hostmaster@ogpu.odessa.ua (первая точка заменяет @);
• у зоны серийный номер равен 1 (обычно для него используют дату последней правки зоны – на него опираются другие серверы, которые берут информацию с вашего);
• другие серверы будут обновлять информацию
• при неудачном обновлении следующая попытка будет произведена через два часа;
• зона будет считаться содержащей недостоверную информацию на кэширующих серверах через одну неделю;
• зона будет считаться содержащей недостоверную информацию на кэширующих серверах не менее, чем через один день;
• строка IN NS ns.ogpu.odessa.ua. показывает, что авторитетным сервером за эту зону является ns.ogpu.odessa.ua., и именно ему надо рассылать обновления зоны ns.ogpu.odessa.ua.;
• строка 1 PTR localhost. описывает что машина с адресом 1 в зоне 127.0.0. имеет имя localhost.
Запуск named
Теперь можно запускать сервер. Наберите ndc start без опций и нажмите клавишу <Enter>.
Затем запускаем программу nslookup:
$ nslookup
Default Server: localhost
Address: 127.0.0.1>_
Если на мониторе это выглядит так, значит система работает. Мы так надеемся. Если вы видите что-то другое, то вернитесь назад и все проверьте. Каждый раз, когда вы изменяете файл named.conf, необходимо перезапустить named, используя команду ndc restart. Теперь проверим, как функционирует ваш кэширующий сервер – введем
user7.ogpu.odessa.ua:
> user7.ogpu.odessa.ua
Server: localhost
Address: 127.0.0.1Name: user7.ogpu.odessa.ua Address: 195.66.195.31
При этом nslookup попросил ваш named посмотреть информацию о данном компьютере. Если вы повторно попросите узнать адрес компьютера user7.ogpu.odessa.ua, то получите такой ответ:
> user7.ogpu.odessa.ua
Server: localhost
Address: 127.0.0.1
Non-authoritative answer:
Name: user7.ogpu.odessa.ua
Address: 195.66.195.31В это раз вы получили сообщение «Non-authoritative answer». Это значит, что named во второй раз не делал запрос к внешним серверам имен, а произвел поиск в своем кэше и нашел нужную запись. Поскольку вы увидели это сообщение, ваш кэширующий DNS-сервер функционирует верно. Получив положительный результат, можно завершить работу nslookup дав команду exit.
Настройка DNS-сервера
Настройка полнофункционального DNS-сервера несколько сложнее, чем кэширующего, но в основном файлы и записи те же самые. Для чистоты эксперимента рекомендуется произвести настройку для несуществующего домена. У нас он будет называться ivan.petrov.
/etc/named.conf
Для нашего сервера DNS он должен содержать следующие строки:options {
directory "/var/named";
};
zone"." {
type hint;
file "root.hints";
};
zone "0.0.127.in-addr.arpa" {
type master;
file "127.0.0";
};
zone "ivan.petrov" {
notify no;
type master;
file "ivan.petrov";
};
zone "0.168.192.in-addr.arpa" {
notify no;
type master;
file "192.168.0";
};Как можно видеть, по сравнению с кэширующим сервером добавилась только секция zone «ivan.petrov» и секция zone «0.168.192. in-addr.arpa».
Секция zone "ivan.petrov" описывает, что наш DNS-сервер держит зону ivan.petrov, является в ней мастером type master; (то есть другие серверы лишь синхронизируют по нему свои записи по зоне ivan.petrov), при изменении записей в зоне не извещает другие сервера notify по; (засорять Интернет вашими тестовыми записями нет нужды) и использует для описания зоны файл ivan.petrov.
Секция zone "0.168.192.in-addr.arpa" описывает, что наш DNS-сервер держит реверсную зону 0.168.192.in-addr.arpa, является в ней мастером type master; (то есть другие серверы лишь синхронизируют по нему свои записи по зоне 0.168.192.in-addr.arpa), при изменении записей в зоне не извещает другие серверы notify по; и использует для описания зоны файл 192.168.0.
/etc/named/ivan.petrov
В файле зоны ivan.petrov поместим следующие данные:@ IN SOA ns.ivan.petrov. hostmaster.ivan.petrov. (
199802151; serial, todays date + todays serial #
8H; refresh, seconds
2H; retry, seconds
1W; expire, seconds
ID); minimum, seconds
;
NS ns; интернет-адрес сервера имен
MX 10 mail.ivan.petrov.; Основной почтовый сервер
MX 20 mail2.ivan.petrov.; Дополнительный почтовый сервер
;
localhost A 127.0.0.1
ns A 192.168.0.1
mail A 192.168.0.40Этот файл зоны содержит 4 записи ресурсов (Resource Records, RR):
• SOA RR. SOA – это сокращение для слов Начала Полномочий (Start Of Authority). Запись SOA находится в преамбуле каждого из файлов зон, и она должна быть первой записью в файле. Она описывает зону – откуда она появляется (машина, названная ns.ivan.petrov), кто отвечает за содержимое зоны (hostmaster@ivan.petrov), какая версия файла зоны текущая (serial: 1) и другие вещи, которые надо сделать для кэширующих и вторичных серверов DNS;
• NS RR. NS – это RR для сервера имен (Name Server);
• МХ RR. MX – запись ресурса Почтовый Сервер (Mail eXchanger). Запись MX сообщает почтовой системе, куда посылать почту, адресованную любому адресату в домене ivan.petrov, в нашем случае – серверам mail, ivan.petrov или mail2. ivan.petrov. Число перед каждым именем системы – это приоритет записи MX RR. Запись ресурса с наименьшим номером (10) – это компьютер, куда почта должна посылаться в первую очередь. Если происходит ошибка, то почта может быть послана на машину с большим номером. И так далее. Таким образом, можно указать несколько почтовых серверов, что поможет вам в случае форс-мажорных обстоятельств не потерять ваши почтовые сообщения;
• A RR. A (Address) – адрес (IP-адрес)localhost А 127.0.0.1
ns А 192.168.0.1
mail А 192.168.0.40Эти строки устанавливают соответствие IP-адресам имен mail и ns в зоне ivan.petrov.
/etc/192.168.0
Для нормального функционирования DNS-сервера требуется обратная (реверсная) зона, которая дает возможность DNS преобразовывать IP-адреса в имена хостов. Эти имена используются серверами различного рода (FTP, IRC, WWW и т. п.) Поэтому обратная зона требуется для полного доступа к различным сервисам в Интернете.
Далее представлен файл /etc/192.168.0:@ IN SOA ns.ivan.petrov. hostmaster. ivan.petrov. (
199802151; Serial, todays date + todays serial
8H; Refresh
2H; Retry
1W; Expire
ID); Minimum TTL
NS ns.linux.bogus.
2 PTR gw.ivan.petrov.
1 PTR ns.ivan.petrov.
3 PTR petya.ivan.petrov.
40 PTR mail.ivan.petrov.
5 PTR ftp.ivan.petrov.Вышеприведенный файл в принципе мало чем отличается от файла описания прямой зоны. Появились только следующие строки:
2 PTR gw.ivan.petrov.
1 PTR ns.ivan.petrov.
3 PTR petya.ivan.petrov.
40 PTR mail.ivan.petrov.
5 PTR ftp.ivan.petrov.Эти строки описывают, что машина с адресом 2 в зоне 192.68.0. Имеет имя gw.ivan.petrov, а компьютер с адресом 40 – mail.ivan.petrov.
Вот собственно и все. Перезапускаем сервер и проверяем правильность функционирования нашей системы.
Некоторые тонкости
Как вы видите, глубоко в тонкости функционирования мы не погружались. Во-первых, этого вполне достаточно, а во-вторых, решать проблемы следует по мере их возникновения. Тем не менее, несколько полезных вещей необходимо знать.
Записи ресурсов (RR) службы DNS
Давайте рассмотрим несколько расширенный файл описания зоны:gw А 192.168.0.2
HINFO "i486" "RH 4.2"
ТХТ "The router"ns А 192.168.196.1
MX 10 mail
hinfo «Pentium3» "RH 7.2"
www CNAME ns
donaId A 192.168.196.3
MX 10 mail
HINFO «p3» "Windows2000"
TXT "Developer computer home tel 223344"Помимо знакомых вам строчек появились строки, содержащие HINFO, CNAME и ТХТ. • HINFO – информация о компьютере (Host IN Formation) состоит из двух частей: первая часть – это информация об оборудовании машины, а вторая – описывает программное обеспечение и операционную систему данной машины. Помимо этой информации не рекомендуется вносить ничего другого. Пример: