The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Bind - не хочет разрешать новую запись в зону, !*! andrystepa, 14-Июн-11, 16:15  [смотреть все]
На локальном шлюзе стоит Mandriva Linux 2009. В качестве DNS сервера используется Bind 9.5.2.  В локальной сети есть 2 веб-сервера с различными сайтами. Все работает уже более 2 лет.
Приведу файлы зон:
ansaldo.local

@ IN      SOA     ns.ansaldo.local. admin.ansaldo.local. (
                        11432011614
                        10800
                        3600
                        604800
                        38400 )
@                       IN      NS      ns.ansaldo.local.
1         IN      PTR     local.ansaldo.local.
1         IN      PTR     traffic.ansaldo.local.
230       IN      PTR      timecontrol.ansaldo.local.
1         IN      PTR     firewall.ansaldo.local.
240       IN      PTR       distationbuh.ansaldo.local.
1         IN      PTR     localserver.ansaldo.local.
1      IN      PTR      comps.ansaldo.local.

И файл 169.254.37.zone:

$ttl 38400
@ IN      SOA     ns.ansaldovei.local. admin.ansaldo.local. (
                        11432011614
                        10800
                        3600
                        604800
                        38400 )
@                       IN      NS      ns.ansaldo.local.
1         IN      PTR     local.ansaldo.local.
1         IN      PTR     traffic.ansaldo.local.
230       IN      PTR      timecontrol.ansaldo.local.
1         IN      PTR     firewall.ansaldo.local.
240       IN      PTR       distationbuh.ansaldo.local.
1         IN      PTR     localserver.ansaldo.local.
1      IN      PTR      comps.ansaldo.local.

Понадобилось создать еще один локальный веб-сайт. Добавил я его в файлы зон. Теперь они выглядят так:
ansaldo.local

@ IN      SOA     ns.ansaldo.local. admin.ansaldo.local. (
                        11432011614
                        10800
                        3600
                        604800
                        38400 )
@                       IN      NS      ns.ansaldo.local.
1         IN      PTR     local.ansaldo.local.
1         IN      PTR     traffic.ansaldo.local.
230       IN      PTR      timecontrol.ansaldo.local.
230       IN      PTR      katalog.ansaldo.local.
1         IN      PTR     firewall.ansaldo.local.
240       IN      PTR       distationbuh.ansaldo.local.
1         IN      PTR     localserver.ansaldo.local.
1      IN      PTR      comps.ansaldo.local.

И файл 169.254.37.zone:

$ttl 38400
@ IN      SOA     ns.ansaldovei.local. admin.ansaldo.local. (
                        11432011614
                        10800
                        3600
                        604800
                        38400 )
@                       IN      NS      ns.ansaldo.local.
1         IN      PTR     local.ansaldo.local.
1         IN      PTR     traffic.ansaldo.local.
230       IN      PTR      timecontrol.ansaldo.local.
230       IN      PTR      katalog.ansaldo.local.
1         IN      PTR     firewall.ansaldo.local.
240       IN      PTR       distationbuh.ansaldo.local.
1         IN      PTR     localserver.ansaldo.local.
1      IN      PTR      comps.ansaldo.local.

Вроде бы все нормально. Сделал
rndc reload
пробую разрешить имя нового сайта:
nslookup katalog.ansaldo.local
пишет
non-existing domain
Причем  любую другую запись, что в файле зоны он разрешает без проблем!!! Пытался очистить кеш
rndc flush
не помогает.
Удалил одну из записей в файле зоны - timecontrol.ansaldo.local. Очистил кеш, сделал reload. Проверяю:
nslookup timecontrol.ansaldo.local
Разрешает!!!!! Как будто никаких изменений в файле зоны и небыло!!! Как это понимать? Кто знает - помогите пожалуйста!!
  • Bind - не хочет разрешать новую запись в зону, !*! reader, 16:52 , 14-Июн-11 (1)
  • Bind - не хочет разрешать новую запись в зону, !*! Square, 17:00 , 14-Июн-11 (2)
    • Bind - не хочет разрешать новую запись в зону, !*! andrystepa, 17:18 , 14-Июн-11 (3)
      > Ваше шаманство с конфигами ничего не значит. Этот сервер не использувется. Разрешение
      > имен происходит где-то в другом месте. Остановите его совсем.
      > проверьте разрешает ли имена именно указанный сервер, добавив прямое указание где именно
      > производить разрешение имени в строку:
      > nslookup timecontrol.ansaldo.local 169.254.37.1

      Очень извиняюсь, ошибочка вышла. Скопировал оба раз файл обратной зоны. Вот файл ansaldo.local:


      $ttl 38400
      @ IN      SOA     ns.ansaldovei.local. admin.ansaldo.local. (
                              11432011614
                              10800
                              3600
                              604800
                              38400 )
                              IN      NS      ns.ansaldo.local.
                  IN    A    169.254.37.1
      ;                        MX      10      mail.ecocentr.local.
      locahost                IN      A       127.0.0.1
      ;ns                      IN      A       169.254.37.1
      ;www                     IN      A       169.254.37.1
      www                    IN      CNAME   ns.ansaldo.local.
      ns                     IN      CNAME   ns.ansaldo.local.
      ftp                     IN      CNAME   ns.ansaldo.local.
      local.ansaldo.local  IN      A       169.254.37.1
      traffic.ansaldo.local. IN    A       169.254.37.1
      firewall.ansaldo.local.      IN      A       169.254.37.1
      timecontrol.ansaldo.local.   IN      A       169.254.37.230
      katalog.ansaldo.local.   IN      A       169.254.37.230
      diskstationbuh.ansaldo.local.  IN      A       169.254.37.240
      localserver.ansaldo.local.   IN      A       169.254.37.1
      comps.ansaldo.local        IN    A    169.254.37.1

      Я тоже сначала подумал, что разрешает какой-то другой сервер. Хотя в локалке больше DNS серверов нет и быть не может, но, подумал, может барабашка какой. Вводил я команду:
      nslookup timecontrol.ansaldo.local 169.254.37.1
      Именно он и отвечает.

      • Bind - не хочет разрешать новую запись в зону, !*! Square, 18:10 , 14-Июн-11 (4)
        • Bind - не хочет разрешать новую запись в зону, !*! andrystepa, 14:43 , 15-Июн-11 (8)
          >>ns                     IN      CNAME   ns.ansaldo.local.
          > Используйте утилиту named-checkzone чтобы проверить корректность конфигурации. С такой
          > записью зона загружена не будет.

          Проверил. Сначала утилита ругнулась на серийник:


          named-checkzone ansaldo.local /var/named/ansaldo.local
          dns_rdata_fromtext: /var/named/ansaldo.local:2: near '11432011614': out of range
          zone ansaldo.local/IN: loading from master file /var/named/ansaldo.local failed: out of range

          Только одну цифру добавил в серийник - и ругается. Исправил, теперь ругается на другое:


            named-checkzone ansaldo.local /var/named/ansaldovei.local
          zone ansaldo.local/IN: NS 'ns.ansaldo.local' is a CNAME (illegal)
          zone ansaldo.local/IN: loaded serial 120110614

          Как понять на какую запись 'ns.ansaldo.local' она ругается? В файле их несколько.
          А серийник я, конечно менял. Но как я заметил еще при предыдущем редактировании файла зоны - это делать не обязательно. Год назад я добавлял в этот файл другую запись и забыл поменять серийник - никаких проблем.

        • Bind - не хочет разрешать новую запись в зону, !*! andrystepa, 12:17 , 16-Июн-11 (12)
          >>ns                     IN      CNAME   ns.ansaldo.local.
          > Используйте утилиту named-checkzone чтобы проверить корректность конфигурации. С такой
          > записью зона загружена не будет.

          Я закомментировал в файле зоны строку:
          ns       IN CNAME  ns.ansaldo.local
          и раскомментировал строку
          ns       IN   A   169.254.37.1
          После этого опять запустил проверку конфига:


          named-checkzone ansaldovei.local /var/named/ansaldovei.local
          zone ansaldovei.local/IN: loaded serial 120110614
          OK

          Как видите никаких проблем больше нет. Однако опять то же самое. Запись katalog.ansaldovei.local сервак не находит, а запись timecontrol.ansaldovei.local находит, хотя первая в конфиге присутствует а вторая уже удалена. БАРАБАШКа где-то там завелся, не иначе!!!

              

          • Bind - не хочет разрешать новую запись в зону, !*! reader, 13:10 , 16-Июн-11 (13)
            • Bind - не хочет разрешать новую запись в зону, !*! andrystepa, 14:53 , 16-Июн-11 (14)
              >[оверквотинг удален]
              >>
               
              >>  named-checkzone ansaldovei.local /var/named/ansaldovei.local
              >> zone ansaldovei.local/IN: loaded serial 120110614
              >> OK
              >>

              >> Как видите никаких проблем больше нет. Однако опять то же самое. Запись
              >> katalog.ansaldovei.local сервак не находит, а запись timecontrol.ansaldovei.local находит,
              >> хотя первая в конфиге присутствует а вторая уже удалена. БАРАБАШКа где-то
              >> там завелся, не иначе!!!
              > service named restart, rndc stats , смотрим логи и файл

              Сделал и увидел в логе messages нечто странное:


              Jun 16 14:30:55 AnsaldoGW named[19971]: 16-Jun-2011 14:30:55.979 general: info: zone 37.254.169.in-addr.arpa/IN: loaded serial 1143200821
              Jun 16 14:30:55 AnsaldoGW named[19971]: 16-Jun-2011 14:30:55.984 general: info: zone ansaldo.local/IN: loaded serial 1143200824
              Jun 16 14:30:55 AnsaldoGW named[19971]: 16-Jun-2011 14:30:55.985 general: error: zone localhost/IN: loading from master file /var/named/localhost.zone failed: no owner
              Jun 16 14:30:55 AnsaldoGW named[19971]: 16-Jun-2011 14:30:55.990 general: notice: running

              Но ведь в файлах зон другие серийники!!!
              В ansaldo.local - 120110614
              в 169.254.37.zone - 120110614
              Да откуда же он берет файлы зон??? Ведь в конфиге /etc/named.conf написано:

              zone "localhost" in {
              type master;
              file "/var/named/localhost.zone";
              allow-update { none; };
              };

              zone "0.0.127.in-addr.arpa" in {
              type master;
              file "/var/named/127.0.0.zone";
              allow-update { none; };
              };

              zone "." in {
              type hint;
              file "/var/named/named.ca";
              };

              zone "ansaldovei.local" in {
              type master;
              file "/var/named/ansaldovei.local";
              };

              zone "37.254.169.in-addr.arpa" in {
              type master;
              file "/var/named/169.254.37.zone";
              };


              И именно в указанных тут директориях я и правлю файлы!!! Где же он взял эти серийники? А файлы зон откуда взялись?
              • Bind - не хочет разрешать новую запись в зону, !*! andrystepa, 14:55 , 16-Июн-11 (15)
                >[оверквотинг удален]
                > type master;
                > file "/var/named/ansaldovei.local";
                > };
                > zone "37.254.169.in-addr.arpa" in {
                > type master;
                > file "/var/named/169.254.37.zone";
                > };
                >
                > И именно в указанных тут директориях я и правлю файлы!!! Где же
                > он взял эти серийники? А файлы зон откуда взялись?

                Тьфу ты, опять по инерции вместо ansaldo напечатал ansaldovei - это у нас название компании такое.

                • Bind - не хочет разрешать новую запись в зону, !*! reader, 15:21 , 16-Июн-11 (16)
                  • Bind - не хочет разрешать новую запись в зону, !*! andrystepa, 15:55 , 16-Июн-11 (17)
                    >[оверквотинг удален]
                    >>> type master;
                    >>> file "/var/named/169.254.37.zone";
                    >>> };
                    >>>

                    >>> И именно в указанных тут директориях я и правлю файлы!!! Где же
                    >>> он взял эти серийники? А файлы зон откуда взялись?
                    >> Тьфу ты, опять по инерции вместо ansaldo напечатал ansaldovei - это у
                    >> нас название компании такое.
                    > запущен в chroot наверно, вот и смотрите относительно него, где то в
                    > /var/named/...

                    Запущен он не в chroot. Но конфиги действительно лежат в /var/named. Ведь в named.conf именно так и прописано.

                    • Bind - не хочет разрешать новую запись в зону, !*! reader, 16:06 , 16-Июн-11 (18)
                      • Bind - не хочет разрешать новую запись в зону, !*! andrystepa, 16:12 , 16-Июн-11 (19)
                        > в /var/named/etc ? тогда скорей всего в chroot.
                        >> в named.conf именно так и прописано.
                        > имеете введу directory "/var/named";
                        > это будет добавлено к пути к файлу если не указан полный путь,
                        > но опять таки относительно chroot

                        Не в /var/named/etc, а в в /var/named - нет там директории /etc. Но даже если в chroot - где же искать эти конфиги?

                        • Bind - не хочет разрешать новую запись в зону, !*! reader, 16:24 , 16-Июн-11 (20)
                        • Bind - не хочет разрешать новую запись в зону, !*! andrystepa, 10:04 , 17-Июн-11 (22)
                          >>> в /var/named/etc ? тогда скорей всего в chroot.
                          >>>> в named.conf именно так и прописано.
                          >>> имеете введу directory "/var/named";
                          >>> это будет добавлено к пути к файлу если не указан полный путь,
                          >>> но опять таки относительно chroot
                          >> Не в /var/named/etc, а в в /var/named - нет там директории /etc.
                          >> Но даже если в chroot - где же искать эти конфиги?
                          > посмотрите стартовый скрипт /etc/rc.d/init.d/named, там будет видно в chroot ли и где
                          > именно

                          Посмотрел там и нашел вот такие строки:
                          [ -f /etc/sysconfig/named ] && . /etc/sysconfig/named
                          [ -f /usr/sbin/named ] || exit 0
                          [ -f /var/lib/named/etc/named.conf ] || exit 0
                          Иду в
                          /var/lib/named/etc/named.conf
                          и смотрю его. Вижу:


                          zone "ansaldovei.local" in {
                          type master;
                          file "/var/named/ansaldovei.local";
                          };

                          zone "37.254.169.in-addr.arpa" in {
                          type master;
                          file "/var/named/169.254.37.zone";
                          };


                          Вроде бы туда же ссылается, но в директории /var/lib/named есть своя директория /var/named в которой лежат файлы зоны. Скопировал поверх них свои файлы зон - и все заработало!
                          Спасибо большое!

                        • Bind - не хочет разрешать новую запись в зону, !*! Square, 19:50 , 16-Июн-11 (21)
  • Bind - не хочет разрешать новую запись в зону, !*! aurved, 21:15 , 14-Июн-11 (5)



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру