Plik strefy
Rozszerzenie nazwy pliku |
.strefa
|
---|---|
Rodzaj mediów internetowych |
tekst/dns
|
Opracowany przez | ISI |
Pierwsze wydanie | 1987 |
Typ formatu | Format pliku |
Normy | RFC 1034 , 1035 , 2308 , 4027 |
Otwarty format ? | Tak |
Plik strefy systemu nazw domen (DNS) to plik tekstowy opisujący strefę DNS . Strefa DNS to podzbiór, często pojedyncza domena, hierarchicznej struktury nazw domen DNS. Plik strefy zawiera odwzorowania między nazwami domen i adresami IP oraz innymi zasobami, zorganizowane w formie tekstowych reprezentacji rekordów zasobów (RR). Plik strefy może być albo głównym plikiem DNS, autorytatywnie opisującym strefę, albo może służyć do wyświetlania zawartości pamięci podręcznej DNS.
Format pliku
Format pliku strefy jest zdefiniowany w dokumentach RFC 1035 (sekcja 5) i RFC 1034 (sekcja 3.6.1). Ten format był pierwotnie używany przez Berkeley Internet Name Domain (BIND), ale został szeroko przyjęty przez inne oprogramowanie serwera DNS – chociaż niektóre z nich (np. NSD , PowerDNS ) używają plików stref tylko jako punkt wyjścia do kompilacji je do formatu bazy danych, zobacz także Microsoft DNS z integracją bazy danych Active Directory .
Plik strefy to sekwencja wpisów zorientowanych wierszowo, z których każdy jest albo dyrektywą, albo opisem tekstowym definiującym pojedynczy rekord zasobu ( RR ). Wpis składa się z pól oddzielonych dowolną kombinacją białych znaków (tabulatorów i spacji) i kończy się na granicy wiersza, z wyjątkiem wartości pola w postaci cudzysłowu lub pary otaczających nawiasów formatujących. Dowolny wiersz może kończyć się tekstem komentarza poprzedzonym średnikiem, a plik może również zawierać dowolną liczbę pustych wierszy.
Wpisy mogą występować w dowolnej kolejności w pliku strefy, z pewnymi wyjątkami.
Dyrektywy to wpisy kontrolne, które wpływają na resztę pliku strefy. Pierwsze pole dyrektywy składa się ze znaku dolara, po którym następuje słowo kluczowe:
- Po $ORIGIN następuje nazwa domeny, która będzie używana jako źródło dla kolejnych względnych nazw domen.
- Po $INCLUDE następuje nazwa pliku i opcjonalna nazwa domeny pochodzenia, które mają być używane podczas interpretacji jego zawartości (które są traktowane tak, jakby pojawiły się w pliku nadrzędnym, po czym następuje reset do wartości pochodzenia przed oceną dyrektywy).
- Po $TTL, zdefiniowanym w RFC 2308 (sekcja 4), następuje liczba, która ma być używana jako domyślny TTL (czas życia) .
- Po $GENERATE, niestandardowym rozszerzeniu akceptowanym przez BIND i niektóre inne programy serwera nazw do wstawiania wielu rekordów zasobów z jednym wpisem, następuje zwięzła reprezentacja rosnącej sekwencji liczb nieujemnych, a następnie szablonowy wpis RR. Rekord zasobu jest dodawany dla każdej liczby w sekwencji przy użyciu szablonu, w którym znaki „$” bez zmiany znaczenia są zastępowane liczbą.
Wpis rekordu zasobu składa się z kilku pól w następujący sposób (obie kolejności pól są dopuszczalne i mogą być używane zamiennie):
nazwa | ttl | rekordowa klasa | typ rekordu | nagrywać informacje |
nazwa | rekordowa klasa | ttl | typ rekordu | nagrywać informacje |
Pole nazwy może pozostać puste. Jeśli tak, rekord dziedziczy pole z poprzedniego rekordu. Wolnostojący @ służy do oznaczenia bieżącego pochodzenia.
Pole ttl określa liczbę sekund, po których klient buforujący musi odrzucić rekord i wykonać nową operację rozstrzygania, aby uzyskać świeże informacje. Niektóre serwery nazw, w tym BIND, zezwalają na niestandardowe reprezentacje, które używają skrótów jednostek czasu (na przykład „2d” oznacza dwa dni 24-godzinne lub „1h30m” oznacza godzinę i 30 minut). Można go pominąć, w takim przypadku wynikowa wartość zostanie ustawiona z domyślnego TTL (jeśli jest zdefiniowany) lub z poprzedniego rekordu.
Pole klasy rekordu wskazuje przestrzeń nazw informacji o rekordzie. Można go pominąć, w takim przypadku wynikowa wartość zostanie ustawiona z poprzedniego rekordu. Najczęściej używaną przestrzenią nazw jest przestrzeń Internetu, wskazywana przez parametr IN , ale istnieją i są używane inne, np. CHAOS .
Pole typu rekordu to skrót oznaczający typ informacji przechowywanych w ostatnim polu, dane rekordu . Na przykład: rekord adresu (typ A dla IPv4 lub typ AAAA dla IPv6) odwzorowuje nazwę domeny z pierwszego pola na adres IP w danych rekordu; rekord wymiany poczty (typ MX ) określa hosta poczty SMTP ( Simple Mail Transfer Protocol ) dla domeny.
danych rekordu może składać się z jednego lub więcej elementów informacyjnych, w zależności od wymagań każdego typu rekordu. Na przykład rekord adresu wymaga tylko adresu, podczas gdy rekord wymiany poczty wymaga priorytetu i nazwy domeny. Takie elementy informacji są reprezentowane jako pola oddzielone białymi znakami.
Przykładowy plik
Przykład pliku strefy dla domeny example.com jest następujący:
$ORIGIN przykład.com. ; wyznacza początek tego pliku strefy w przestrzeni nazw $TTL 3600 ; domyślny czas wygaśnięcia (w sekundach) wszystkich RR bez własnej wartości TTL example.com. W SOA ns.example.com. nazwa użytkownika.example.com. ( 2020091025 7200 3600 1209600 3600 ) przyklad.com. IN NS ns ; ns.example.com jest serwerem nazw dla example.com example.com. IN NS ns.gdzieś.przykład. ; ns.somewhere.example to zapasowy serwer nazw dla example.com example.com. IN MX 10 poczta.example.com. ; mail.example.com jest serwerem pocztowym dla example.com @ IN MX 20 mail2.example.com. ; odpowiednik powyższej linii, „@” reprezentuje strefę origin @ IN MX 50 mail3 ; odpowiednik powyższej linii, ale używając względnej nazwy hosta example.com. W 192.0.2.1; Adres IPv4 na przykład.com IN AAAA 2001:db8:10::1 ; Adres IPv6 na przykład.com ns IN A 192.0.2.2 ; Adres IPv4 dla ns.example.com IN AAAA 2001:db8:10::2 ; Adres IPv6 dla ns.example.com www IN CNAME example.com. ; www.example.com jest aliasem example.com wwwtest IN CNAME www ; wwwtest.example.com to kolejny alias adresu www.example.com mail IN A 192.0.2.3; Adres IPv4 dla mail.example.com mail2 IN A 192.0.2.4 ; Adres IPv4 dla mail2.example.com mail3 IN A 192.0.2.5 ; Adres IPv4 dla mail3.example.com
Plik strefy musi zawierać co najmniej rekord Start of Authority (SOA) z nazwą autorytatywnego głównego serwera nazw dla strefy oraz adresem e-mail osoby odpowiedzialnej za zarządzanie serwerem nazw (reprezentowanym jako nazwa domeny, z kropka zamiast zwykłego symbolu @). Parametry rekordu SOA określają również listę parametrów czasowych i wygaśnięcia (numer seryjny, okres odświeżania urządzenia podrzędnego, czas ponownej próby urządzenia podrzędnego, czas wygaśnięcia urządzenia podrzędnego oraz maksymalny czas przechowywania rekordu w pamięci podręcznej). Niektóre serwery nazw, w tym BIND, również wymagają co najmniej jednego dodatkowego rekordu NS.
W pliku strefy nazwy domen kończące się kropką (takie jak „ example.com. ” w powyższym przykładzie) są w pełni kwalifikowane , natomiast nazwy domen, które nie kończą się kropką, odnoszą się do bieżącego pochodzenia (czyli dlaczego www w powyższym przykładzie odnosi się do www.example.com ).
Do pliku strefy odwołuje się plik konfiguracyjny oprogramowania serwera nazw. Na przykład BIND zwykle używa instrukcji takiej jak:
strefa „example.com” { wpisz master; plik "/var/nazwany/db.example.com"; };
Strefa główna i domeny najwyższego poziomu
Pliki stref dla strefy głównej DNS i zestawu domen najwyższego poziomu zawierają rekordy zasobów tylko dla autorytatywnych serwerów nazw domen dla każdej nazwy domeny.
Lokalny Gospodarz
Niektóre oprogramowanie serwera automatycznie konfiguruje rekordy zasobów dla specjalnie rozpoznawanych domen lub nazw hostów, takich jak localhost , ale można użyć dostosowanego pliku głównego strefy.
Przykład ręcznej konfiguracji strefy przekazywania dla hosta lokalnego jest następujący:
Lokalny host $ORIGIN. @ 86400 IN SOA @ root ( 1999010100 ; numer seryjny 10800 ; odświeżanie (3 godziny) 900 ; ponów próbę (15 minut) 604800 ; wygasa (1 tydzień) 86400 ; minimum (1 dzień) ) @ 86400 IN NS @ @ 86400 IN A 127.0. 0,1 @ 86400 W AAAA :: 1
Odpowiednia definicja strefy odwróconej to:
;; plik strefy odwrotnej dla 127.0.0.1 i ::1 $TTL 1814400 ; 3 tygodnie @ 1814400 W SOA localhost. root.localhost. ( 1999010100 ; numer seryjny 10800 ; odświeżenie (3 godziny) 900 ; ponów próbę (15 minut) 604800 ; wygasa (1 tydzień) 86400 ; minimum (1 dzień) ) @ 1814400 IN NS localhost. 1 1814400 W lokalnym hoście PTR.
Ten plik nie określa pochodzenia, więc może być używany zarówno dla IPv4, jak i IPv6 z tą konfiguracją:
strefa „0.0.127.in-addr.arpa” IN { wpisz master; plik „r.lokalny”; }; strefa „0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa” IN { wpisz master; plik „r.lokalny”; };
Podobne pliki główne strefy mogą być tworzone dla odwrotnej rozdzielczości adresu rozgłoszeniowego i adresu zerowego. Takie pliki stref uniemożliwiają serwerowi DNS odwoływanie się do innych, prawdopodobnie zewnętrznych serwerów DNS.