|
| ||||||||||||
| ||||||||||||
4. Простой домен.Как установить свой собственный домен 4.1 Но сначала некоторое количество сухой теорииДо того как мы в действительности начнем этот раздел, я хочу
дать вам некоторые теоретические сведения о том как работает DNS и пример
ее работы. И вы должны читать дальше, потому что это полезно для вас. Если
вы не `хотите' делать это, то вы по крайней мере должны быстро просмотреть
его. Остановитесь, когда вы увидите указания о том, что вы должны делать с
вашим файлом DNS -- это иерархическая, организованная в виде дерева
система. Вершина записывается как ` При поиске машины, запрос обрабатывается рекурсивно, начиная с
корня. Если вы хотите найти адрес машины
Запросите корневой сервер:
Установите тип запроса (Query type) в NS (записи о серверах имен):
Запросите его о edu:
Заключительная точка . очень важна, она сообщает nslookup,
что мы запрашиваем о edu находящемся прямо под корневым сервером .
(это ускоряет поиск).
Это дает нам информацию о том, что все
Сервера steawb, w20ns и bitsy все обслуживают mit,
выберите один из них и запросите у него информацию о ai.mit.edu:
Имена машин не зависят от регистра, но я просто использую мышь для
вырезания и вставки текста, так что я получаю их такими же, как
они написаны на экране.
Так что
Теперь я изменил тип запроса, поскольку мы нашли сервер имен и можем
опрашивать его том, что мы хотим знать о
Так начиная от корня В аналогии с деревом каждый знак `` Мы поднимаемся по дереву взяв нужное имя ( Менее обсуждаемым, но все равно важным является домен
Я вам солгал. DNS не работает точно так, как я это описал. Но достаточно близко к описанному процессу. 4.2 Наш собственный доменТеперь определим наш собственный домен. Мы будем делать домен
Одно важное замечание до того как мы начнем: Не все символы разрешено
использовать в именах машин. Мы ограничимся символами английского алфавита:
a-z, цифрами: 0-9 и символом '-' (тире). Придерживайтесь использования этих
символов. Прописные и строчные символы не различаются DNS, так что
Мы уже начали эту часть строкой в
zone "0.0.127.in-addr.arpa" {
type master;
file "pz/127.0.0";
};
Заметьте отсутствие `
@ IN SOA ns.linux.bogus. hostmaster.linux.bogus. (
1 ; Serial
8H ; Refresh
2H ; Retry
1W ; Expire
1D) ; Minimum TTL
NS ns.linux.bogus.
1 PTR localhost.
Заметьте наличие символа ` Этот `файл зоны' содержит 3 `записи ресурсов (resource records)'
(
NS это RR для сервера имен (Name Server). В начале строки символ '@' не указывается, это подразумевается, поскольку предыдущая строка начиналась с символа '@'. Это сэкономит нам несколько нажатий на клавиши. Так что строка NS в действительности читается как
Эта строка сообщает DNS, что машина является сервером имен домена
И в в окончание - запись PTR гласит, что машина с адресом 1 в подсети
Запись SOA находится в преамбуле каждого из файлов зон. Она описывает
зону -- откуда она появляется (машина, названная Затем перезапустите ваш named (команда
мы видим, что named работает и можно получить данные о localhost из
домена 127.0.0.1, это очень хорошо. Теперь приступим к нашей основной
задаче, домену linux.bogus, вставим новый раздел '(zone)' в файл
named.conf:
zone "linux.bogus" {
notify no;
type master;
file "pz/linux.bogus";
};
Заметим, что мы продолжаем опускать завершающий символ ` В файле зоны
;
; Файл зоны для linux.bogus
;
; Полный файл зоны
;
@ IN SOA ns.linux.bogus. hostmaster.linux.bogus. (
199802151 ; serial, todays date + todays serial #
8H ; refresh, seconds
2H ; retry, seconds
1W ; expire, seconds
1D ) ; minimum, seconds
;
NS ns ; Internet адрес сервера имен
MX 10 mail.linux.bogus ; Основной почтовый сервер
MX 20 mail.friend.bogus. ; Дополнительный почтовый сервер
;
localhost A 127.0.0.1
ns A 192.168.196.2
mail A 192.168.196.4
Необходимо упомянуть две вещи о записи SOA. В этом файле приведен еще один новый тип записи о ресурсах (RR) --
MX, или запись ресурса Почтовый Сервер (Mail eXchanger). Она сообщает
почтовой системе куда посылать почту адресованную Перезапустите named с помощью команды
При внимательном тестировании вы обнаружите ошибку. Строка
является полностью неправильной. Она должна выглядеть следующим образом
Я сознательно сделал ошибку, чтобы вы смогли получить некоторый опыт --:-) Глядя в файл зоны мы обнаружим, что в строке
отсутствует точка. Или лишний раз написано 'linux.bogus'. Если имя машины
не заканчивается на символ точки в файле зоны, то к концу этого имени
добавляется текущее расположение (origin), вызывая в итоге дублирование
текста linux.bogus.linux.bogus. Так запись
MX 10 mail.linux.bogus. ; Основной почтовый сервер
или
MX 10 mail ; Основной почтовый сервер
является правильной. Я предпочитаю последнюю форму, поскольку надо меньше набирать на клавиатуре. Существуют пользователи bind, которые не согласны с этим подходом, но есть и те, которые согласны с этим. В файле зоны имя домена должно быть написано и закачиваться на символ ` .' или домен не
должен быть указан, в этом случае по умолчанию доменом будет текущее
расположение (origin) машины.
Я должен подчеркнуть, что в файле named.conf не должно быть символа
` Так что опираясь на мою точку зрения мы напишем новый файл зоны, с некоторой дополнительной информацией.
;
; Файл зоны для linux.bogus
;
; Полный файл зоны
;
@ IN SOA ns.linux.bogus. hostmaster.linux.bogus. (
199802151 ; serial, todays date + todays serial #
8H ; refresh, seconds
2H ; retry, seconds
1W ; expire, seconds
1D ) ; minimum, seconds
;
TXT "Linux.Bogus, your DNS consultants"
NS ns ; Internet адрес сервера имен
NS ns.friend.bogus.
MX 10 mail.linux.bogus ; Основной почтовый сервер
MX 20 mail.friend.bogus. ; Дополнительный почтовый сервер
localhost A 127.0.0.1
gw A 192.168.196.1
HINFO "Cisco" "IOS"
TXT "The router"
ns A 192.168.196.2
MX 10 mail
MX 20 mail.friend.bogus.
HINFO "Pentium" "Linux 2.0"
www CNAME ns
donald A 192.168.196.3
MX 10 mail
MX 20 mail.friend.bogus.
HINFO "i486" "Linux 2.0"
TXT "DEK"
mail A 192.168.196.4
MX 10 mail
MX 20 mail.friend.bogus.
HINFO "386sx" "Linux 1.2"
ftp A 192.168.196.5
MX 10 mail
MX 20 mail.friend.bogus.
HINFO "P6" "Linux 2.1.86"
Здесь присутствует несколько новых записей о ресурсах (RR): запись HINFO (Информация о машине, Host INFOrmation) имеет две части, хорошей привычкой является заключение каждой из этих частей в кавычки. Первая часть -- это информация об оборудовании машины, а вторая часть описывает программное обеспечение и операционную систему данной машины. Машина, названная 'ns', имеет процессор Pentium и работает под управлением Linux 2.0. CNAME (Каноническое имя, Canonical NAME) -- это способ присвоить каждой машине несколько имен. Так, что www является алиасом для ns. Использование записи CNAME является немного неоднозначным. Но безопасным способом будет следовать правилу, что записи MX, CNAME или SOA никогда не должны ссылаться на имя, указанное как запись CNAME, они должны ссылаться на имя определенное записью A, так что будет неправильно записать foobar CNAME www ; NO! но вместо этого необходимо записать foobar CNAME ns ; Yes! Также лучше считать, что запись CNAME не является настоящим именем
машины для использования в адресе электронной почты: адрес
www A 192.168.196.2 Некоторые из разработчиков архитектуры bind (arch-bind-wizards), рекомендуют не использовать запись CNAME. Так, что ее использование надо рассматривать серьезно. Но как вы видите, этот документ также как и множество других серверов не следуют этому правилу. Загрузите новую базу данных выполнив команду
Это означает, что должны быть перечислены все записи в данном домене. В результате получится следующее:
Это хорошо. Как вы видите, это выглядит почти как сам файл зоны. Теперь
проверим какой будет ответ только для машины с именем
Другими словами, настоящим именем для Теперь мы находимся на середине пути. 4.3 Обратная (reverse) зонаТеперь программы могут преобразовывать имена машин в домене linux.bogus в адреса, по которым они могут связаться с этими машинами. Но также, кроме этого, требуется обратная зона, которая дает возможность DNS преобразовывать адреса в имена машин. Эти имена используются достаточным количеством серверов различного рода (FTP, IRC, WWW и другими) для того, чтобы решить, хотят ли они с вами общаться или нет, и даже иногда имя машины используется для того, чтобы решить какой приоритет вам дать. Обратная зона требуется для полного доступа к различным сервисам в Internet. Поместите следующие строки в файл
zone "196.168.192.in-addr.arpa" {
notify no;
type master;
file "pz/192.168.196";
};
Эти строки похожи на описание зоны
@ IN SOA ns.linux.bogus. hostmaster.linux.bogus. (
199802151 ; Serial, todays date + todays serial
8H ; Refresh
2H ; Retry
1W ; Expire
1D) ; Minimum TTL
NS ns.linux.bogus.
1 PTR gw.linux.bogus.
2 PTR ns.linux.bogus.
3 PTR donald.linux.bogus.
4 PTR mail.linux.bogus.
5 PTR ftp.linux.bogus.
Теперь перезапустите ваш named ( > 192.168.196.4 Server: localhost Address: 127.0.0.1 Name: mail.linux.bogus Address: 192.168.196.4 так, это выглядит нормально, теперь выдайте полный список машин в домене, для того чтобы проверить правильность информации:
> ls -d 196.168.192.in-addr.arpa
[localhost]
$ORIGIN 196.168.192.in-addr.arpa.
@ 1D IN SOA ns.linux.bogus. hostmaster.linux.bogus. (
199802151 ; serial
8H ; refresh
2H ; retry
1W ; expiry
1D ) ; minimum
1D IN NS ns.linux.bogus.
1 1D IN PTR gw.linux.bogus.
2 1D IN PTR ns.linux.bogus.
3 1D IN PTR donald.linux.bogus.
4 1D IN PTR mail.linux.bogus.
5 1D IN PTR ftp.linux.bogus.
@ 1D IN SOA ns.linux.bogus. hostmaster.linux.bogus. (
199802151 ; serial
8H ; refresh
2H ; retry
1W ; expiry
1D ) ; minimum
Выглядит хорошо! Если вывод вашей команды выглядит не так, то посмотрите сообщения об ошибках в вашем syslog, я объяснял как это сделать в самом начале главы. 4.4 ПредупреждениеСуществует несколько вещей, которые я должен добавить здесь. Сетевые
адреса, используемые здесь взяты из одного из блоков 'личных (private)
сетей', их не разрешается публично использовать в internet. Так, что их
можно спокойно использовать как пример в этом документе. Вторая вещь это
строка И конечно, этот домен является фиктивным, также как и все адреса в нем. Для настоящего примера действующего домена смотрите следующий раздел. 4.5 Почему не работает поиск в обратной зонеСуществует набор ``gotchas'', которые обычно избегаются в процессе поиска имен, что часто появляются при установке обратных зон. До того как вы продолжите продвигаться вперед вам необходимо обеспечить работу обратного поиска ваших машин на вашем сервере имен. Если эта часть не работает, то вернитесь назад и исправьте это до того, как продолжите читать. Я буду обсуждать два сбоя обратного поиска так, как они видятся извне вашей сети: Обратная зона не делегируетсяКогда вы просите вашего сетевого провайдера о предоставлении диапазона сетевых адресов и имени домена, то имя домена обычно делегируется. Делегирование является клеем, который связывает записи NS, которые помогают вам переходить от одного сервера имен к другому, как это описывалось в теоретическом разделе. Вы прочитали его, не так ли? Если ваша обратная зона не работает, то вернитесь назад и прочитайте нужный раздел. Прямо сейчас. Обратную зону также надо делегировать. Если вы получили от вашего
провайдера сеть Вы получили бесклассовую сеть.Это может показаться сложной темой, но бесклассовые подсети в настоящее время являются часто используемыми и у вас вероятно есть такая сеть, если вы не являетесь компанией средних размеров. Бесклассовая сеть -- это то, что сохраняет работу Internet в наши дни. Несколько лет назад было много разговоров о том., что ip-номера слишком коротки. Умные люди в IETF (Internet Engineering Task Force, они сохраняют Internet в рабочем состоянии) объединились вместе и решили данную проблему. За цену. Цена заключается в том, что вы получаете подсеть меньше подсети класса ``C'' и некоторые вещи могут не работать. Пожалуйста посмотрите страницу Ask Mr. DNS at http://www.acmebw.com/askmrdns/00007.htm для подробного объяснения об этом и как с этим работать. Вы прочитали эту информацию? Я ничего не буду объяснять здесь, так что пожалуйста прочитайте. Первая часть проблемы заключается в том, что ваш провайдер должен понимать технологию, описанную Mr. DNS. Не все маленькие провайдеры имеют работающее решение данной проблемы. Если это так, то вы должны объяснить это провайдеру и быть настойчивы. Но сначала убедитесь, что вы сами это понимаете ;-). Они смогут установить правильную обратную зону на своем сервере, который вы должны проверить на работоспособность используя команду nslookup. Вторая и последняя часть этой проблемы заключается в том, что вы должны понять применяемую технологию. Если вы не уверены в этом, то вернитесь назад и заново прочитайте все материалы. Затем вы сможете настроить обратную зону своей собственной бесклассовой сети, как это описано Mr. DNS. Существует другая возможность для скрытой ошибки. Старые программы
разрешения имен не смогут следовать приему с Некоторые провайдеры будут предлагать другие способы решения этой проблемы, подобные основанным на Web формам ввода ваших записей обратной зоны или другие автоматические системы. Вперед Назад Содержание |
|
CITForum © 1997–2025