Linux за българи: Форуми

Linux секция за начинаещи => Настройка на програми => Темата е започната от: alaska в Aug 27, 2009, 20:19



Титла: Проблем с конфигурирането на Master DNS server
Публикувано от: alaska в Aug 27, 2009, 20:19
Здравейте,

Имам проблем с конфигурирането на master dns server. ns1.domain.com и ns2.domain са ми делигирани в регистратора като такива за създаване на DNS сървър. Конфигурацията в named.conf е следната:

Код
GeSHi (INI):
  1. zone "domain.com" {
  2. type master;
  3. file "/var/named/domain.com.db";
  4. };

Във domain.com.db конфигурацията ми е следната:

Код
GeSHi (INI):
  1. $ttl 14400
  2. domain.com. IN SOA ns1.domain.com. webmaster.domain.com. (
  3.  
  4. 1211542297 ; Serial in YYYYMMDDXX
  5. 10800;
  6. 3600;
  7. 604800;
  8. 38400;
  9. );
  10.  
  11. domain.com. IN A 11.33.55.77
  12.  
  13. domain.com. IN NS ns1.domain.com.
  14. domain.com. IN NS ns2.domain.com.
  15. domain.com. IN MX 1 domain.com.
  16.  
  17. ns1.domain.com. IN A 11.33.55.77
  18. ns2.domain.com. IN A 22.44.66.88
  19.  
  20. www IN CNAME domain.com.
  21. ftp IN CNAME domain.com.
  22. mail IN CNAME domain.com.

След изпълнение на командите:

Код
GeSHi (Bash):
  1. rndc reload && service named restart

Резултата е нулев. Нямам "резолв" към домейна, а ето и изхода от dig

Код
GeSHi (Bash):
  1. dig ns domain.com
  2.  
  3. ; <<>> DiG 9.3.4-P1 <<>> ns domain.com
  4. ;; global options:  printcmd
  5. ;; Got answer:
  6. ;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 33652
  7. ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
  8.  
  9. ;; QUESTION SECTION:
  10. ;domain.com. IN NS

Идентичен е резултата и при проверка на A запис. Можете ли да ми дадете някакви насоки, кое, къде да бутна ?


Титла: Re: Проблем с конфигурирането на Master DNS server
Публикувано от: neter в Aug 27, 2009, 22:14
Хмм... при допитването с dig, което ти е нужно, QUESTION SECTION трябва да съдържа "IN A", а не "IN NS", което ме навежда на мисълта, че в командата, която си показал
Код
GeSHi (Bash):
  1. dig ns domain.com
наистина си писал "ns" по средата, а не си заместил "ns" с IP адреса или домейна на DNS-а. Т.е., явно си я изпълнил точно така, както си я показал. Ето верни примери за изпълнението на тази команда
Код
GeSHi (Bash):
  1. dig ns1.domain.com domain.com
  2. dig @111.222.333.444 domain.com
T.e., трябва да заместиш "ns" в командата с IP адреса или домейна на DNS-а, към който отправяш запитването. Както виждаш, когато се използва IP адрес, се слага знак @ пред него. Ако използваш IP адрес в командата, замести 111.222.333.444 с IP адреса на DNS сървъра. След това, ако все още виждаш някакви проблеми, покажи какъв е бил изходът от вече правилно изпълнената команда. Покажи резултатите от запитването и към двата DNS-а (ns1.domain.com и ns2.domain.com), ако това са различни машини ;)


Титла: Re: Проблем с конфигурирането на Master DNS server
Публикувано от: alaska в Aug 28, 2009, 09:31
Здравей,

Благодаря ти за насоките. Ето и резултата от dig ns1.domain.com domain.com

Код
GeSHi (INI):
  1. ;; Got answer:
  2. ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 2048
  3. ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 0
  4.  
  5. ;; QUESTION SECTION:
  6. ;ns1.domain.com. IN A
  7.  
  8. ;; ANSWER SECTION:
  9. ns1.domain.com. 172556 IN A 11.11.11.111
  10.  
  11. ;; AUTHORITY SECTION:
  12. domain.com. 172556 IN NS ns2.domain.com.
  13. domain.com. 172556 IN NS ns1.domain.com.
  14.  
  15. ;; Query time: 2 msec
  16. ;; SERVER: 22.22.22.222#53(22.22.22.222)
  17. ;; WHEN: Fri Aug 28 09:26:12 2009
  18. ;; MSG SIZE  rcvd: 86
  19.  
  20.  
  21. ; <<>> DiG 9.3.4-P1 <<>> ns1.domain.com domain.com
  22. ;; global options:  printcmd
  23. ;; Got answer:
  24. ;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 59401
  25. ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
  26.  
  27. ;; QUESTION SECTION:
  28. ;domain.com. IN A
  29.  
  30. ;; Query time: 3 msec
  31. ;; SERVER: 22.22.22.222#53(22.22.22.222)
  32. ;; WHEN: Fri Aug 28 09:26:12 2009
  33. ;; MSG SIZE  rcvd: 34

Това, което виждам е липсата на А запис за самия домейн и това "status: SERVFAIL".

Следва отговора при запитване към ns2.domain.com


Код
GeSHi (INI):
  1. dig ns2.domain.com domain.com
  2. ;; Got answer:
  3. ;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 12179
  4. ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
  5.  
  6. ;; QUESTION SECTION:
  7. ;ns2.domain.com. IN A
  8.  
  9. ;; Query time: 5 msec
  10. ;; SERVER: 22.22.22.222#53(22.22.22.222)
  11. ;; WHEN: Fri Aug 28 09:33:31 2009
  12. ;; MSG SIZE  rcvd: 38
  13.  
  14.  
  15. ; <<>> DiG 9.3.4-P1 <<>> ns2.domain.com domain.com
  16. ;; global options:  printcmd
  17. ;; Got answer:
  18. ;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 46448
  19. ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
  20.  
  21. ;; QUESTION SECTION:
  22. ;domain.com. IN A
  23.  
  24. ;; Query time: 5 msec
  25. ;; SERVER: 22.22.22.222#53(22.22.22.222)
  26. ;; WHEN: Fri Aug 28 09:33:31 2009
  27. ;; MSG SIZE  rcvd: 34



Титла: Re: Проблем с конфигурирането на Master DNS server
Публикувано от: neter в Aug 28, 2009, 10:52
Добре, продължаваме нататък. Вижда се, че заявката към ns2.domain.com не връща дори IP адреса на DNS-а, но него ще го оправяме, когато нагласим ns1.domain.com. Първо, в зоновия файл за domain.com замести реда
Цитат
domain.com. IN SOA ns1.domain.com. webmaster.domain.com. (
с
Цитат
@ IN SOA ns1.domain.com. webmaster.domain.com. (
Излишно е да си слагаш такова ограничение. След това покажи съдържанието на основния конфигурационен файл на Bind. Кой е, къде е и как точно е кръстен при теб, е малко трудно да се каже, защото това зависи от дистрибуцията и как си инсталирал пакета. Като начало можеш да видиш следната команда дали ще ти подскаже къде е
Код
GeSHi (Bash):
  1. whereis named
Ако не даде резултат, можеш да го потърсиш в папките /etc/bind, /var/named и /etc. Обикновено името му е named.conf, но това не е задължително. Все пак можеш да пуснеш едно претърсване на системата за файл с такова име. Най-голяма нужда в момента има да се прегледа този файл с конфигурация на Bind, в който се съдържа подобна на тази настройка
Цитат
options {
        listen-on port 53 { any; };
        listen-on-v6 port 53 { ::1; };
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        query-source    port 53;
        query-source-v6 port 53;
        allow-query     { any; };
};
Може да е с повече или по-малко редове, може редовете да се различават, но настройката винаги се казва options{}


Титла: Re: Проблем с конфигурирането на Master DNS server
Публикувано от: alaska в Aug 28, 2009, 13:23
Направих корекцията в зоновия файл domain.com, но като го проверя с named-checkzone ми връща следното съобщение:

Код
GeSHi (Bash):
  1. domain.com.db:2: SOA record not at top of zone (\@IN.domain.com)
  2. zone domain.com/IN: loading master file domain.com.db: not at top of zone

А това е съдържанието на директивата options:

Код
GeSHi (Bash):
  1. options {
  2.       // query-source    port 53;
  3.    // Put files that named is allowed to write in the data/ directory:
  4.    directory                "/var/named"; // the default
  5.    pid-file                 "/var/run/named/named.pid";
  6.    dump-file                "data/cache_dump.db";
  7.    statistics-file          "data/named_stats.txt";
  8.   /* memstatistics-file     "data/named_mem_stats.txt"; */
  9. };

Прави впечатление обаче, че named е стартиран със следните параметри:

Код
GeSHi (Bash):
  1. /usr/sbin/named -u named -t /var/named/chroot

Като в /var/named/chroot също има named.conf и зонови файлове. Съответно options на named.conf, който се намира в /var/named/chroot е:


Код
GeSHi (Bash):
  1. options {
  2.    // query-source    port 53;
  3.    // Put files that named is allowed to write in the data/ directory:
  4.    directory                "/var/named"; // the default
  5.    pid-file                 "/var/run/named/named.pid";
  6.    dump-file                "data/cache_dump.db";
  7.    statistics-file          "data/named_stats.txt";
  8.   /* memstatistics-file     "data/named_mem_stats.txt"; */
  9. };



Титла: Re: Проблем с конфигурирането на Master DNS server
Публикувано от: neter в Aug 28, 2009, 14:03
Покажи целия конфигурационен файл, а не само options. И в останалата част има интересни неща за четене. Относно options, добави следните редове в него, за да зададеш порт, на който да слуша Bind, и да позволиш отправяне на външни заявки към него
Цитат
listen-on port 53 { any; };
query-source    port 53;
allow-query     { any; };
и рестартирай Bind след това. Покажи зоновия файл на domain.com, да видя какво си направил в него с промяната на SOA реда.


Титла: Re: Проблем с конфигурирането на Master DNS server
Публикувано от: alaska в Aug 28, 2009, 14:18
Тук ($2) е named.conf, а това е зоновия файл след промяната:

Код
GeSHi (INI):
  1. $ttl 14400
  2. @IN SOA ns1.domain.com. webmaster.domain.com. (
  3.  
  4. 2009082701 ; Serial in YYYYMM
  5. 10800; refresh seconds
  6. 3600; retry
  7. 604800; expire
  8. 38400; minimum
  9. );
  10.  
  11. domain.com. IN A 11.111.111.11
  12.  
  13. domain.com. IN NS ns1.domain.com.
  14. domain.com. IN NS ns2.domain.com.
  15. domain.com. IN MX 1 domain.com.
  16.  
  17. ns1.domain.com. IN A 11.111.111.11
  18. ns2.domain.com. IN A 22.222.222.22
  19.  
  20. www IN CNAME domain.com.
  21. ftp IN CNAME domain.com.
  22. mail IN CNAME domain.com.



Титла: Re: Проблем с конфигурирането на Master DNS server
Публикувано от: ntrance в Aug 28, 2009, 14:24
Една нормално работеще зано :)
$TTL 14400
hosta.bg.   86400   IN   SOA     ns3..............net.   ........bg.   (
                                                2009052805 ;Serial Number
                                                86400 ;refresh
                                                7200 ;retry
                                                3600000 ;expire
                                                86400 ;minimum
        )
hosta.bg.   86400   IN   NS   ns3........net.
hosta.bg.   86400   IN   NS   ns4...............net.
hosta.bg.   86400   IN   NS   ns1..............t.
hosta.bg.   86400   IN   NS   ns2................
hosta.bg.   14400   IN   A   11.11.11.11
localhost   14400   IN   A   127.0.0.1
hosta.bg.   14400   IN   MX   0   mail.hosta.bg.
mail    14400   IN   A   11.11.11.11
www     14400   IN   CNAME   hosta.bg
ftp     14400   IN   A   11.11.11.11
test  14400   IN   A   11.11.11.11
whm     14400   IN   A   11.11.11.11
webmail 14400   IN   A   11.11.11.11
webdisk 14400   IN   A   11.11.11.11


Титла: Re: Проблем с конфигурирането на Master DNS server
Публикувано от: alaska в Aug 28, 2009, 14:36
Сега е наред:

Код
GeSHi (Bash):
  1. zone domain.com/IN: loaded serial 2009052805
  2. OK



Титла: Re: Проблем с конфигурирането на Master DNS server
Публикувано от: neter в Aug 28, 2009, 14:53
Бил си изпуснал интервала между @ и IN в реда за SOA :) Щом сега зоновият файл е наред, добави ли 3-те реда към options, които ти дадох и какво стана след това?


Титла: Re: Проблем с конфигурирането на Master DNS server
Публикувано от: alaska в Aug 28, 2009, 14:57
Резултата от dig е както по-горе бях постнал. Тоест без промяна. В интерес на истината преди години съм настройвал DNS и бе тръгнал от раз, но сега не знам какво става......


Титла: Re: Проблем с конфигурирането на Master DNS server
Публикувано от: neter в Aug 28, 2009, 15:08
Я пробвай локално, на самия DNS, да отправиш заявка към DNS-а по IP адрес. Демек
Код
GeSHi (Bash):
  1. dig @127.0.0.1 domain.com
и да видим какво ще върне.


Титла: Re: Проблем с конфигурирането на Master DNS server
Публикувано от: neter в Aug 28, 2009, 15:16
Опа, имаш грешка в named.conf :) Там, където си описал зоната
Цитат
zone "domain.com" {
        type master;
        file "/var/named/domain.com";
};
Долната затваряща скоба не е затваряща скоба на zone, а е затваряща скоба на view "internal" - секцията, в която, поради тази грешка, попада описаната зона. Предполагам, при това положение, локалната заявка, която преди малко те накарах да направиш, ще работи, тъй като това ще бъде вътрешна (internal) заявка, освен ако липсващата затваряща скоба на зоната не я чупи. Добави затваряща скоба така, че зоната да остане извън "internal" секцията, за да може да е видима не само локално, но и при външни заявки. Т.е., горното да стане така
Цитат
};
};

zone "domain.com" {
        type master;
        file "/var/named/domain.com";
};

edit: Всъщност, както виждаш, добавил съм две скоби, а не една, защото забелязвам, че си изтрил затварящата скоба и на описаната "." зона в "internal" секцията. Преброй си и ти скобите, гледай всяка отворена скоба да се затваря някъде, и то да се затваря там, където е нужно.


Титла: Re: Проблем с конфигурирането на Master DNS server
Публикувано от: alaska в Aug 28, 2009, 15:25
Код
GeSHi (INI):
  1. ; <<>> DiG 9.3.4-P1 <<>> @127.0.0.1 domain.com
  2. ; (1 server found)
  3. ;; global options:  printcmd
  4. ;; Got answer:
  5. ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 20884
  6. ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 0
  7.  
  8. ;; QUESTION SECTION:
  9. ;domain.com. IN A
  10.  
  11. ;; ANSWER SECTION:
  12. domain.com. 14400 IN A 11.111.111.111.
  13.  
  14. ;; AUTHORITY SECTION:
  15. domain.com. 86400 IN NS ns1.domain.
  16. domain.com. 86400 IN NS ns2.domain.
  17.  
  18. ;; Query time: 256 msec
  19. ;; SERVER: 127.0.0.1#53(127.0.0.1)
  20. ;; WHEN: Fri Aug 28 15:22:59 2009
  21. ;; MSG SIZE  rcvd: 86

Не изглежда зле май сега ?


Титла: Re: Проблем с конфигурирането на Master DNS server
Публикувано от: neter в Aug 28, 2009, 15:35
Много добре си изглежда даже :) Хайде сега да видим ще се справиш ли и с другия DNS. Ползвай този като пример ;)


Титла: Re: Проблем с конфигурирането на Master DNS server
Публикувано от: alaska в Aug 28, 2009, 15:48
Да, обаче се получава следното:

11.111.111.111 е IP адреса на ns1.domain.com

Код
GeSHi (INI):
  1. dig @11.111.111.111 domain.com
  2.  
  3. ; <<>> DiG 9.3.4-P1 <<>> @11.111.111.111 domain.com
  4. ; (1 server found)
  5. ;; global options:  printcmd
  6. ;; Got answer:
  7. ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 28728
  8. ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 0
  9.  
  10. ;; QUESTION SECTION:
  11. ;domain.com. IN A
  12.  
  13. ;; ANSWER SECTION:
  14. domain.com. 14400 IN A 11.111.111.111
  15.  
  16. ;; AUTHORITY SECTION:
  17. domain.com. 86400 IN NS ns2.domain.com.
  18. domain.com. 86400 IN NS ns1.domain.com.
  19.  
  20. ;; Query time: 0 msec
  21. ;; SERVER: 11.111.111.111#53(11.111.111.111)
  22. ;; WHEN: Fri Aug 28 15:42:31 2009
  23. ;; MSG SIZE  rcvd: 86

Което е добе, но при използването на

dig ns1.domain.com domain.com


Код
GeSHi (INI):
  1. ;; Got answer:
  2. ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 53332
  3. ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 1
  4.  
  5. ;; QUESTION SECTION:
  6. ;ns1.domain.com. IN A
  7.  
  8. ;; ANSWER SECTION:
  9. ns1.domain.com. 171722 IN A 11.111.111.111
  10.  
  11. ;; AUTHORITY SECTION:
  12. domain.com. 164941 IN NS ns2.domain.com.
  13. domain.com. 164941 IN NS ns1.domain.com.
  14.  
  15. ;; ADDITIONAL SECTION:
  16. ns2.domain.com. 171722 IN A 22.222.222.222
  17.  
  18. ;; Query time: 2 msec
  19. ;; SERVER: 33.333.333.333#53(33.333.333.333)
  20. ;; WHEN: Fri Aug 28 15:44:25 2009
  21. ;; MSG SIZE  rcvd: 102
  22.  
  23.  
  24. ; <<>> DiG 9.3.4-P1 <<>> ns1.domain.com domain.com
  25. ;; global options:  printcmd
  26. ;; Got answer:
  27. ;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 58203
  28. ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
  29.  
  30. ;; QUESTION SECTION:
  31. ;domain.com. IN A
  32.  
  33. ;; Query time: 7 msec
  34. ;; SERVER: 33.333.333.333#53(33.333.333.333)
  35. ;; WHEN: Fri Aug 28 15:44:25 2009
  36. ;; MSG SIZE  rcvd: 34

 ???




Титла: Re: Проблем с конфигурирането на Master DNS server
Публикувано от: neter в Aug 28, 2009, 16:12
Предполагам, че заявката
Код
GeSHi (Bash):
  1. dig ns1.domain.com domain.com
си я отправил от машина, която в настройките на интернет връзката има настроени други DNS-и (например, тези на доставчика), а не са вписани тези 2 DNS-а, които вдигаме сега. При това положение, машината, която отправя заявката, иска от настроените си DNS-и отговор какво е IP-то на ns1.domain.com, за да може да отправи заявка към него. Но, явно, единственият DNS, който знае какво е IP-то на ns1.domain.com, е самият сървър ns1.domain.com. В момента, за да можеш да отправиш заявка към него по домейн, трябва или да впишеш него като DNS в настройките на интернет връзката, или да накараш и другите DNS-и по света да знаят кой е ns1.domain.com. Тъй като мисля, че не пускаш локален сървър, нужно ти е да направиш второто. За целта е нужно да влезеш в контролния панел на регистратора, от където си купил домейна domain.com, и да въведеш информация за имената и IP-тата на DNS сървърите ns1.domain.com и ns2.domain.com. Тези два DNS-а в последствие ще отговарят за всеки домейн (включително и domain.com), които ще сочат към тях, но за да разбере светът кои са ns1.domain.com и ns2.domain.com, трябва да настроиш IP-тата им при регистратора. Ако все още не разбираш за какъв дявол е нужно това действие, нали уж вкарваш IP-тата на ns1 и ns2 в зоновите файлове, пробвай да помислиш още малко :)


Титла: Re: Проблем с конфигурирането на Master DNS server
Публикувано от: alaska в Aug 28, 2009, 16:26
Здравей,
Долу-горе имам представа как работи DNS и самата му йерархия.
В първият си пост съм писал
Цитат
Имам проблем с конфигурирането на master dns server. ns1.domain.com и ns2.domain са ми делигирани в регистратора като такива за създаване на DNS сървър
. Да не би да отнема известно време за обновяване на данните или знам ли и аз вече :)

edit:
при пинг от външни сървъри към ns1.domain.com и ns2.domain.com се резолват правилно

edit 2:
PTR записите на IP адресите, които обслужват ns1.domain.com и ns2.domain.com са с хост различен от domain.com. Това би ли било проблем ?