NAZWA¶
resolv.conf - plik konfiguracyjny obsługi nazw (resolver)
SKŁADNIA¶
/etc/resolv.conf
OPIS¶
Obsługa nazw (
resolver) jest zbiorem funkcji biblioteki C,
które umożliwiają dostęp do internetowego systemu
serwerów nazw (DNS). Plik konfiguracyjny zawiera informacje,
odczytywane przez procedury obsługi nazw podczas ich pierwszego
wywołania przez proces, i jest czytelny zarówno dla maszyny, jak
i dla człowieka. Zawiera listę słów kluczowych z
wartościami, które udostępniają
różne informacje dotyczące obsługi nazw. Plik
konfiguracyjny jest uważany za zaufane źródło
informacji DNS (np. informacje DNSSEC AD-bit z tego
źródła będą zwracane w postaci
niezmodyfikowanej).
Jeśli ten plik nie istnieje to jedynym odpytywanym serwerem nazw jest
wtedy ten z maszyny lokalnej. Nazwa domeny jest określana z nazwy
komputera lokalnego, a ścieżka poszukiwania domen jest
konstruowana z nazwy domeny.
Opcje konfiguracji są następujące:
- nameserver Adres IP serwera nazw.
- Adres internetowy serwera nazw, który powinien być
odpytywany przez funkcje obsługi nazw albo jako adres IPv4 (w
notacji kropkowej) lub jako adres IPv6 w notacji dwukropkowej (i
być może kropkowej) zgodnie z RFC 2373. W pliku można
podać maksymalnie MAXNS (obecnie 3, patrz
<resolv.h>) serwery nazw, po jednym przy słowie
kluczowym. Jeśli jest kilka serwerów, biblioteka
obsługi nazw odpytuje je w kolejności, w jakiej
zostały wymienione. Jeśli nie ma żadnego wpisu
nameserver, domyślnym zachowaniem jest korzystanie z serwera
nazw na maszynie lokalnej. (Stosowany algorytm polega na próbie
odpytania serwera nazw, a jeśli przekroczy ona czas oczekiwania,
następuje próba odpytania następnego, aż
zabraknie serwerów nazw. Następnie występuje
ściśle określona liczba ponownych odpytań
wszystkich serwerów nazw).
- domain Nazwa lokalnej domeny.
- Większość zapytań o nazwy wewnątrz tej
domeny może odbywać się z zastosowaniem
krótkich nazw, podanych względem lokalnej domeny.
Jeśli ustawione na ".", pod uwagę brana jest
domena główna. Jeśli pozycja domain nie jest
obecna, jest ona określana na podstawie nazwy lokalnego komputera,
zwróconej przez gethostname(2) - za domenę
uważa się wszystko po pierwszej ".". Ostatecznie,
jeśli nazwa komputera nie zawiera części domenowej,
przyjmowana jest domena główna.
- search Lista przeszukiwania nazw komputerów.
- Lista ta jest zwykle określana na podstawie lokalnej nazwy domeny;
domyślnie też zawiera tylko tę nazwę.
Można to zmienić, przez podanie żądanej
ścieżki poszukiwania domeny po słowie kluczowym
search, używając spacji lub tabulacji do oddzielenia
nazw. Funkcje obsługi nazw dla zapytań zawierających
w sobie mniej niż ndots kropek (domyślnie - 1)
będą próbowały kolejnych
składników ścieżki poszukiwania, aż do
znalezienia. Dla środowisk z wieloma poddomenami, proszę
przeczytać poniżej options ndots:n, aby
uniknąć ataków typu man-in-the-middle oraz
niepotrzebnego odpytywania głównych serwerów nazw.
Należy zauważyć, że proces ten może
być powolny i powodować duże obciążenie
sieci, jeśli serwery dla podanych domen nie są lokalne, a
czas oczekiwania na odpowiedź po zapytaniu przekracza czas
oczekiwania, gdy dla którejś z domen wszystkie serwery
są niedostępne.
- Lista poszukiwania jest obecnie ograniczona do sześciu domen z
maksymalną liczbą 256 znaków.
- sortlist
- Umożliwia sortowanie adresów zwracanych przez
gethostbyname(3). Lista sortowania jest podawana przez pary
adresów IP i masek sieci. Maska sieci jest opcjonalna i
domyślnie ma wartość naturalnej maski dla danej
sieci. Adres IP jest oddzielany od maski sieci ukośnikiem. W polu
tym można podawać do 10 par. Przykład:
sortlist 130.155.160.0/255.255.240.0 130.155.0.0
- options
- Pole to umożliwia modyfikację pewnych wewnętrznych
zmiennych funkcji obsługi nazw. Jego składnia to:
- options opcja ...
gdzie
opcja jest jedną z następujących:
- debug
- ustawia RES_DEBUG w _res.options (działa tylko gdy
glibc został zbudowany z obsługą debugowania; zobacz
resolver(3)).
- ndots:n
- ustawia próg liczby kropek, które muszą
pojawić się w nazwie podanej do res_query (zobacz
resolver(3)) przed wykonaniem początkowego
absolutnego zapytania. Domyślną
wartością jest "1", co oznacza, że
jeśli w nazwie znajdują się jakieś kropki, to
powinna być najpierw sprawdzona jako nazwa absolutna, bez
dokonywania żadnych podstawień listy poszukiwania.
Maksymalną wartością jest 15, większe
wartości zostaną zmniejszone, bez wypisywania żadnych
ostrzeżeń.
- timeout:n
- ustawia czas, przez który funkcja obsługi nazw będzie
czekać na odpowiedź ze zdalnego serwera nazw przed
wysłaniem zapytania do innego serwera nazw. Wyrażony w
sekundach, domyślnie - RES_TIMEOUT (obecnie 5, patrz
<resolv.h>). Maksymalną wartością jest 30,
większe wartości zostaną zmniejszone, bez wypisywania
żadnych ostrzeżeń.
- attempts:n
- ustawia liczbę prób wysyłania przez funkcję
obsługi nazw zapytań do serwerów nazw przed poddaniem
się i zwróceniem błędu. Domyślnie -
RES_DFLRETRY (obecnie 2, patrz <resolv.h>). Maksymalną
wartością jest 5, większe wartości
zostaną zmniejszone, bez wypisywania żadnych
ostrzeżeń.
- rotate
- ustawia RES_ROTATE w _res.options, powodując
wybór serwera nazw spośród wymienionych
serwerów za pomocą algorytmu round-robin. Efektem tej opcji
jest rozłożenie obciążenia zapytaniami
wszystkich wymienionych serwerów nazw, zamiast odpytywania za
każdym razem pierwszego z nich.
- no-check-names
- ustawia RES_NOCHECKNAME w _res.options, co
wyłącza sprawdzanie przez nowoczesne serwery BIND
przychodzących nazw komputerów i nazw pocztowych
niepoprawnych znaków takich jak podkreślenie (_), znaki
nie-ASCII lub znaki sterujące.
- inet6
- ustawia RES_USE_INET6 w _res.options. Efektem tego jest
próbowanie zapytań AAAA przed zapytaniami A wewnątrz
funkcji gethostbyname(3) i mapowanie odpowiedzi IPv4 na
"tunelowaną formę" IPv6, jeżeli znaleziono
tylko rekordy A, bez rekordów AAAA.
Niektóre programy zachowują się dziwacznie,
jeśli ta opcja jest włączona.
- ip6-bytestring (od wersji 2.3.4 biblioteki glibc)
- ustawia RES_USE_BSTRING w _res.options. Powoduje to,
że odwrotne wyszukiwania IPv6 będą
używać formatu etykiet bitowych ("bit-label")
opisanego w RFC 2673. Jeśli ta opcja nie jest ustawiona, to
będzie używany formatu półbajtowego.
- ip6-dotint/no-ip6-dotint (od wersji 2.3.4 biblioteki
glibc)
- Czyści lub ustawia RES_NOIP6DOTINT w _res.options.
Jeśli opcja ta jest wyczyszczona ( ip6-dotint), wyszukiwania
odwrotne IPv6 są przeprowadzane w (niezalecanej) strefie
ip6.int. Gdy opcja ta jest włączona (
no-ip6-dotint), odwrotne wyszukiwania IPv6 są przeprowadzane
w strefie ip6.arpa. Opcja ta jest domyślnie
włączona.
- edns0 (od wersji 2.6 biblioteki glibc)
- ustawia RES_USE_EDNSO w _res.options. Włącza
to obsługę rozszerzeń DNS opisanych w
RFC 2671.
- single-request (od wersji 2.10 biblioteki glibc)
- ustawia RES_SNGLKUP w _res.options. Domyślnie
biblioteka glibc od wersji 2.9 równolegle odpytuje IPv4 i IPv6.
Niektóre urządzenia serwerów DNS nie
obsługują poprawnie takich zapytań i powodują
błąd przekroczenia czasu oczekiwania na odpowiedź.
Opcja ta wyłącza takie zachowanie i sprawia, że glibc
odpytuje o IPv6 i IPv4 sekwencyjnie (kosztem pewnego spowolnienia procesu
translacji nazw).
- single-request-reopen (od wersji 2.9 biblioteki glibc)
- Mechanizm rozwiązujący używa tych samych gniazd do
żądań A i AAAA. Część
rozwiązań sprzętowych nieprawidłowo
odsyła pojedynczą odpowiedź. Gdy tak się
stanie, klient systemowy poczeka na drugą odpowiedź.
Włączenie tej opcji zmienia to zachowanie, dzięki
czemu jeśli dwa żądania z tego samego portu nie
są poprawnie obsługiwane, to nastąpi
zamknięcie oraz otworzenie nowego gniazda przed wysłaniem
drugiego żądania.
Słowa kluczowe
domain i
search wzajemnie się
wykluczają. Jeśli istnieje więcej niż jedna ich
instancja, używana jest ostatnia z nich.
Słowo kluczowe
search systemowego
resolv.conf można
nadpisać dla danego procesu nadając zmiennej
środowiskowej
LOCALDOMAIN wartość
będącą rozdzieloną spacjami listą domen
poszukiwania.
Słowo kluczowe
options systemowego
resolv.conf można
poprawić dla danego procesu nadając zmiennej
środowiskowej
RES_OPTIONS wartość
będącą rozdzieloną spacjami listą opcji
obsługi nazw (opcje opisano powyżej, pod hasłem
options).
Słowo kluczowe i wartość muszą pojawiać
się w tej samej linii oraz słowo kluczowe (np.
nameserver) musi rozpoczynać linię. Wartość
jest elementem następującym po słowie kluczowym i jest od
niego oddzielona znakiem spacji lub tabulacji.
Linie zaczynające się od znaku średnika (";") lub
hasha ("#") są traktowane jako komentarze.
PLIKI¶
/etc/resolv.conf, <resolv.h>
ZOBACZ TAKŻE¶
gethostbyname(3),
resolver(3),
hostname(7),
named(8)
Name Server Operations Guide for BIND
O STRONIE¶
Angielska wersja tej strony pochodzi z wydania 3.71 projektu Linux
man-pages. Opis projektu, informacje dotyczące zgłaszania
błędów, oraz najnowszą wersję
oryginału można znaleźć pod adresem
http://www.kernel.org/doc/man-pages/.
TŁUMACZENIE¶
Autorami polskiego tłumaczenia niniejszej strony podręcznika man
są: Przemek Borys (PTM) <pborys@dione.ids.pl>, Robert Luberda
<robert@debian.org> i Michał Kułach
<michal.kulach@gmail.com>.
Polskie tłumaczenie jest częścią projektu
manpages-pl; uwagi, pomoc, zgłaszanie błędów na
stronie
http://sourceforge.net/projects/manpages-pl/. Jest zgodne z
wersją
3.71 oryginału.