Dig повертає "статус: ВІДМОВА" для зовнішніх запитів?


14

Я не можу зрозуміти, чому мій DNS не працює належним чином, якщо я запускаю копати з сервера імен, він функціонує правильно:

# dig ungl.org

; <<>> DiG 9.5.1-P2.1 <<>> ungl.org
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 24585
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 1

;; QUESTION SECTION:
;ungl.org.                      IN      A

;; ANSWER SECTION:
ungl.org.               38400   IN      A       188.165.34.72

;; AUTHORITY SECTION:
ungl.org.               38400   IN      NS      ns.kimsufi.com.
ungl.org.               38400   IN      NS      r29901.ovh.net.

;; ADDITIONAL SECTION:
ns.kimsufi.com.         85529   IN      A       213.186.33.199

;; Query time: 1 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Sat Mar 13 01:04:06 2010
;; MSG SIZE  rcvd: 114

але коли я запускаю його з іншого сервера в тому ж центрі обробки даних, я отримую:

# dig @87.98.167.208 ungl.org

; <<>> DiG 9.5.1-P2.1 <<>> @87.98.167.208 ungl.org
; (1 server found)
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: REFUSED, id: 18787
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;ungl.org.                      IN      A

;; Query time: 1 msec
;; SERVER: 87.98.167.208#53(87.98.167.208)
;; WHEN: Sat Mar 13 01:01:35 2010
;; MSG SIZE  rcvd: 26

мій зонний файл для цього домену є

$ttl 38400
ungl.org.       IN  SOA r29901.ovh.net. mikey.aol.com. (
                201003121
                10800
                3600
                604800
                38400 )
ungl.org.       IN  NS  r29901.ovh.net.
ungl.org.       IN  NS  ns.kimsufi.com.
ungl.org.       IN  A   188.165.34.72
localhost.      IN  A   127.0.0.1
www             IN  A   188.165.34.72

і default.conf.options є типовим:

options {
    directory "/var/cache/bind";

    // If there is a firewall between you and nameservers you want
    // to talk to, you may need to fix the firewall to allow multiple
    // ports to talk.  See http://www.kb.cert.org/vuls/id/800113

    // If your ISP provided one or more IP addresses for stable 
    // nameservers, you probably want to use them as forwarders.  
    // Uncomment the following block, and insert the addresses replacing 
    // the all-0's placeholder.

    // forwarders {
    //  0.0.0.0;
    // };

    auth-nxdomain no;    # conform to RFC1035
    listen-on-v6 { ::1; };
    listen-on { 127.0.0.1; };
    allow-recursion { 127.0.0.1; };
};

названий.conf.local:

//
// Do any local configuration here
//

// Consider adding the 1918 zones here, if they are not used in your
// organization
// include "/etc/bind/zones.rfc1918";

zone "eugl.eu" {
         type master;
         file "/etc/bind/eugl.eu";
         notify no;
};


zone "ungl.org" {
         type master;
         file "/etc/bind/ungl.org";
         notify no;
};

Сервер працює під керуванням Ubuntu 9.10 і Bind 9, якщо хтось може пролити для цього світло, це зробить мене дуже щасливим!

Спасибі


Як виглядає розділ "Параметри" конфігурації прив'язки на сервері, який не веде себе? За замовчуванням на ubuntu, я вважаю, що це все в /etc/bind/named.conf.options
Cory J

Я оновив питання, я ще нічого не змінив у параметрах

1
Як щодо визначення зони в name.conf.local?
ktower

Додано до основної публікації

Відповіді:


18

хоча я можу викопати стару тему, я це роблю, тому що це один із найрелевантніших результатів під час пошуку в Google за "статусом запиту відмовлено".

У моєму конкретному випадку я виявив, що мені потрібно було включити allow-query { any; };до кожної зони визначення в name.conf.


Ти мій ангел-рятівник! Велике спасибі
codezombie

5

Якраз на перший погляд мені здається, що він не налаштований слухати решту світу через listen-on { 127.0.0.1; };. Вам потрібно буде додати туди відповідну IP-адресу.


Я змінив це на IP-адресу сервера в Інтернеті (188.165.34.72) і перезавантажив прив'язку, але я все одно отримую те саме повідомлення про відмову

1
Чи є локальна брандмауер на цій машині? Можливо, вам доведеться відкрити порти (53 TCP та UDP).
Джон Гарденєр

URL, здається, працює зараз, але все ще відображає такий самий статус відмови від мого іншого сервера

4

Я роблю samthing, але вкладаю параметр дозволу на запит у name.conf.options


1

NOERROR, коли він не супроводжується записом ресурсів (RR), означає, що такого запису немає, тому коли ви отримуєте відповідь NOERROR і не встановлюєте "запис" після встановлення "version" на "none", він працює як очікувалося.

Також є allow-queryверсія конфігурації з BIND9, однак я думаю, що за замовчуванням є можливість запитів з будь-якого місця.


1

У мене була точно така ж проблема (копати статус NOERROR локально, статус копання відхилено ззовні), і рішення змінило клієнтів матчу з "localhost" (що є типовим для встановлення прив'язки) на "будь-яке" (пізніше я можу дізнайтеся, що таке точний ip мого провайдера доменних iмен та обмежте його конкретним ip з мiркувань безпеки). Також я змінив ім'я перегляду з local_something на стандартне. Назва справді не має значення.

view default {
        match-clients      { any; };
        match-destinations { any; };
        include "/etc/named.rfc1912.zones";
};

Це було справді проблемою з цим бізнесом "відкопаний статус відмовився". Одразу після того, як я змінив параметр match-client, запити dig @ 12.34.56.78 mydomain.com почали вирішуватись із статусом NOERROR, і постачальник доменних імен (godaddy) негайно кеширував запис сервера імен. Оскільки мої файли зон вже були належним чином налаштовані, ім’я домену миттєво стало видно в Інтернеті.

Я досить довго стукав головою об стіну, щоб вирішити цю проблему.


1
Чи можете ви уточнити, який файл на якому комп'ютері ви модифікували?
Олексій

1

Мені довелося ввести чітке посилання на мережу, яку я хотів дозволити рекурсії. Вказання "будь-яке" не допомогло. За замовчуванням (Umbutu Server 15) у цьому /etc/bind/named.conf.optionsфайлі для цього запису не було .

recursion yes;  << needed to add this but did not resolve greater prob
allow-recursion { any; }; << this did not work
allow-recursion { 10.1.0.0/16; }; << this did the trick

0

Ви впевнені, що надсилаєте запити в потрібне місце?

Ваш сервер на 188.165.34.72 ( r29901.ovh.net) працює з BIND 9.5.1-P2.1 - він відповідає на запит дляdig @ip version.bind ch txt як очікувалося, за допомогою цього рядка відповідей.

Однак IP-адреса, яку ви цитували вище, повертає NOTIMPLпомилку, навіть якщо у цитованому конфігураційному файлі немає нічого про *.bindпсевдо-записи, а BIND вимагає явної конфігурації для їх відключення.


NOTIMPL не реалізовано? Чому б у ньому були функції, які не реалізовані за умовчанням?

Якщо це BIND, є опція під назвою "версія", яка повідомляє йому надсилати вказаний користувачем значення для цього запиту або "none", щоб відключити функцію. Якщо параметр не визначений, він повертає фактичний номер версії. Ви не цитували жодної такої опції, що змушує мене підозрювати, що ви не розмовляєте з правильним сервером. Дивіться isc.org/software/bind/documentation/arm95
Alnitak

Я перевірив далі - у моєму вікні MacOSX з прив’язкою 9.6.0, повернення "версія" на "немає" повертається, NOERRORа не NOTIMPLпомилка, яку я бачу з цього IP-адреси.
Альнітак

0

Тому що ви дозволяєте рекурсію тільки з вашої локальної машини.

Якщо ви хочете дозволити додати відповідну ip адресу і вам потрібно змінити значення прослуховування будь-якому адаптеру з вашої локальної машини або поставити ip адресу інтерфейсу локальної машини:

listen-on { any;} or x.x.x.x;
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.