W tej sekcji wymienię kilka spośród najczęściej zadawanych pytań związanych z DNS'em i tym HOWTO, oraz odpowiedzi na nie. :-) Przeczytaj tą sekcję przed wysłaniem do mnie listu.
Czytasz złe HOWTO. Przeczytaj starą wersję tego dokumentu, która opisuje bind 4, na http://www.math.uio.no/~janl/DNS/.
Kilka podpowiedzi: ,,forwarders'', ,,slave'' oraz spojrzenie na listę literatury na końcu tego HOWTO.
Utwórz kilka rekordów A dla www.zajęty.serwer i użyj bind'a 4.9.3 lub późniejszego. Wtedy bind będzie pokolei przełączał adresy. Nie będzie to działać z wcześniejszymi wersjami bind'a.
Nie zakładaj pliku root.hints, tylko pliki stref. To znaczy także, że nie będziesz musiał uaktualniać tego pliku.
Jeżeli podstawowy (primary) serwer ma adres 127.0.0.1 wstaw następującą linię w named.conf drugorzędnego serwera:
zone "linux.bogus" {
type slave;
file "sz/linux.bogus";
masters { 127.0.0.1; };
};
Możesz wymienić kilka alternatywnych serwerów głównych, z których
strefa może być kopiowana w liście masters, oddzielone przez ,,;''.
Otrzymałem taki list od Ian'a Clark'a <ic@deakin.edu.au>, gdzie wyjaśnia on jego sposób dokonania tego:
Uruchamiam named na mojej ,,maskującej się'' maszynie. Mam dwa pliki
root.hints, jeden nazywa się root.hints.real i zawiera prawdziwe nazwy serwerów
nazw głównych, oraz drugi, root.hints.fake, który zawiera...
----
; root.hints.fake
; ten plik nie zawiera żadnych informacji
----
Kiedy rozłączam się, kopiuję root.hints.fake do root.hints i uruchamiam
named ponownie.
Kiedy łączę się, kopiuję root.hints.real do root.hints i restartuję named.
To jest wykonywane odpowiednio przez ip-down i ip-up.
Pierwszy raz, kiedy przeprowadzam zapytanie off-line o nazwę domeny, named
nie ma szczegółów, a więc wstawia taki komunikat w pliku messgaes:
Jan 28 20:10:11 hazchem named[10147]: No root nameserver for class IN
z czym można żyć.
U mnie to działa. Mogę używać serwera nazw dla maszyn lokalnych bez opóźnienia,
jak w przypadku zewnętrznych nazw domen, a kiedy jestem w sieci, zapytania
o zewnętrzne domeny funkcjonują normalnie.
Pamięć podręczna jest zapamiętywana całkowicie w pamięci, nie jest zapisywana na dysk. Za każdym razem kiedy zabijesz named cache będzie stracony. Cache nie daje się w żaden sposób kontrolować. Named zarządza nim zgodnie z pewnymi prostymi zasadami i nie da się tego ominąć. Nie możesz kontrolować cache'u ani jego rozmiaru w żaden sposób i z żadnego powodu. Jeżeli chcesz, możesz ,,naprawić'' to zmieniając kod named. Jednakże nie jest to zalecane.
Nie, named nie zapisuje pamięci podręcznej kiedy umiera. Znaczy to, że cache musi być zbudowany od nowa za każdym razem, kiedy zabijasz i uruchamiasz named ponownie. Nie ma sposobu, żeby zmusić go do zapisywania cache'u w pliku. Jeżeli chcesz, możesz to ,,naprawić'' zmieniając kod named. Nie jest to jednak zalecane.