Dns
From Rootnode
Contents |
Strefy DNS
DNS to jeden z modułów szatana. W celu utworzenia własnych stref DNS musisz najpierw dodać domenę do systemu za pomocą polecenia satan domain add oraz włączyć system DNS za pomocą satan domain enable dns, a następie wydelegować domenę u rejestratora na nasze nameservery. Delegacja domeny może potrwać nawet do 24 godzin. Przykładowy opis jak to zrobić znajdziesz poniżej.
Składnia
Składnia jest dostępna po wydaniu polecenia satan dns help. Dopełnianie składki w bashu odbywa się po dwukrotnym wciśnięciu tabulatora.
satan dns add a <domena> <host> <ip> satan dns add cname <domena> <host> <cel> satan dns add mx[<prio>] <domena> <host> <cel> satan dns add txt <domena> <host> "<wartość>" satan dns add srv <domena> <_usługa._protokół> "<priorytet> <waga> <port> <cel>." satan dns del <id> satan dns list satan dns list <domena>
| Polecenie | Opis |
| satan dns add a <domena> <host> <ip> | Dodaje wpis A dla domeny. Host może przyjmować trzy wartości: nazwę hosta, + lub ^, gdzie + oznacza wildcard, a ^ oznacza spację (główny wpis dla domeny). Wykorzystanie znaczników + oraz ^ zostało opisane poniżej. Ostatni parametr to docelowy adres IP. Wartość host należy podać bez domeny. W przypadku wpisów dla gra.bongo.pl hostem jest 'gra', w przypadku ftp.bongo.pl hostem jest 'ftp'. |
| satan dns add cname <domena> <host> <cel> | Dodaje wpis typu CNAME dla domeny. Host tak jak powyżej może przyjmować trzy wartości. Ostatni parametr to adres na który wskazuje wpis CNAME, np. nazwa.bongo.pl. |
| satan dns add mx[<prio>] <domena> <host> <cel> | Dodaje wpis MX dla domeny. Parametr prio jest opcjonalny i oznacza priorytet wpisu MX. Priorytety mogą być identyczne wtedy wpisy MX zwracane są algorytmem round-robin (raz jeden, raz drugi). Zobacz szczegóły na temat konfiguracji poczty. |
| satan dns add txt <domena> <host> "<wartość>" | Dodaje rekord TXT do domeny. Może służyć do konfiguracji SPF. Należy pamiętać o cudzysłowach. Jeśli chcemy dodać główny rekord dla domeny jako host trzeba podać ^. |
| satan dns add srv <domena> <_usługa._protokół> "<priorytet> <waga> <port> <cel>." | Dodaje rekord SRV. Cel powinien być nazwą kanoniczną, ale nie może być wpisem CNAME. Należy pamiętać o cudzysłowach i kropce na końcu. |
| satan dns del <id> | Usuwa rekord o podanym id. Numery id są widocznie po wydaniu polecenia satan dns list. |
| satan dns list | less -r |
| satan dns list <domena> | Wyświetla wszystkie rekordy dla podanej domeny. |
| przykład |
W przykładzie dodamy domenę bongo.pl do systemu i utworzymy kilka podstawowych rekordów DNS.
$ satan domain add bongo.pl $ satan domain enable dns bongo.pl $ satan dns list bongo.pl Id Record Type Resource 14920 @ soa internal 14921 @ ns ns1.rootnode.net 14922 @ ns ns2.rootnode.net
W tym momencie mamy już dodaną do systemu domenę oraz utworzone podstawowe wpisy DNS. Aby nasze zmiany były widoczne dla świata musimy jeszcze u rejestratora wydelegować naszą domenę na nameserwery ns1.rootnode.net oraz ns2.rootnode.net. Jest to opisane poniżej. Teraz zajmiemy się tworzeniem podstawowych wpisów:
$ satan dns add a bongo.pl ^ 89.248.166.198 $ satan dns add cname bongo.pl + bongo.pl
Powyższymi poleceniami utworzyliśmy główny rekord dla domeny (rekord A) wskazujący na adres IP serwera www. Drugi wpis to CNAME wildcardowy kierujące wszystkie subdomeny np. www.bongo.pl na wpis A. W skrócie *.bongo.pl -> bongo.pl -> 89.248.166.198. Dokładniejszy opis poniżej.
Końcowa konfiguracja powinna wyglądać następująco:
$ satan dns list bongo.pl Id Record Type Resource 14920 @ soa internal 14921 @ ns ns1.rootnode.net 14922 @ ns ns2.rootnode.net 14923 @ a 89.248.166.198 14924 * cname bongo.pl
Poleceniem dig możemy sprawdzić czy wszystko jest w porządku.
$ dig +short @ns1.rootnode.net test.bongo.pl 89.248.166.198
Jeśli zwróci nam adres IP serwera www (89.248.166.198) to znaczy, że domena została skonfigurowana prawidłowo i posiadamy wildcard.
Wildcard
Wildcard dla domeny bongo.pl tworzymy za pomocą:
$ satan dns add a bongo.pl ^ 89.248.166.198 $ satan dns add cname bongo.pl + bongo.pl
Pierwszym poleceniem utworzyliśmy główny wpis (rekord A) dla domeny bongo.pl, gdzie 89.248.166.198 to adres naszego serwera www venema. Następnie stworzyliśmy wildcard *.bongo.pl, który kieruje wszystkie subdomeny na domenę bongo.pl. W takiej konfiguracji każde zapytanie o domene bongo.pl oraz o subdomeny w domenie bongo.pl np. nazwa.bongo.pl zwróci nam adres IP serwera www.
Bez obaw. W przypadku gdy posiadamy wildcard oraz dodatkowo zdefiniujemy subdomene nazwa.bongo.pl w strefie DNS za pomocą polecenia satan dns add a bongo.pl nazwa 1.2.3.4 to oczywiście wtedy dostaniemy w odpowiedzi adres IP 1.2.3.4.
Aby uniknąć wildcarda na domenie zamiast powyższych dwóch poleceń wystarczy wydać jedno:
$ satan dns add a bongo.pl ^ 89.248.166.198
Wtedy zapytanie o dowolną subdomene np. nazwa.bongo.pl zwróci błąd Not found 3(NXDOMAIN).
Delegacja domeny
Aby domena mogła być obsługiwana przez nasze serwery należy u rejestratora wskazać nasze nameservery:
- ns1.rootnode.net
- ns2.rootnode.net
|
Pamiętaj, że powyższe nameservery synchronizują się ze sobą co 5 minut, więc rejestrator może zwrócić błąd typu serwer "ns2.rootnode.net" nie jest skonfigurowany dla domeny. |
Przykładowo jeśli zakupiliśmy domenę w firmie home.pl, konfiguracja wygląda tak jak poniżej:
Aby sprawdzić, czy domena została już wydelegowana na nasze serwery możemy wydać polecenie:
$ dig +short bongo.pl ns ns1.rootnode.net ns2.rootnode.net
Jeśli zobaczymy odpowiedź inną niż powyższa to znaczy, że wpisy dla domeny się jeszcze nie odświeżyły. Delegacja domeny może potrwać nawet do 24 godzin. Bez obaw, nasz system DNS jest dużo szybszy niż dużych dostawców i odświeżenie wszystkich kolejnych wpisów trwa kilka minut.
Rozwiązywanie problemów
Doskonałym narzędziem do rozwiwązywania problemów jest dig. Z poziomu konsoli możemy sprawdzić, czy nasza domena jest skonfigurowana poprawnie i tak jak chcemy.
Wszystkie domeny obsługiwane przez Rootnode powinny posiadać dwa wpisy NS:
- ns1.rootnode.net - zamiany w DNS będą widoczne od razu.
- ns2.rootnode.net - synchronizowany z pierwszym co 5 minut.
Wiadomo, że propagacja wpisów DNS na cały świat może trwać do 24 godzin, jednak po dodaniu domeny do systemu i uruchomieniu dla niej systemu DNS możemy od razu odpytać dwa powyższe serwery. Zaraz po włączeniu systemu DNS, domena będzie posiadać dwa podstawowe rekordy SOA oraz NS.
$ dig bongo.pl @ns1.rootnode.net NS ; <<>> DiG 9.3.4-P1.1 <<>> bongo.pl @ns1.rootnode.net NS ; (1 server found) ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 31420 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;bongo.pl. IN NS ;; ANSWER SECTION: bongo.pl. 300 IN NS ns1.rootnode.net. bongo.pl. 300 IN NS ns2.rootnode.net. ;; Query time: 35 msec ;; SERVER: 89.248.166.199#53(89.248.166.199) ;; WHEN: Tue May 26 14:59:36 2009 ;; MSG SIZE rcvd: 76
Polecenie dig bongo.pl @ns1.rootnode.net NS oznacza, że pytamy serwer ns1.rootnode.net o domenę bongo.pl, a dokładnie to o wpis NS. NS możesz zamienić na inne typy wpisów np. CNAME, A lub MX.
W ANSWER SECTION znajduje się odpowiedź serwera, że dla domeny bongo.pl istnieją dwa wpisy NS.
Strona nie działa
Jedną z najczęstszych przyczyn niedziałającej strony jest niepoprawne skonfigurowanie wpisów DNS. Wykonując dwukrotnie polecenie dig jesteśmy w stanie się dowiedzieć, czy nie popełniliśmy nigdzie błędu.
$ dig bongo.pl @ns1.rootnode.net A ; <<>> DiG 9.3.4-P1.1 <<>> bongo.pl @ns1.rootnode.net A ; (1 server found) ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21696 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;bongo.pl. IN A ;; ANSWER SECTION: bongo.pl. 300 IN A 89.248.166.198 ;; Query time: 9 msec ;; SERVER: 89.248.166.199#53(89.248.166.199) ;; WHEN: Tue May 26 15:05:03 2009 ;; MSG SIZE rcvd: 46
Jak widać główny wpis A dla domeny wskazuję na serwer www Venema, więc wszsystko jest OK. Teraz sprawdzimy, czy domena www.bongo.pl kieruje nas na bongo.pl za pomocą wpisu CNAME. Dodatkowo wykorzystamy opcję +short, aby otrzymać maksymalnie skróconą odpowiedź.
$ dig +short www.bongo.pl @ns1.rootnode.net CNAME bongo.pl.
Jak widać wszystko jest w porządku. Warto zapoznać się z programem dig, ponieważ jest to doskonałe narzędzie do badania problemów z niedziałającymi domenami, pocztą itp.
Czasem, gdy namieszasz z DNSami, pomaga: repair_dns bongo.pl
Zobacz także

|
|
Languages: |
English • Polski |


