Witaj Gościu, jeżeli to czytasz to znaczy że nie jesteś zarejestrowany/zalogowany. Kliknij by się zarejestrować. Rejestracja zajmie mniej niż 30 sekund , a dzięki temu zniknie Ci ten dymek oraz będziesz miał pełne możliwośći personalizacji forum do własnych potrzeb.
[HOWTO] Uruchomienie Dns'a (bind)
Pokaż wyniki od 1 do 2 z 2

Temat: [HOWTO] Uruchomienie Dns'a (bind)

  1. #1
    Avatar Sir_Yaro
    Sir_Yaro jest nieaktywny Były Administrator
    Mężczyzna
    • Platforma sprzętowa
      • Płyta Główna:
      • ThinkPad T500
      • Procesor:
      • Intel(R) Core(TM)2 Duo CPU P8700 @ 2.53GHz
      • Karta Graficzna:
      • ATI HD3650
      • Karta Dźwiękowa:
      • Conexant 20561
      • Monitor:
      • TFT WSXGA+
      • Kernel:
      • 3.2.0-34
    Dystrybucja: Kubuntu 14.04 LTS
    Polska
    Dołączył
    Jan 2004
    Skąd
    Gdansk
    Wiek
    38
    Postów
    3,675
    Wątków
    214
    Downloads
    27
    Uploads
    31
    Siła Reputacji
    159
    Reputacja
    1854
    Bardzo prosze osoby ktore maja jakies wieksze niz ja pojecie w ponizszym temacie o jakas krytyke, poprawki i uwagi....
    -----------------------------

    Konfiguracja Bind'a

    To howto opisuje jak uruchomic serwer DNS na wlasnym komputerze bez publicznego ip na swoj wlasny uzytek. Przykladowo moze to byc jeden z wielu komputerow w jakiejs ASK.

    Spora czesc opisow sekcji jest zwalona ze strony
    http://www.baseciq.org/linux/dns

    Swoj komputer nazywam w tym przykladzie dns.yaro.pl (czyli moja domena to yaro.pl) jesli zrobisz inaczej musisz odpowiednio modyfikowac wszystkie dane. Nazwe komputera mozesz zmienic poleceniem:

    Kod:
    [root][/]# hostname dns.yaro.pl

    Instalacja:
    Kod:
    [root][/]# apt-get install bind
    Reading Package Lists... Done
    Building Dependency Tree... Done
    The following extra packages will be installed:
     bind-utils
    The following packages will be REMOVED:
     tmdns
    The following NEW packages will be installed:
     bind bind-utils
    0 packages upgraded, 2 newly installed, 1 removed and 118 not upgraded.
    Need to get 7122kB of archives.
    After unpacking 18,7MB of additional disk space will be used.
    Do you want to continue? [Y/n] y
    Get:1 ftp://ftp.ibiblio.org pclinuxos/2004/updates bind-utils 9.3.0-5tex [2327kB]
    Get:2 ftp://ftp.ibiblio.org pclinuxos/2004/updates bind 9.3.0-5tex [4795kB]
    Fetched 7122kB in 5m7s (23,2kB/s)
    Executing RPM (-e)...
    Executing RPM (-Uvh)...
    Przygotowywanie...     ########################################### [100%]
      1:bind-utils       ########################################### [ 50%]
      2:bind          ########################################### [100%]
    You can use the sample named.conf file from the /usr/share/doc/bind-9.3.0 directory
    [root][/]#

    /etc/named.conf

    Jest to główny plik konfiguracyjny Binda 8.x/9.x - w tym pliku ustawiamy katalog w którym są pliki stref, nazwy domen jakie nasz dns utrzymuje. Plik ten wygląda mniej więcej tak:

    Kod:
    options {
        directory "/var/named";
        // query-source address * port 53;
    };
    zone "." {
        type hint;
        file "named.ca";
    };
    zone "0.0.127.in-addr.arpa" {
        type master;
        file "named.local";
    };
    Jak widać najpierw jest sekcja options - standardowo definiuje katalog /var/named/ aby był domyślnym katalogiem ze strefami. Później jest zdefiniowana strefa '.' Plik /var/named/named.ca musi istnieć aby bind poprawnie działał. Czasami ma on nazwę root.cache, albo samo cache. Następny wpis to wpis domeny odwrotnej (rDNS) dla 127.0.0.* - czyli dla localhosta.

    Zawartosc named.ca

    /var/named/named.ca

    Kod:
    ; Use "dig @A.ROOT-SERVERS.NET . ns" to update this file if it's outdated.
    ;    This file holds the information on root name servers needed to
    ;    initialize cache of Internet domain name servers
    ;    (e.g. reference this file in the "cache . <file>"
    ;    configuration file of BIND domain name servers).
    ;
    ;    This file is made available by InterNIC
    ;    under anonymous FTP as
    ;      file        /domain/named.root
    ;      on server      FTP.INTERNIC.NET
    ;    -OR-          RS.INTERNIC.NET
    ;
    ;    last update:  Jan 29, 2004
    ;    related version of root zone:  2004012900
    ;
    ;
    ; formerly NS.INTERNIC.NET
    ;
    .            3600000 IN NS  A.ROOT-SERVERS.NET.
    A.ROOT-SERVERS.NET.   3600000   A   198.41.0.4
    ;
    ; formerly NS1.ISI.EDU
    ;
    .            3600000   NS  B.ROOT-SERVERS.NET.
    B.ROOT-SERVERS.NET.   3600000   A   192.228.79.201
    ;
    ; formerly C.PSI.NET
    ;
    .            3600000   NS  C.ROOT-SERVERS.NET.
    C.ROOT-SERVERS.NET.   3600000   A   192.33.4.12
    ;
    ; formerly TERP.UMD.EDU
    ;
    .            3600000   NS  D.ROOT-SERVERS.NET.
    D.ROOT-SERVERS.NET.   3600000   A   128.8.10.90
    ;
    ; formerly NS.NASA.GOV
    ;
    .            3600000   NS  E.ROOT-SERVERS.NET.
    E.ROOT-SERVERS.NET.   3600000   A   192.203.230.10
    ;
    ; formerly NS.ISC.ORG
    ;
    .            3600000   NS  F.ROOT-SERVERS.NET.
    F.ROOT-SERVERS.NET.   3600000   A   192.5.5.241
    ;
    ; formerly NS.NIC.DDN.MIL
    ;
    .            3600000   NS  G.ROOT-SERVERS.NET.
    G.ROOT-SERVERS.NET.   3600000   A   192.112.36.4
    ;
    ; formerly AOS.ARL.ARMY.MIL
    ;
    .            3600000   NS  H.ROOT-SERVERS.NET.
    H.ROOT-SERVERS.NET.   3600000   A   128.63.2.53
    ;
    ; formerly NIC.NORDU.NET
    ;
    .            3600000   NS  I.ROOT-SERVERS.NET.
    I.ROOT-SERVERS.NET.   3600000   A   192.36.148.17
    ;
    ; operated by VeriSign, Inc.
    ;
    .            3600000   NS  J.ROOT-SERVERS.NET.
    J.ROOT-SERVERS.NET.   3600000   A   192.58.128.30
    ;
    ; operated by RIPE NCC
    ;
    .            3600000   NS  K.ROOT-SERVERS.NET.
    K.ROOT-SERVERS.NET.   3600000   A   193.0.14.129
    ;
    ; operated by ICANN
    ;
    .            3600000   NS  L.ROOT-SERVERS.NET.
    L.ROOT-SERVERS.NET.   3600000   A   198.32.64.12
    ;
    ; operated by WIDE
    ;
    .            3600000   NS  M.ROOT-SERVERS.NET.
    M.ROOT-SERVERS.NET.   3600000   A   202.12.27.33
    ; End of File
    Ten plik określa główne serwery DNS na świecie. Ta informacja zmienia się z czasem i musi być poprawiana.


    /var/named/named.local

    Kod:
    $TTL 86400
    @    IN   SOA   yaro.pl. root.yaro.pl. (
            1
            36000
            3600
            3600000
            36000
            )
        IN   NS   yaro.pl.
    1    IN   PTR   localhost.
    patrz opis przy pliku /var/named/yaro.pl

    na koncu /etc/named.conf dopisujemy nasza strefe:

    Kod:
    zone "yaro.pl" {
    type master;
    file "yaro.pl";
    allow-transfer { 127.0.0.1; };
    notify no;
    };
    Pokoleji opisuje co oznacza co:
    - zone "yaro.pl" - to oznacza że ten wpis w configu będzie się odnosił do domeny yaro.pl;
    - file "yaro.pl" - to oznacza że wszystkie wpisy co do tej domeny będą w pliku yaro.pl w katalogu /var/named - katalog ten ustawia się na samym początku configu;
    - allow-transfer { 127.0.0.1; } - tutaj zamiast 127.0.0.1 wpisujemy adresy IP zapasowego serwera DNS; Ja wpisalem siebie samego poniewaz nie mam zapasowego i nie jest mi potrzebny.
    - notify yes/no - ta opcja włącza powiadamianie zapasowego serwera DNS o tym, że zmieniliśmy jakieś wpisy w naszej domenie.

    teraz tworzymy plik /var/named/yaro.pl

    Kod:
    $TTL 86400
    $ORIGIN yaro.pl.
    
    ;; Te dwie linijki oznaczają jaki ma być domyślny czas
    ;; ważności rekordów w sekundach, oraz jaką domenę opisujemy.
    ;; 86400 = 1 dzień. Są to informacje dla bind'a które określają
    ;; co ma doklejić do rekordu jeżeli na jego końcu nie ma '.'
    
    @  IN  SOA  dns.yaro.pl. root.yaro.pl. (
    
    ;; Start Of Authority czyli rekord SOA - opisuje on kto 
    ;; zarządza naszą domeną (root@naszadomena.pl) oraz czasy
    ;; ważności wpisów w domenie, odświerzania i 
    ;; numer seryjny domeny. Zamiast @ w adresie e-mail
    ;; (root.naszadomena.pl) należy wpisać '.'! Podobnie znak
    ;; '(' jest konieczny gdyż na tym rekord SOA się nie kończy.
    ;; A co oznacza to @ na początku? '@' znaczy iż rekord
    ;; dotyczy naszadomena.pl samej w sobie.
    ;; Pierwsze pole (naszserwer.pl) oznacza iz pod tym adresem
    ;; znalezc mozna glowny DNS tej domeny - wpisuje sie tam nazwe
    ;; Primary DNS.
    
    2005032901
    
    ;; Numer seryjny domeny - powinien być przy każdej modyfikacji
    ;; pliku strefy zwiększany, a w dobrym tonie jest utrzymywanie
    ;; go w formacie YYYYMMDDnn - czyli rok, miesiąc, dzień i
    ;; i numer modyfikacji danego dnia o ile jest to któraś
    ;; z kolei modyfikacja danego dnia
    
    43000
    
    ;; refresh - To pole rekordu SOA definiuje jak często serwery
    ;; slave mają sprawdzać czy dane o domenie zmieniły się na
    ;; masterze. Według RFC, wartość ta powinna się zawierać
    ;; pomiędzy 1200 a 43200 (czyli od 20 minut do 12 godzin).
    ;; W praktyce, najlepsza wartość to 3600-7200 sekund.
    ;; W tym wypadku jako, ze nikt po za nami nie bedzie sie 
    ;; odwolywal do tego serwera dalem duze wiecej
    
    7200
    
    ;; retry - Tutaj ustawiamy po jakim czasie secondary ma ponowić
    ;; próbę kontaktu z masterem gdy taka się nie powiedzie.
    ;; Zalecana wartość to 120-7200 sekund.
    
    1209600
    
    ;; expire - Ta wartość określa po jakim czasie dane domeny mają
    ;; zostać uznane za nieaktualne gdy secondary nie będzie mógł
    ;; się dobić do primary dns'a. Zalecana wartość to od 1209600
    ;; do 2419200 sekund (od 2 do 4 tygodni).
    
    86400 )
    
    ;; time-to-live - czyli TTL. Określa ile czasu informacja o
    ;; każdym rekordzie ma być ważna, czyli ile czasu nameserver
    ;; który gdzieś po drodze zcacheował jakiś rekord z naszej
    ;; domeny ma go pamiętać. Zalecana wartość to 86400 - 432000
    ;; (1 do 5 dni). Na końcu tego pola znajduje się znak ')'
    ;; oznaczający koniec rekordu SOA.
    
    @  IN  NS  dns.yaro.pl.
    
    ;; Tutaj zdefiniowalismy że domene obsługują w/w serwery dns.
    
    @  IN  A  172.30.11.23
    
    ;; Chcemy aby przy użyciu yaro.pl był
    ;; podawany taki adres IP (172.30.11.23)
    
    dns  IN  A  172.30.11.23
    
    ;; przydzielamy hostowi dns.yaro.pl w końcu jakiś
    ;; adres
    na koncu pliku musi byc enter
    172.30.11.23 to moj prywatny adres ip

    nastepnie modyfikujemy /etc/resolve.conf dopisujac na poczatku:

    Kod:
    search pl
    nameserver 127.0.0.1
    sprawdzamy czy w /etc/nsswitch.conf istnieje wpis zblizony do tego

    Kod:
    hosts:   files dns nisplus nis

    w jakiejs konsoli dajemy polecenie
    Kod:
    tail -f /var/log/messages
    odpalamy bind'a przez jedno z polecen:

    Kod:
    bind
    Kod:
    /etc/init.d/named start
    i obserwujemy wynik. Jesli dostaniemy cos takigo:

    Kod:
    Mar 29 16:15:50 yaro named[7525]: starting BIND 9.3.0
    Mar 29 16:15:50 yaro named[7525]: found 1 CPU, using 1 worker thread
    Mar 29 16:15:50 yaro named[7527]: loading configuration from '/etc/named.conf'
    Mar 29 16:15:50 yaro named[7527]: listening on IPv4 interface lo, 127.0.0.1#53
    Mar 29 16:15:50 yaro named[7527]: listening on IPv4 interface eth0, 172.30.11.23#53
    Mar 29 16:15:50 yaro named[7527]: none:0: open: /etc/rndc.key: permission denied
    Mar 29 16:15:50 yaro named[7527]: couldn't add command channel 127.0.0.1#953: permission denied
    Mar 29 16:15:50 yaro named[7527]: none:0: open: /etc/rndc.key: permission denied
    Mar 29 16:15:50 yaro named[7527]: couldn't add command channel ::1#953: permission denied
    Mar 29 16:15:50 yaro named[7527]: couldn't open pid file '/var/run/named/named.pid': Permission denied
    Mar 29 16:15:50 yaro named[7527]: exiting (due to early fatal error)
    to latwo zauwazyc, ze bind nie startuje.
    naprawilem to dwoma poleceniami:

    Kod:
    chmod 644 /etc/rndc.key
    chmod 755 /var/named

    w efekcie po wydaniu polecenia bind w logach mam:

    Kod:
    Mar 29 19:05:19 yaro named[4703]: starting BIND 9.3.0 -u named
    Mar 29 19:05:19 yaro named[4703]: found 1 CPU, using 1 worker thread
    Mar 29 19:05:19 yaro named[4705]: loading configuration from '/etc/named.conf'
    Mar 29 19:05:19 yaro named[4705]: listening on IPv4 interface lo, 127.0.0.1#53
    Mar 29 19:05:19 yaro named[4705]: listening on IPv4 interface eth0, 172.30.11.23#53
    Mar 29 19:05:19 yaro named[4705]: couldn't add command channel 127.0.0.1#953: not found
    Mar 29 19:05:19 yaro named[4705]: couldn't add command channel ::1#953: not found
    Mar 29 19:05:19 yaro named[4705]: zone 0.0.127.in-addr.arpa/IN: loaded serial 2005032901
    Mar 29 19:05:19 yaro named[4705]: zone yaro.pl/IN: loaded serial 2005032901
    Mar 29 19:05:19 yaro named[4705]: running
    mar 29 19:05:19 yaro named: Uruchamianie named succeeded
    nadal sa jakies bledy ale wszystko dziala - jesli ktos wie jak je usunac to chetnie uslysze....

    teraz uruchom program nslookup i wpisz kilka adresow:

    Kod:
    $ nslookup
    > yaro.pl
    Server:     127.0.0.1
    Address:    127.0.0.1#53
    
    Name:  yaro.pl
    Address: 172.30.11.23
    > nba.com
    Server:     127.0.0.1
    Address:    127.0.0.1#53
    
    Non-authoritative answer:
    Name:  nba.com
    Address: 63.240.105.137
    > pat.uio.no
    Server:     127.0.0.1
    Address:    127.0.0.1#53
    
    Non-authoritative answer:
    Name:  pat.uio.no
    Address: 129.240.130.16
    > exit
    Zwróć uwagę na frazę `Non-authoritative answer:'. Oznacza, że named skorzystał ze swojej pamięci podręcznej i nie przeszukiwał sieci w poszukiwaniu odpowiedzi na twoje pytanie. Lecz informacja z pamięci podręcznej może być nieaktualna. Dlatetgo jesteś informowany o tym (pomijalnym) niebezpieczeństwie właśnie frazą `Non-authoritative answer:' (Odpwowiedź z nieautoryzowanego źródła). Jeśli nslookup w taki sposób odpowie na zapytanie o komputer, jest to znak, że zapamiętuje odpowiedzi przychodzące z sieci, a to znaczy, że działa poprawnie.





    Reputacja przyznana temu postowi
    Łącznie punktów reputacji: 2

    Komentarze:
     czadczad  zgadza się   U mnie Bind działa wg tego przepisu - dziękuję za klarowny opis
    Ostatnio edytowane przez Sir_Yaro ; 17.04.2005 o 15:32

  2. #2
    Avatar czadczad
    czadczad jest nieaktywny Jaskółka Europejska
    Mężczyzna
    Dystrybucja: paczkowana
    Dołączył
    Oct 2005
    Skąd
    Krakau
    Wiek
    36
    Postów
    670
    Wątków
    30
    Downloads
    2
    Uploads
    0
    Siła Reputacji
    63
    Reputacja
    560

    Odp: [HOWTO] Uruchomienie Dns'a (bind)

    Jeśli mogę coś dodać.

    Zastanawiałem się kiedyś skąd wziąść aktualną listę serwerów do binda.
    Pogoglałem w sieci i znalazłem taką oto komendę:
    Kod:
    dig @a.root-servers.net . ns > named.ca
    Sprawdziłem u siebie - to działa

    Pozdrawiam

Informacje o wątku

Users Browsing this Thread

Aktualnie 1 użytkownik(ów) przegląda ten wątek. (0 zarejestrowany(ch) oraz 1 gości)

Uprawnienia

  • Nie możesz zakładać nowych wątków
  • Nie możesz pisać wiadomości
  • Nie możesz dodawać załączników
  • Nie możesz edytować swoich postów
  •