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. Plik ten jest czytelny zarówno dla maszyny, jak i dla człowieka. Zawiera on listę słów kluczowych z wartościami, które udostępniają różne rodzaje informacji dotyczącej obsługi nazw.

W normalnie skonfigurowanym systemie plik ten nie powinien być konieczny. Jedynym odpytywanym serwerem nazw jest wtedy ten z maszyny lokalnej, nazwa domeny jest określana z nazwy hosta, a ścieżka poszukiwania domen jest konstruowana z nazwy domeny.

Różnymi opcjami konfiguracji są:

nameserver 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) 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 nastę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, zwróconej przez lokalny host dla funkcji gethostname(); za domenę uważa się wszystko po pierwszej `.'. Ostatecznie, jeśli nazwa hosta nie zawiera części domenowej, przyjmowana jest domena główna.

search Lista poszukiwania dla nazw hostó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 sieciowy 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ą ilością 256 znaków.

sortlist
    Pole to umożliwia sortowanie adresów zwracanych przez gethostbyname. 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. Np.
    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ć ona najpierw sprawdzona jako nazwa absolutna, bez dokonywania żadnych podstawień listy poszukiwania.

    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>).

    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>).

    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 wymienionego serwera.

    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() i mapowanie odpowiedzi IPv4 na tunelnowaną formę IPv6, jeżeli znaleziono tylko rekordy A, bez rekordów AAAA.

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 przeciążyć 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, od którego jest on oddzielony białym znakiem.

PLIKI
/etc/resolv.conf, <resolv.h>

ZOBACZ TAKŻE
gethostbyname(3), resolver(3), hostname(7), named(8)
Name Server Operations Guide for BIND