което сигурно ще ви
заинтересува .
7. Един истински пример
Ето списък с няколко истински файлове на зони
Посъветваха ме да включа и истински пример на работещ домейн,
наред с обучаващите примери.
Използвам този пример с позволението на David Bullock от LAND-5.
Тези файлове са от 24 Септември 1996, редактирани са
за BIND 8 и са разширени от мен . Така, това което ще видите
тук е различно от това което ще получите при заявка от сървъра
на LAND-5 сега.
7.1. /etc/named.conf (or /var/named/named.conf)
Тук ще намерим главни зони за две обратни зони необходими за
мрежата 127.0.0 и подмрежата 206.6.177 на LAND-5, и главния
ред за правата зона на land-5.com. Също отбележете, че вместо да
слага файловете в директория pz, както аз в това HOWTO, той
използва директория наречена zone.
______________________________________________________________________
// Boot file for LAND-5 name server
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 file за проба МОЛЯ сложете
``notify no;'' за двете зони на land-5 за да не предизвикате
някой инцидент.
7.2. /var/named/root.hints
Запомнете, че този файл е динамичен, и че този показан тук е стар.
По-добре използвайте създаден сега с 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
______________________________________________________________________
7.3. /var/named/zone/127.0.0
Просто нормалния, задължителен SOA запис, и запис за преобразуване на
127.0.0.1 в localhost. И двете са необходими. Нищо повече за този
файл. Този файл няма нужда да се променя , освен ако вашия
сървър за имената или e-mail-а на администратора се промени.
______________________________________________________________________
@ 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.
______________________________________________________________________
Ако разгледате различни инсталации на BIND , ще видите че
реда $TTL липсва . Той не се използваше преди , чак след
версия 8.2 на BIND започна да предупреждава за липсата му.
Препоръчвам ви да слагате $TTL във файловете за зони ако липсва.
7.4. /var/named/zone/land-5.com
Тук намираме задължителния запис SOA , и необходимите NS записи.
Забелязваме също, че имат второстепенен сървър ns2.psi.net. Така и би
трябвало да бъде, винаги е добре да имате такъв сървър като копие. Също
така виждаме, че главния хост наречен land-5 се грижи за
много различни Internet услуги, и е постигнато с
CNAME (алтернатива е използването на A записи).
Както се вижда от SOA записа, файла за зоната слага началото на
land-5.com, отговорния човек е root@land-5.com. hostmaster е
друг често използван адрес. Серийният номер е в обичайния
формат yyyymmdd заедно със серийния номер за деня;
вероятно това е шеста версия на файла за зоната на
20 Септември 1996. Запомнете, че номера трябва да се увеличава
монотонно, тук има една цифра за номера за деня, така че
след 9 преработвания трябва да се изчака до другия ден преди да се
редактира файла отново. Решение е използването на две цифри.
______________________________________________________________________
@ IN SOA land-5.com. root.land-5.com. (
199609206 ; serial, todays date + todays serial #
8H ; refresh, seconds
2H ; retry, seconds
4W ; expire, seconds
1D ) ; minimum, seconds
NS land-5.com.
NS ns2.psi.net.
MX 10 land-5.com. ; Primary Mail Exchanger
TXT "LAND-5 Corporation"
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
;
; Workstations
;
ws-177200 A 206.6.177.200
MX 10 land-5.com. ; Primary Mail Host
ws-177201 A 206.6.177.201
MX 10 land-5.com. ; Primary Mail Host
ws-177202 A 206.6.177.202
MX 10 land-5.com. ; Primary Mail Host
ws-177203 A 206.6.177.203
MX 10 land-5.com. ; Primary Mail Host
ws-177204 A 206.6.177.204
MX 10 land-5.com. ; Primary Mail Host
ws-177205 A 206.6.177.205
MX 10 land-5.com. ; Primary Mail Host
; {Отрязвам много от повтарящите се дефиниции}
ws-177250 A 206.6.177.250
MX 10 land-5.com. ; Primary Mail Host
ws-177251 A 206.6.177.251
MX 10 land-5.com. ; Primary Mail Host
ws-177252 A 206.6.177.252
MX 10 land-5.com. ; Primary Mail Host
ws-177253 A 206.6.177.253
MX 10 land-5.com. ; Primary Mail Host
ws-177254 A 206.6.177.254
MX 10 land-5.com. ; Primary Mail Host
______________________________________________________________________
Ако проверите сървъра на land-5 , че откриете че имената са в
формат ws_число. От късните версии на BIND 4 named започна да
налага ограничения на символите които могат да се използват за
имена. Тъй като те няма да работят при BIND-8 , заместих с
'-' (тире) вместо '_' (долна черта) за това HOWTO.
Отбележете че работните станции нямат индивидуални
имена, а представка последвана с последните две числа от IP
номера. Използвайки тази идея може значително да облекчите
поддръжката, но също така и подразните вашите клиенти.
Също така забелязваме че funn.land-5.com псевдоним на land-5.com, но
използвайки A запис, а не CNAME. Това е добро действие както
отбелязахме по-рано.
7.5. /var/named/zone/206.6.177
Ще коментирам този файл по-долу
______________________________________________________________________
@ 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.
;
; Workstations
;
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.
______________________________________________________________________
Обратната зона е частта от настройката, която може да причини повечето
проблеми. Използва се да се намери името ако имаме IP номера на
машината. Пример: имате IRC сървър и приемате връзки от
IRC клиенти. Обаче вие сте Норвежки IRC сървър и искате да
приемате връзки само от клиенти в Норвегия и другите
Скандинавски страни. Когато получите връзка от клиент,
C библиотеката може да ви каже IP номера на машината,
защото IP номера на клиента се съдържа във всички пакети
преминали през мрежата. Сега може да извикате функция наречена
gethostbyaddr която търси името по даден IP номер.
Gethostbyaddr пита 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 сървъра. Той приема връзки
само от Скандинавските страни т.е. *.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) сървъри не приемат връзки
от машини на които не могат да намерят името. Така че обратното
преобразуване всъщност е много важно.
8. Техн. експлоатация
Поддържайте го ! (Keeping it working.)
Има едно нещо за което трябва да грижите при named, освен да го
поддържате активен. Това е подновяването на файла root.hints.
Най-лесния начин е с dig. Първо стартирайте dig без аргументи и ще
видите root.hints на вашия сървър. След това попитайте един от
коренните сървъри с dig @rootserver. Забележете че ще получите
изход много подобен на файла root.hints. Запазете го като файл (dig
@e.root-servers.net . ns >root.hints.new) и заменете стария
root.hints с него.
Не забравяйте да презаредите named .
Al Longyear ми изпрати скрипт, който автоматично обновява
root.hints. Добавете в crontab да се стартира веднъж месечно и
забравете този проблем. Скриптът приема, че имате работещ
mail и псевдонима `hostmaster' е нагласен. Променете го по
вашите нужди и настройки.
______________________________________________________________________
#!/bin/sh
#
# Update the nameserver cache information file once per month.
# This is run automatically by a cron entry.
#
# Original by Al Longyear
# Updated for BIND 8 by Nicolai Langfeldt
# Miscelanious error-conditions reported by David A. Ranch
# Ping test suggested by Martin Foster
# named up-test suggested by Erik Bryer.
#
(
echo "To: hostmaster
Сподели с приятели: