resolv.conf(5) File Formats Manual resolv.conf(5) NAZWA resolv.conf - plik konfiguracyjny mechanizmu obslugi nazw (ang. resolver) SKLADNIA /etc/resolv.conf OPIS Obsluga nazw (resolver) jest zbiorem funkcji biblioteki C, ktore umozliwiaja dostep do internetowego systemu serwerow nazw (DNS). Plik konfiguracyjny zawiera informacje, odczytywane przez procedury obslugi nazw podczas ich pierwszego wywolania przez proces, i jest czytelny zarowno dla maszyny, jak i dla czlowieka. Zawiera liste slow kluczowych z wartosciami, ktore udostepniaja rozne informacje dotyczace obslugi nazw. Plik konfiguracyjny jest uwazany za zaufane zrodlo informacji DNS; wiecej informacji w opisie opcji trust-ad. Jesli ten plik nie istnieje, to jedynym odpytywanym serwerem nazw jest wtedy ten z maszyny lokalnej, a lista przeszukiwan zawierajaca nazwe lokalnej domeny jest konstruowana z nazwy komputera. Opcje konfiguracji sa nastepujace: nameserver Adres IP serwera nazw. Adres internetowy serwera nazw, ktory powinien byc odpytywany przez funkcje obslugi nazw albo jako adres IPv4 (w notacji kropkowej) lub jako adres IPv6 w notacji dwukropkowej (i byc moze kropkowej) zgodnie z RFC 2373. W pliku mozna podac maksymalnie MAXNS (obecnie 3, patrz ) serwery nazw, po jednym przy slowie kluczowym. Jesli jest kilka serwerow, biblioteka obslugi nazw odpytuje je w kolejnosci, w jakiej zostaly wymienione. Jesli nie ma zadnego wpisu nameserver, domyslnym zachowaniem jest korzystanie z serwera nazw na maszynie lokalnej. (Stosowany algorytm polega na probie odpytania serwera nazw, a jesli przekroczy ona czas oczekiwania, nastepuje proba odpytania nastepnego, az zabraknie serwerow nazw. Nastepnie wystepuje scisle okreslona liczba ponownych odpytan wszystkich serwerow nazw). search Lista przeszukiwania nazw komputerow. By default, the search list contains one entry, the local domain name. It is determined from the local hostname returned by gethostname(2); the local domain name is taken to be everything after the first '.'. Finally, if the hostname does not contain a '.', the root domain is assumed as the local domain name. Mozna to zmienic, przez podanie zadanej sciezki poszukiwania domeny po slowie kluczowym search, uzywajac spacji lub tabulacji do oddzielenia nazw. Funkcje obslugi nazw dla zapytan zawierajacych w sobie mniej niz ndots kropek (domyslnie - 1) beda probowaly kolejnych skladnikow sciezki poszukiwania, az do znalezienia. Dla srodowisk z wieloma poddomenami, prosze przeczytac ponizej options ndots:n, aby uniknac atakow typu man-in-the-middle oraz niepotrzebnego odpytywania glownych serwerow nazw. Nalezy zauwazyc, ze proces ten moze byc powolny i powodowac duze obciazenie sieci, jesli serwery dla podanych domen nie sa lokalne, a czas oczekiwania na odpowiedz po zapytaniu przekracza czas oczekiwania, gdy dla ktorejs z domen wszystkie serwery sa niedostepne. Jesli wystepuje wiele wpisow search, uzyta bedzie wylacznie lista przeszukiwan z ostatniego wpisu. W glibc 2.25 i wczesniejszych, lista przeszukiwania jest ograniczona do szesciu domen z maksymalna liczba 256 znakow. Od glibc 2.26 brak limitow listy przeszukiwania. Opcja domain jest przestarzalym odpowiednikiem listy przeszukiwania search, ktora obsluguje tylko pojedynczy wpis. sortlist Umozliwia sortowanie adresow zwracanych przez gethostbyname(3). Lista sortowania jest podawana przez pary adresow IP i masek sieci. Maska sieci jest opcjonalna i domyslnie ma wartosc naturalnej maski dla danej sieci. Adres IP jest oddzielany od maski sieci ukosnikiem. W polu tym mozna podawac do 10 par. Przyklad: sortlist 130.155.160.0/255.255.240.0 130.155.0.0 options Pole to umozliwia modyfikacje pewnych wewnetrznych zmiennych funkcji obslugi nazw. Jego skladnia to: options opcja ... gdzie opcja jest jedna z nastepujacych: debug Ustawia RES_DEBUG w _res.options (dziala tylko gdy glibc zostal zbudowany z obsluga debugowania; zobacz resolver(3)). ndots:n Ustawia prog liczby kropek, ktore musza pojawic sie w nazwie podanej do res_query (zobacz resolver(3)) przed wykonaniem poczatkowego absolutnego zapytania. Domyslna wartoscia jest "1", co oznacza, ze jesli w nazwie znajduja sie jakies kropki, to powinna byc najpierw sprawdzona jako nazwa absolutna, bez dokonywania zadnych podstawien listy poszukiwania. Maksymalna wartoscia jest 15, wieksze wartosci zostana zmniejszone, bez wypisywania zadnych ostrzezen. timeout:n Ustawia czas, przez ktory funkcja obslugi nazw bedzie czekac na odpowiedz ze zdalnego serwera nazw przed wyslaniem zapytania do innego serwera nazw. Moze to nie byc calkowity czas, jaki jaki zajmie wywolanie interfejsu obslugi nazw i brak gwarancji, ze pojedyncze wywolanie odpowiada jednemu limitowi czasu. Wyrazony w sekundach, domyslnie - RES_TIMEOUT (obecnie 5, patrz ). Maksymalna wartoscia jest 30, wieksze wartosci zostana zmniejszone, bez wypisywania zadnych ostrzezen. attempts:n Ustawia liczbe prob wysylania przez funkcje obslugi nazw zapytan do serwerow nazw przed poddaniem sie i zwroceniem bledu. Domyslnie - RES_DFLRETRY (obecnie 2, patrz ). Maksymalna wartoscia jest 5, wieksze wartosci zostana zmniejszone, bez wypisywania zadnych ostrzezen. rotate Ustawia RES_ROTATE w _res.options, powodujac wybor serwera nazw sposrod wymienionych serwerow za pomoca algorytmu round-robin. Efektem tej opcji jest rozlozenie obciazenia zapytaniami wszystkich wymienionych serwerow nazw, zamiast odpytywania za kazdym razem pierwszego z nich. no-aaaa (since glibc 2.36) Sets RES_NOAAAA in _res.options, which suppresses AAAA queries made by the stub resolver, including AAAA lookups triggered by NSS-based interfaces such as getaddrinfo(3). Only DNS lookups are affected: IPv6 data in hosts(5) is still used, getaddrinfo(3) with AI_PASSIVE will still produce IPv6 addresses, and configured IPv6 name servers are still used. To produce correct Name Error (NXDOMAIN) results, AAAA queries are translated to A queries. This option is intended preliminary for diagnostic purposes, to rule out that AAAA DNS queries have adverse impact. It is incompatible with EDNS0 usage and DNSSEC validation by applications. no-check-names Ustawia RES_NOCHECKNAME w _res.options, co wylacza sprawdzanie przez nowoczesne serwery BIND przychodzacych nazw komputerow i nazw pocztowych pod katem niepoprawnych znakow, takich jak podkreslenie (_), znaki nie-ASCII lub znaki sterujace. inet6 Ustawia RES_USE_INET6 w _res.options. Efektem tego jest probowanie zapytan AAAA przed zapytaniami A wewnatrz funkcji gethostbyname(3) i mapowanie odpowiedzi IPv4 na "tunelowana forme" IPv6, jezeli znaleziono tylko rekordy A, bez rekordow AAAA. Od glibc 2.25 opcja ta jest przestarzala, aplikacje powinny korzystac z getaddrinfo(3), zamiast z gethostbyname(3). ip6-bytestring (since glibc 2.3.4 to glibc 2.24) Ustawia RES_USE_BSTRING w _res.options. Powoduje to, ze odwrotne wyszukiwania IPv6 beda uzywac formatu etykiet bitowych ("bit-label") opisanego w RFC 2673. Jesli ta opcja nie jest ustawiona (tak jest domyslnie), to bedzie uzywany format polbajtowy. Opcja usunieta w glibc 2.25, poniewaz korzystala z niekompatybilnego wstecznie rozszerzenia DNS, ktore nigdy nie zostalo zaimplementowane w Internecie. ip6-dotint/no-ip6-dotint (glibc 2.3.4 to glibc 2.24) Clear/set RES_NOIP6DOTINT in _res.options. When this option is clear (ip6-dotint), reverse IPv6 lookups are made in the (deprecated) ip6.int zone; when this option is set (no-ip6-dotint), reverse IPv6 lookups are made in the ip6.arpa zone by default. These options are available up to glibc 2.24, where no-ip6-dotint is the default. Since ip6-dotint support long ago ceased to be available on the Internet, these options were removed in glibc 2.25. edns0 (od wersji 2.6 biblioteki glibc) Ustawia RES_USE_EDNS0 w _res.options. Wlacza to obsluge rozszerzen DNS opisanych w RFC 2671. single-request (od wersji 2.10 biblioteki glibc) Sets RES_SNGLKUP in _res.options. By default, glibc performs IPv4 and IPv6 lookups in parallel since glibc 2.9. Some appliance DNS servers cannot handle these queries properly and make the requests time out. This option disables the behavior and makes glibc perform the IPv6 and IPv4 requests sequentially (at the cost of some slowdown of the resolving process). single-request-reopen (od wersji 2.9 biblioteki glibc) Ustawia RES_SNGLKUPREOP w _res.options. Mechanizm rozwiazujacy uzywa tych samych gniazd do zadan A i AAAA. Czesc rozwiazan sprzetowych nieprawidlowo odsyla pojedyncza odpowiedz. Gdy tak sie stanie, klient systemowy poczeka na druga odpowiedz. Wlaczenie tej opcji zmienia to zachowanie, dzieki czemu jesli dwa zadania z tego samego portu nie sa poprawnie obslugiwane, to nastapi zamkniecie oraz otworzenie nowego gniazda przed wyslaniem drugiego zadania. no-tld-query (od wersji 2.14 biblioteki glibc) Ustawia RES_NOTLDQUERY w _res.options. Ta opcja powoduje, ze res_nsearch() nie probuje rozwiazywac niejednoznacznej nazwy w sposob, jak gdyby byla ona domena najwyzszego poziomu (ang. top level domain - TLD). Ta opcja moze powodowac problemy, gdy strona jako TLD ma "localhost", zamiast umiescic "localhost" jako jeden z elementow listy wyszukiwania. Opcja nie dziala, jesli nie ustawiono ani RES_DEFNAMES, ani RES_DNSRCH. use-vc (od wersji 2.14 biblioteki glibc) Ustawia RES_USEVC w _res.options. Wymusza uzycie TCP do rozwiazywania nazw DNS. no-reload (od wersji 2.26 biblioteki glibc) Ustawia RES_NORELOAD w _res.options. Opcja wylacza automatyczne przeladowanie zmienionego pliku konfiguracyjnego. trust-ad (od wersji 2.31 biblioteki glibc) Ustawia RES_TRUSTAD w _res.options. Opcja kontroluje zachowanie bitu AD w minimalnym mechanizmie rozwiazujacym nazwy (ang. stub resolver). Jesli walidujaca funkcja obslugi nazw ustawi bit AD w odpowiedzi, oznacza to ze dane zawarte w odpowiedzi zostaly zweryfikowane zgodnie z protokolem DNSSEC. Aby moc polegac na bicie AD, lokalny system musi ufac zarowno walidujacej funkcji, jak i sciezce sieciowej prowadzajacej do niej - co jest powodem koniecznosci jawnego wlaczenia tego ustawienia. Jesli opcja trust-ad jest aktywna, minimalny mechanizm rozwiazujacy nazwy ustawia bit AD w wychodzacych zapytaniach DNS (aby wlaczyc obsluge bitu AD) i zachowuje go w odpowiedziach. Bez tej opcji, bit AD nie jest ustawiany w zapytaniach oraz jest zawsze usuwany z odpowiedzi, przed ich przekazaniem aplikacjom. Oznacza to, ze aplikacje moga zaufac bitowi AD w odpowiedziach, jesli opcja trust-ad zostala prawidlowo ustawiona. In glibc 2.30 and earlier, the AD is not set automatically in queries, and is passed through unchanged to applications in responses. Slowo kluczowe search systemowego resolv.conf mozna nadpisac dla danego procesu nadajac zmiennej srodowiskowej LOCALDOMAIN wartosc bedaca rozdzielona spacjami lista domen poszukiwania. Slowo kluczowe options systemowego resolv.conf mozna poprawic dla danego procesu nadajac zmiennej srodowiskowej RES_OPTIONS wartosc bedaca rozdzielona spacjami lista opcji obslugi nazw (opcje opisano powyzej, pod haslem options). Slowo kluczowe i wartosc musza pojawiac sie w tej samej linii oraz slowo kluczowe (np. nameserver) musi rozpoczynac linie. Wartosc jest elementem nastepujacym po slowie kluczowym i jest od niego oddzielona znakiem spacji lub tabulacji. Linie zaczynajace sie od znaku srednika (";") lub hasha ("#") sa traktowane jako komentarze. PLIKI /etc/resolv.conf, ZOBACZ TAKZE gethostbyname(3), resolver(3), host.conf(5), hosts(5), nsswitch.conf(5), hostname(7), named(8) Name Server Operations Guide for BIND TLUMACZENIE Autorami polskiego tlumaczenia niniejszej strony podrecznika sa: Przemek Borys , Robert Luberda i Michal Kulach Niniejsze tlumaczenie jest wolna dokumentacja. Blizsze informacje o warunkach licencji mozna uzyskac zapoznajac sie z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje sie ZADNEJ ODPOWIEDZIALNOSCI. Bledy w tlumaczeniu strony podrecznika prosimy zglaszac na adres listy dyskusyjnej . 4th Berkeley Distribution 31 pazdziernika 2023 r. resolv.conf(5)