Author: qwiat Date: Fri Sep 21 02:11:20 2007 New Revision: 8734 Modified: PLD-doc/book/pl_book__uslugi/pl_uslugi__named.sec Log: - skrocenie zbyt rozwleklych opisow - uporzadkowanie opisow - poprawienie kilku potworkow jezykowych - przeniesienie "rejestrcji" prawie na koniec
Modified: PLD-doc/book/pl_book__uslugi/pl_uslugi__named.sec ============================================================================== --- PLD-doc/book/pl_book__uslugi/pl_uslugi__named.sec (original) +++ PLD-doc/book/pl_book__uslugi/pl_uslugi__named.sec Fri Sep 21 02:11:20 2007 @@ -9,53 +9,74 @@ (sieci) i inne. Są to domeny powstałe na podstawie odpowiednich postanowień, opisane w specjalnych dokumentach. Każda z wymienionych (lub też nie wymienionych) tutaj TLD's posiada swoje subdomeny, np. - pld-linux.org. Z kolei każda powstała w wyniku rejestracji danej nazwy - domena może mieć swoje poddomeny, np. www.pld-linux.org. W ten sposób można - tworzyć bardzo zagęszczone hierarchie w obrębie danej domeny.</para> + <emphasis>pld-linux.org</emphasis>. Z kolei każda powstała w wyniku + rejestracji danej nazwy domena może mieć swoje poddomeny, np. + <emphasis>www</emphasis>.pld-linux.org. W ten sposób można + tworzyć bardzo zagęszczone hierarchie w obrębie danej domeny. + Niniejszy rozdział dotyczy implementacji <productname>Bind</productname> + określanego czasem jako <productname>named</productname> - jednego z + najpopularniejszych serwerów DNS. + </para> + <para> + Każda domena (zwana również strefą) musi mieć co najmniej dwa + serwery DNS, jest to wymóg registrarów, + czyli instytucji oferujących możliwość rejestracji domen. Jeden + z serwerów określa się jako + <emphasis>podstawowy</emphasis> (również master lub primary) a drugi jako + <emphasis>zapasowy</emphasis> (slave lub secondary). + </para> + + + </section> <section id="uslugi_named_wstep"> <title>Wstęp</title> - <para>Tytułem wstępu można jeszcze powiedzieć, iż każda domena powinna mieć - co najmniej dwa serwery DNS. Takie są ogólnie przyjęte zasady zazwyczaj - przestrzegane przez registrarów, czyli instytucje mające możliwość - rejestracji domen.</para> - <para>Konfigurację rozpoczniemy od głównego serwera, czyli primary. Nasz drugi - serwer będziemy odtąd nazywać slave. Głównym plikiem konfiguracyjnym - jest <filename>/etc/named.conf</filename>. Warto tutaj wspomnieć, że - bind w PLD jest umieszczony w chroocie w - <filename class="directory">/var/lib/named</filename>. Proszę zobaczyć na listing:</para> - <screen>$ ls -l /etc/named.conf -lrwxrwxrwx 1 root named 30 2003-06-23 /etc/named.conf -> \ -/var/lib/named//etc/named.conf</screen> - <para>Oto struktura <filename class="directory">/var/lib/named</filename>:</para> - <screen>dev -etc -M -S + <para> + Bind w PLD dziala w środowisku chroot, w katalogu + <filename class="directory">/var/lib/named</filename>, musimy o + tym pamiętać, przy niektórych operacjach diagnostycznych. + Głównym plikiem konfiguracyjnym + jest <filename>/etc/named.conf</filename>, który jest symlinkiem + do <filename>/var/lib/named/etc/named.conf</filename>. + Struktura katalogu <filename class="directory">/var/lib/named</filename> + wygląda następująco: +<screen>dev/ +etc/ +M/ +S/ named.pid root.hint</screen> -<para>Ogólnie postaram się przybliżyć przeznaczenie tych katalogów, oraz plików które tutaj są - przedstawione. Podobnie jak w normalnym środowisku, jest obecny tutaj katalog - <filename class="directory">/dev</filename>. Bindowi wystarczą do działania dwa urządzenia: - <filename class="devicefile">/dev/null</filename> oraz <filename class="devicefile">/dev/urandom</filename>. Pierwsze z nich jest - wykorzystywane przez Binda do kierowania właśnie do niego wszystkich komunikatów procesu - named. Drugie z kolei jest mu potrzebne do generowania losowych wartości które - wykorzystuje do enkrypcji. katalog <filename class="directory">/etc</filename> jak zapewne się domyślasz, - przechowuje pliki konfiguracyjne. U nas znajduje się w nim jedynie - <filename>named.conf</filename>. Kolejne katalogi: <filename class="directory">M</filename> oraz - <filename class="directory">S</filename> zostały przeznaczone do przechowywania plików stref, zarówno typu - master (M) jak i typu slave (S). Plik <filename>named.pid</filename> przechowuje numer - procesu systemowego na którym uruchomiona jest usługa. Ostatni plik w przykładzie - <filename>root.hint</filename> zawiera wpisy z tzw. root serwerami, czyli głównymi - serwerami DNS. Jest on konieczny do przeszukiwania serwerów DNS w poszukiwaniu żądanych - nazw.</para> + Podobnie jak w normalnym środowisku, jest obecny tutaj katalog + <filename class="directory">/dev</filename>, w którym znajdują się + urządzenia konieczne do działania demona: + <filename class="devicefile">/dev/null</filename> oraz + <filename class="devicefile">/dev/urandom</filename>. + Katalog <filename class="directory">/etc</filename> jak zapewne się + domyślasz, przechowuje pliki konfiguracyjne. U nas znajduje się w nim + jedynie <filename>named.conf</filename>. Kolejne katalogi: + <filename class="directory">M</filename> oraz + <filename class="directory">S</filename> zostały przeznaczone do + przechowywania plików stref, odpowiednio <literal>master</literal> i + <literal>slave</literal>. Plik <filename>named.pid</filename> przechowuje + numer procesu systemowego. Ostatni plik + na liście - <filename>root.hint</filename> zawiera wpisy z adresami + tzw. root serwerów, czyli głównych serwerów DNS. Jest on konieczny do + przeszukiwania serwerów DNS w poszukiwaniu żądanych nazw, których + nie utrzymuje nasz serwer. + </para> + <para> + Dodawanie stref DNS polega na definiowaniu obsługiwanych domen w pliku + <filename>/etc/named.conf</filename>, oraz tworzenia plików konfiguracji + stref. + </para> </section> <section id="uslugi_named_konf"> - <title><filename>/etc/named.conf</filename></title> - <para>Jest to główny plik konfiguracyjny serwera Bind. Znajdują się w nim informacje - na temat plików stref czy nazw domen, które nasz DNS obsługuje. Poniżej - zamieszczam domyślne wpisy, które znajdują się w tym pliku</para> - <screen>options { + <title>Podstawowa konfiguracja</title> + <para>Głównym plikiem konfiguracyjnym serwera Bind jest + <filename>/etc/named.conf</filename>. Znajdują się w nim podstawowe + opcje usługi oraz informacje na temat obsługiwanych stref. Poniżej + zamieszczono domyślne wpisy, które znajdują się w tym pliku</para> +<screen>options { directory "/"; pid-file "named.pid"; auth-nxdomain yes; @@ -77,7 +98,8 @@ type hint; file "root.hint"; };</screen> -<para>Na samym początku pliku konfiguracyjnego znajduje się sekcja <option>options</option>. +<para> + Na samym początku pliku konfiguracyjnego znajduje się sekcja <option>options</option>. Najbardziej istotną opcją jest tutaj <option>directory</option>. Wskazuje ona na główny katalog przechowywania plików stref. Być może zdziwi Cię nieco parametr powyższej opcji. Jak już wcześniej wspominałem <literal>Bind</literal> w PLD posiada własne @@ -95,45 +117,36 @@ serwerem slave, więc dwie pozostałe opcje mają parametr <option>none</option> oraz <option>any</option>. Ostatnia strefa służy do komunikacji naszego binda z Root serwerami o których była mowa we wstępie. Bez tej strefy nie mógłby on wyszukiwać nazw w internecie. - Mówiąc w przenośni byłby ślepy. Każdorazowe odpytywanie Root Servers może się okazać mało + Mówiąc w przenośni byłby ślepy. +</para> +<para> + Każdorazowe odpytywanie Root Servers może się okazać mało wydajne, ze względu na duże czasy odpowiedzi. Dlatego, jeżeli chcemy przyspieszyć ten proces powinniśmy sekcję <option>option</option> zmodyfikować o wpis taki jak poniżej</para> <screen>options { forwarders { 194.204.159.1; 194.204.152.34; }; }</screen> -<para>Oczywiście nie musimy posługiwać się takimi adresami jak w przykładzie. Możemy sobie wybrać - takie serwery DNS, które będą nam odpowiadały najszybciej. Taka jest właśnie idea tego -wpisu.</para> - </section> - <section id="uslugi_named_domena_rejestracja"> - <title>Rejestracja</title> - <para> - Zanim zarejestrujemy domenę musimy mieć - skonfigurowany podstawowy i zapasowy serwer nazw. Mamy - możliwość zarejestrowania własnej domeny, bądź skorzystać z usług - darmowego oddelegowania nam subdomeny zarejestrowanej już - domeny. Ceny rejestracji - domen spadły w ostatnich latach tak bardzo, że używanie - "obcej" domeny stało się mało profesjonalne i warto - zarejestrować własną. - </para> - <para> - Jeżeli nie posiadasz serwera <emphasis>secondary</emphasis>, - możesz poszukać firmy lub organizacji, która za darmo - utrzymuje zapasowe DNS-y. Możemy też umówić się z - administratorem innej firmy na wzajemne prowadzenie - serwerów secondary. - </para> - </section> - <section id="uslugi_named_domena"> - <title>Konfiguracja przykładowej domeny</title> +<para> + Oczywiście nie musimy posługiwać się takimi adresami jak w przykładzie. Możemy sobie wybrać + takie serwery DNS, które będą nam odpowiadały najszybciej np. serwery naszego ISP. +</para> +<para> + W PLD zaleca się, aby wszystkie pliki stref w zależności od typu + domeny były przechowywane w katalogach + <filename class="directory">/var/lib/named/M</filename> oraz + <filename class="directory">/var/lib/named/S</filename>. Tak + naprawdę o ścieżce do tych katalogów decydują wpisy w <filename>named.conf</filename>. + Struktura plików stref dla obu typów domen jest taka sama. +</para> +</section> - <section id="uslugi_named_domena_konf"> - <title><filename>/etc/named.conf</filename></title> - <para>Zaczniemy od konfiguracji <filename>/etc/named.conf</filename>. - W poprzedniej części tego rozdziału wyjaśniłem budowę tego pliku. - Poniżej zamieściłem przykładowy wpis dla strefy typu - <emphasis>master</emphasis>.</para> +<section id="uslugi_named_domena_pri"> + <title>Przykładowa konfiguracja strefy typu primary</title> + <para>Zaczniemy od konfiguracji <filename>/etc/named.conf</filename>, + budowa tego pliku była wyjaśniona w poprzedniej części tego + rozdziału. Poniżej został zamieszczony przykładowy wpis dla strefy + na serwerze podstawowym: + </para> <screen>zone "example.net" { type master; file "M/example.net"; @@ -141,51 +154,32 @@ notify yes; };</screen> <para>Poszczególne opcje tej sekcji zostały omówione już na początku tego rozdziału. Podsumujmy - więc dostępne informacje skupiając się na powyższym przykładzie.</para> + więc dostępne informacje skupiając się na powyższym przykładzie:</para> <itemizedlist> <listitem> - <para><literal>zone "example.net"</literal></para> - <para>Nazwa strefy. W ten sposób oznaczamy tą część pliku konfiguracyjnego, która - odnosić się będzie do naszej domeny.</para> + <para><option>zone "example.net"</option> - nazwa strefy</para> </listitem> <listitem> - <para><literal>type master</literal></para> - <para>Zaznaczamy, że wpis dla domeny jest typu master. Jeżeli taki wpis jest - obecny u Ciebie, oznacza to, że Twój serwer pełni rolę primary dla jakiejś - domeny.</para> + <para><option>type master</option> - rodzaj serwera</para> </listitem> <listitem> - <para><literal>file "M/example.net"</literal></para> - <para>Opcja ta wskazuje na plik z wpisami strefy dla tej domeny. w PLD będzie - się on znajdował w <filename>/var/lib/named/M/example.net</filename></para> + <para><option>file "M/example.net"</option> - nazwa pliku z konfiguracją strefy</para> </listitem> <listitem> - <para><literal>allow-transfer { 123.45.67.89; }</literal></para> - <para>Ta opcja zezwala na transfer pliku strefy do komputera o wskazanym adresie - IP. należy tutaj wpisać adres naszego zapasowego DNS dla domeny example.net. - Jeżeli posiadasz więcej niż jeden taki DNS, możesz je wpisać pomiędzy - klamry pamiętając o tym, aby rozdzielić poszczególne adresy IP, znakiem + <para><option>allow-transfer { 123.45.67.89; }</option> - adres serwera, + który ma możliwość transferu całej strefy, Jeżeli posiadasz więcej + niż jeden taki DNS, możesz je wpisać pomiędzy klamry pamiętając o tym, + aby rozdzielić poszczególne adresy IP, znakiem '<emphasis>;</emphasis>'.</para> </listitem> <listitem> - <para><literal>notify yes</literal></para> - <para>Opcja ta włącza powiadamianie zapasowego serwera DNS o zmianach w naszej - domenie.</para> + <para><option>notify yes</option> - opcja ta włącza powiadamianie zapasowego + serwera DNS o zmianach w naszej domenie.</para> </listitem> </itemizedlist> - <para>Wpisy w pliku <filename>/etc/named.conf</filename> są już gotowe. Musimy teraz utworzyć plik - strefy dla domeny <literal>example.net</literal> wskazany przez opcję - <option>file</option>.</para> - </section> - <section id="uslugi_named_domena_zone"> - <title>Konfiguracja pliku strefy</title> - <para>W PLD zaleca się, aby wszystkie pliki stref w zależności od typu - domeny były przechowywane w katalogach - <filename class="directory">/var/lib/named/M</filename> oraz - <filename class="directory">/var/lib/named/S</filename>. Tak - naprawdę o typie domeny decyduje <filename>named.conf</filename>. - Struktura pliku strefy dla obu typów domen jest taka sama. Poniżej - zamieszczam listing z przykładowego pliku strefy.</para> + <para> + Musimy teraz utworzyć plik strefy dla domeny <literal>example.net</literal> + wskazany przez opcję <option>file</option>. Poniżej zamieszczam treść przykładowego pliku strefy:</para> <screen>$TTL 86400 $ORIGIN example.net. @ IN SOA ns1.example.net. root.example.net. ( @@ -222,42 +216,34 @@ słowem, example.net i <emphasis>@</emphasis> to to samo.</para> <itemizedlist> <listitem> - <para><option>$TTL 86400</option></para> - <para>Domyślny czas ważności rekordów w domenie. - Wyrażony on jest w sekundach. 86400 s. to - jeden dzień.</para> + <para><option>$TTL 86400</option> - czas ważności rekordów + w domenie wyrażony w sekundach; 86400 s. to jedna doba</para> </listitem> <listitem> - <para><option>$ORIGIN example.net.</option></para> - <para>W tej opcji określamy jaką domenę będzie opisywał + <para><option>$ORIGIN example.net.</option> - domena jaką będzie opisywał bieżący plik strefy.</para> </listitem> <listitem> - <para><option>@ IN SOA ns1.example.net. root.example.net.</option></para> - <para>Rekord typu SOA czyli Start Of Authority. Możemy się + <para><option>@ IN SOA ns1.example.net. root.example.net.</option> - + Rekord typu SOA czyli Start Of Authority. Możemy się z niego dowiedzieć, kto zarządza domeną ([EMAIL PROTECTED]), jaki jest adres serwera primary DNS. Zwróć uwagę, że w adresie [EMAIL PROTECTED] zamiast znaku <emphasis>@</emphasis> użyta została kropka. Rekord SOA posiada swoją własną strukturę o której poniżej. Zawarta jest ona pomiędzy znakami - <emphasis>( )</emphasis>. Należy na to zwrócić - uwagę, aby poprawnie ją zamknąć. Pominięcie nawiasu - zamykającego Bind zinterpretuje pozostałe wpisy jako - rekord SOA.</para> + <emphasis>( )</emphasis>.</para> </listitem> <listitem> - <para><option>2004022300 ;; serial</option></para> - <para>Numer seryjny domeny. Powinien on być zwiększany wraz z każdą + <para><option>2004022300 ;; serial</option> - numer seryjny domeny. Powinien + on być zwiększany wraz z każdą jej modyfikacją. W dobrym tonie jest utrzymywanie go w formacie <emphasis>YYYYMMDDnn</emphasis> czyli rok, miesiąc, - dzień oraz numer modyfikacji w danym dniu. Jeżeli jednego - dnia zaszła więcej jak jedna modyfikacja zwiększamy - odpowiednio numer seryjny.</para> + dzień oraz numer modyfikacji w danym dniu.</para> </listitem> <listitem> - <para><option>1200 ;; refresh</option></para> - <para>To pole rekordu SOA definiuje jak często serwery + <para><option>1200 ;; refresh</option> - + To pole rekordu SOA definiuje jak często serwery <emphasis>slave</emphasis> mają sprawdzać czy dane o domenie nie zmieniły się na <emphasis>masterze</emphasis>. Według <ulink url="http://www.ietf.org/rfc/rfc1035.txt">RFC 1035</ulink> @@ -266,15 +252,15 @@ wartość zawiera się między 3600 a 7200 sekund.</para> </listitem> <listitem> - <para><option>1200 ;; retry</option></para> - <para>Czas po jakim <emphasis>secondary</emphasis> ma ponowić próbę + <para><option>1200 ;; retry</option> - + Czas po jakim <emphasis>secondary</emphasis> ma ponowić próbę kontaktu z <emphasis>masterem</emphasis>, gdy taka się nie powiedzie. Zalecana wartość pomiędzy 120 a 7200 sekund. </para> </listitem> <listitem> - <para><option>2419200 ;; expire</option></para> - <para>Ta wartość określa czas po jakim dane domeny mają zostać uznane + <para><option>2419200 ;; expire</option> - + Ta wartość określa czas po jakim dane domeny mają zostać uznane za nieaktualne gdy serwer <emphasis>secondary</emphasis> nie będzie mógł się skontaktować z <emphasis>primary</emphasis>. Zalecana wartość zawiera się @@ -282,8 +268,8 @@ tygodni.</para> </listitem> <listitem> - <para><option>86400 ;; TTL</option></para> - <para>Time To Live. Określa ile czasu informacja o danym rekordzie + <para><option>86400 ;; TTL</option> - + Time To Live. Określa ile czasu informacja o danym rekordzie ma być ważna. Jest to okres przez jaki informacja o naszej domenie będzie przechowywana przez serwer DNS, który ją pobrał. Zalecana wartość zawiera się między 86400 a 432000 @@ -306,7 +292,7 @@ <emphasis>secondary</emphasis>. Zrobiliśmy to posługując się wpisami typu <option>IN A</option>. Jak zapewne pamiętasz, brak końcowej kropki powoduje doklejenie do wpisanej nazwy tego co znajduje się w zmiennej <option>$ORIGIN</option>. Możemy więc - uznać to co widzisz w powyższym przykładzie za postać skróconą poniżego wpisu.</para> + uznać to co widzisz w powyższym przykładzie za postać skróconą poniższego wpisu.</para> <screen>ns1.example.net. IN A 123.45.67.8 ns2.example.net. IN A 90.12.34.237</screen> <para>Wpisy typu <option>IN A</option> służą do określania, że właśnie ten adres IP ma przypisaną @@ -328,12 +314,13 @@ Powyżej umieszczono przykład rekordu typu <option>IN CNAME</option>, tworzy on dodatkową subdomenę dla hosta przypisanego już do innej nazwy. Specjaliści radzą by tego rodzaju rekordy wskazywały wyłącznie na rekordy typu <option>IN A</option>. - </para> - - + </para> + <para>Po zakończeniu konfiguracji musimy jeszcze uruchomić usługę.</para> + <screen># /etc/rc.d/init.d/named start</screen> </section> + <section id="uslugi_named_domena_sec"> - <title>Secondary DNS</title> + <title>Przykładowa konfiguracja strefy typu secondary</title> <para>Konfiguracja serwera <emphasis>secondary</emphasis> sprowadza się do dokonania poniższego wpisu w pliku <filename>/etc/named.conf</filename>.</para> <screen>zone "example.net" IN { @@ -345,10 +332,8 @@ <option>type</option> tym razem ma wartość <emphasis>slave</emphasis>. Musimy też wskazać serwer <option>primary</option>. Robimy to używając opcji <option>masters</option>, której wartość zawiera adres serwera <emphasis>primary</emphasis> DNS.</para> - <para>Po zakończeniu konfiguracji na obu serwerach musimy jeszcze uruchomić na nich usługę.</para> - <screen># /etc/rc.d/init.d/named start</screen> </section> - </section> + <section id="uslugi_named_ipv6"> <title>Obsługa protokołu IPv6</title> <para>Podobnie jak większość usług w dystrybucji BIND posiada wsparcie dla protokołu @@ -440,10 +425,30 @@ </listitem> </itemizedlist> </section> + <section id="uslugi_named_domena_rejestracja"> + <title>Rejestracja</title> + <para> + Zanim zarejestrujemy domenę musimy mieć + skonfigurowany podstawowy i zapasowy serwer nazw. Mamy + możliwość zarejestrowania własnej domeny, bądź skorzystać z usług + darmowego oddelegowania nam subdomeny zarejestrowanej już + domeny. Ceny rejestracji + domen spadły w ostatnich latach tak bardzo, że używanie + "obcej" domeny stało się mało profesjonalne i warto + zarejestrować własną. + </para> + <para> + Jeżeli nie posiadasz serwera <emphasis>secondary</emphasis>, + możesz poszukać firmy lub organizacji, która za darmo + utrzymuje zapasowe DNS-y. Możemy też umówić się z + administratorem innej firmy na wzajemne prowadzenie + serwerów secondary. + </para> + </section> <section id="uslugi_named_diagnostyka"> <title>Diagnostyka</title> <para> - Jeśli chcemy przetestować poprawość składni pliku strefy, powinniśmy + Jeśli chcemy przetestować poprawność składni pliku strefy, powinniśmy skorzystać z narzędzia <command>named-checkzone</command>. Program sprawdzi poprawność pliku strefy i poda w której linii wystąpił błąd np.: <screen># /usr/sbin/named-checkzone example.net /var/lib/named/M/example.net</screen> @@ -468,14 +473,14 @@ </section> <section id="uslugi_named_koniec"> <title>Zakończenie</title> - <para> - Uwaga! <productname>Named</productname> nie powinien - być <emphasis>resolwerem nazw</emphasis> dla maszyny - na której pracuje, powinien nim być inny serwer - DNS aby nie powstawały zapętlenia zapytań. Wyjątek - stanowią usługi pracujące w osobnych środowiskach - chroot/vserver. Więcej o konfiguracji resolwera nazw - znajdziemy w <xref linkend="siec_podstawy" />. - </para> + <para> + Uwaga! <productname>Named</productname> nie powinien + być <emphasis>resolwerem nazw</emphasis> dla maszyny + na której pracuje, powinien nim być inny serwer + DNS aby nie powstawały zapętlenia zapytań. Wyjątek + stanowią usługi pracujące w osobnych środowiskach + chroot/vserver. Więcej o konfiguracji resolwera nazw + znajdziemy w <xref linkend="siec_podstawy" />. + </para> </section> </section> _______________________________________________ pld-cvs-commit mailing list pld-cvs-commit@lists.pld-linux.org http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit