table of contents
RESOLV.CONF(5) | Podręcznik programisty Linuksa | RESOLV.CONF(5) |
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.
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 (w notacji kropkowej) serwera nazw, który powinien być odpytywany przez funkcje obsługi nazw. 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 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.
- 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).
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.40 projektu Linux man-pages. Opis projektu oraz informacje dotyczące zgłaszania błędów 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> i Robert Luberda <robert@debian.org>.
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.40 oryginału.
2012-04-23 | 4th Berkeley Distribution |