Мы здесь перечислим несколько настоящих файлов зон
Пользователи предложили, чтобы я включил пример настроек действующего
домена как учебное пособие.
Я использую этот пример с разрешения David Bullock из LAND-5. Эти файлы
содержат информацию, которая являлась реальной на 24 Сентября 1996 года, и
были отредактированы мною для соответствия правилам синтаксиса bind-8 и
использовали некоторые мои расширения. Так что, то что вы увидите здесь
будет отличаться от того, что вы увидите сделав запрос на настоящий сервер
имен LAND-5.
Здесь мы обнаружим два раздела основных зон для двух необходимых
обратных зон: для сети 127.0.0
, а также для домена LAND-5 с
номером 206.6.177
. А записи для основной зоны домена
land-5.com. Также заметим, что вместо размещения файлов в директории
названной pz
, как я делал здесь до этого, администратор поместил эти
файлы в директорию названную zone
.
// Загрузочный файл для сервера имен LAND-5
options {
directory "/var/named";
};
zone "." {
type hint;
file "root.hints";
};
zone "0.0.127.in-addr.arpa" {
type master;
file "zone/127.0.0";
};
zone "land-5.com" {
type master;
file "zone/land-5.com";
};
zone "177.6.206.in-addr.arpa" {
type master;
file "zone/206.6.177";
};
Если вы поместите эти данные в ваш файл named.conf для того, чтобы
поэкспериментировать с ними, то ПОЖАЛУЙСТА поместите строку notify
no;
в раздел зон, принадлежащих land-5, для того чтобы избежать
инцидентов.
Запомните, что это файл не является постоянным, и данные одного из
перечисленных здесь серверов являются устаревшими. Вам лучше использовать
вместо приведенного файла, файл сделанный перед этим помощью программы dig,
как это объяснялось ранее.
; <<>> DiG 8.1 <<>> @A.ROOT-SERVERS.NET.
; (1 server found)
;; res options: init recurs defnam dnsrch
;; got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 10
;; flags: qr aa rd; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 13
;; QUERY SECTION:
;; ., type = NS, class = IN
;; ANSWER SECTION:
. 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. 5w6d16h IN A 192.112.36.4
J.ROOT-SERVERS.NET. 5w6d16h IN A 198.41.0.10
K.ROOT-SERVERS.NET. 5w6d16h IN A 193.0.14.129
L.ROOT-SERVERS.NET. 5w6d16h IN A 198.32.64.12
M.ROOT-SERVERS.NET. 5w6d16h IN A 202.12.27.33
A.ROOT-SERVERS.NET. 5w6d16h IN A 198.41.0.4
H.ROOT-SERVERS.NET. 5w6d16h IN A 128.63.2.53
B.ROOT-SERVERS.NET. 5w6d16h IN A 128.9.0.107
C.ROOT-SERVERS.NET. 5w6d16h IN A 192.33.4.12
D.ROOT-SERVERS.NET. 5w6d16h IN A 128.8.10.90
E.ROOT-SERVERS.NET. 5w6d16h IN A 192.203.230.10
I.ROOT-SERVERS.NET. 5w6d16h IN A 192.36.148.17
F.ROOT-SERVERS.NET. 5w6d16h IN A 192.5.5.241
;; Total query time: 215 msec
;; FROM: roke.uio.no to SERVER: A.ROOT-SERVERS.NET. 198.41.0.4
;; WHEN: Sun Feb 15 01:22:51 1998
;; MSG SIZE sent: 17 rcvd: 436
Как основа файла обязательными записями являются запись SOA, и запись,
которая объявляет 127.0.0.1 как localhost
. Требуется указать обе эти
записи. Больше ничего не должно быть в этом файле. Его скорее всего никогда
не надо будет обновлять, до тех пор пока не изменится адрес сервера имен
или ответственного за машину (hostmaster).
@ IN SOA land-5.com. root.land-5.com. (
199609203 ; Serial
28800 ; Refresh
7200 ; Retry
604800 ; Expire
86400) ; Minimum TTL
NS land-5.com.
1 PTR localhost.
Здесь мы увидим обязательную запись SOA, и необходимые записи NS. Мы
можем видеть, что имеется дополнительный сервер имен расположенный по
адресу ns2.psi.net
. Всегда необходимо иметь дополнительный
сервер имен за пределами домена в качестве резерва. Мы также можем видеть,
что этот домен имеет основной сервер, названный land-5, который заботится о
множестве разных сервисов Internet, это сделано используя записи CNAME (как
альтернатива использованию записей A).
Как вы видите из записи SOA, файл зоны расположен в домене
land-5.com
, ответственным лицом является
root@land-5.com
. hostmaster
-- это другой часто используемый
адрес для ответственного за эту работу человека. Серийный номер записан в
привычном формате yyyymmdd и дополнен серийным номером для текущего дня;
это примерно 6-я версия файла зоны на 20 сентября
1996. Помните, что серийный номер должен увеличиваться монотонно,
здесь только одна цифра для серийного номера текущего дня, так что
после 9 поправок мы должны ждать завтрашнего дня, для того чтобы дальше
продолжить редактировать файл. Рассмотрите возможность использования двух
цифр для номера вместо одной.
@ IN SOA land-5.com. root.land-5.com. (
199609206 ; serial, todays date + todays serial #
8H ; refresh, seconds
2H ; retry, seconds
1W ; expire, seconds
1D ) ; minimum, seconds
NS land-5.com.
NS ns2.psi.net.
MX 10 land-5.com. ; Основной почтовый сервер
localhost A 127.0.0.1
router A 206.6.177.1
land-5.com. A 206.6.177.2
ns A 206.6.177.3
www A 207.159.141.192
ftp CNAME land-5.com.
mail CNAME land-5.com.
news CNAME land-5.com.
funn A 206.6.177.2
@ TXT "LAND-5 Corporation"
;
; Рабочие станции
;
ws-177200 A 206.6.177.200
MX 10 land-5.com. ; Основная почтовая машина
ws-177201 A 206.6.177.201
MX 10 land-5.com. ; Основная почтовая машина
ws-177202 A 206.6.177.202
MX 10 land-5.com. ; Основная почтовая машина
ws-177203 A 206.6.177.203
MX 10 land-5.com. ; Основная почтовая машина
ws-177204 A 206.6.177.204
MX 10 land-5.com. ; Основная почтовая машина
ws-177205 A 206.6.177.205
MX 10 land-5.com. ; Основная почтовая машина
; {много повторяющихся определений удалено}
ws-177250 A 206.6.177.250
MX 10 land-5.com. ; Основная почтовая машина
ws-177251 A 206.6.177.251
MX 10 land-5.com. ; Основная почтовая машина
ws-177252 A 206.6.177.252
MX 10 land-5.com. ; Основная почтовая машина
ws-177253 A 206.6.177.253
MX 10 land-5.com. ; Основная почтовая машина
ws-177254 A 206.6.177.254
MX 10 land-5.com. ; Основная почтовая машина
Если вы поработаете с сервером имен домена land-5, то вы обнаружите, что
имена машин имеют форму ws_
номер. С последних версий bind 4 named
начал ограничивать то, какие символы могут быть использованы в именах
машин. Так, что эти имена нельзя было использовать с bind-8, и я подставил
символ '-' (тире) вместо символа '_' (подчеркивание), для того, чтобы этот
пример можно было привести в документе.
Другая вещь, которую необходимо заметить, это то, что все рабочие
станции не имеют индивидуальных имен, а вместо этого состоят из префикса за
которым следует 2 последних числа из IP-адреса. Используя такое соглашение
вы можете значительно упростить работу по сопровождению, но это может быть
достаточно безлично и в действительности может быть источником недовольства
со стороны ваших клиентов.
Мы также видим, что имя funn.land-5
.com это алиас для
land-5.com, но используется запись A, а не запись CNAME. Это хорошая
тактика, как было упомянуто выше.
Я прокомментирую это файл после этого листинга.
@ IN SOA land-5.com. root.land-5.com. (
199609206 ; Serial
28800 ; Refresh
7200 ; Retry
604800 ; Expire
86400) ; Minimum TTL
NS land-5.com.
NS ns2.psi.net.
;
; Servers
;
1 PTR router.land-5.com.
2 PTR land-5.com.
2 PTR funn.land-5.com.
;
; Рабочие станции
;
200 PTR ws-177200.land-5.com.
201 PTR ws-177201.land-5.com.
202 PTR ws-177202.land-5.com.
203 PTR ws-177203.land-5.com.
204 PTR ws-177204.land-5.com.
205 PTR ws-177205.land-5.com.
; {много повторяющихся определений удалено}
250 PTR ws-177250.land-5.com.
251 PTR ws-177251.land-5.com.
252 PTR ws-177252.land-5.com.
253 PTR ws-177253.land-5.com.
254 PTR ws-177254.land-5.com.
Обратная зона является той частью настройки, которая кажется способной
вызвать большое горе (печаль, grief). Она используется для того, чтобы
найти имя машины по ее IP-адресу. Пример: у вас есть IRC-сервер и он
принимает соединения от IRC-клиентов. Однако он находится в Норвегии и
хочет принимать соединения только от клиентов из Норвегии и других
скандинавских стран. Когда вы соединяетесь с клиентом, то с помощью
библиотеки языка С вы можете узнать адрес соединяющейся с сервером машины,
поскольку этот адрес содержится во всех пакетах, передаваемых по
сети. Теперь сервер может вызвать функцию названную gethostbyaddr, которая
ищет имя машины по заданному IP-номеру. Gethostbyaddr запросит сервер DNS,
который выполнит поиск заданной машины в DNS. Допустим клиент соединяется с
машины ws-177200.land-5.com. IP-номер, который библиотека C передает
IRC-серверу, равен 206.6.177.200. Для того, чтобы найти имя машины нам
необходимо найти домен 200.177.6.206.in-addr.arpa
. DNS-сервер
сначала найдет сервера домена arpa.
, затем найдет сервера
in-addr.arpa.
, следуя дальше через сервера группы 206, затем 6 и в
конце концов найдет сервер для зоны 177.6.206.in-addr.arpa
в
домене land-5. От которого он в конце концов может получит ответ, что для
200.177.6.206.in-addr.arpa
у нас есть запись ``PTR
ws-177200.land-5.com
'', означающая что имя машины с адресом
206.6.177.200
равно ws-177200.land-5.com
. Как и
объяснение того, как мы искали prep.ai.mit.edu
, этот пример
вымышлен.
Вернемся к нашему примеру с IRC-сервером. IRC-сервер принимает
соединения только из скандинавских стран, например, *.no
,
*.se
, *.dk
, имя ws-177200.land-5.com
явно не
соответствует этому правилу и сервер запретит соединение. Если бы не
было обратного мапирования адреса 206.2.177.200
с помощью зоны
in-addr.arpa
, то сервер не смог бы вообще найти имя машины и
должен был бы сравнивать адрес 206.2.177.200
с заданными
масками -- *.no
, *.se
и *.dk
, которым этот
адрес явно не соответствует.
Некоторые люди скажут, что обратное преобразование адресов важно только
для серверов, и не важно для остальной работы. Это не так: многие ftp,
news, IRC и даже некоторые http (WWW) сервера не принимают соединения
от машин для которых они не могут найти имена. Так что в действительности
обратное преобразование для машин является обязательным.
Вперед
Назад
Содержание