Я не могу понять, почему мой DNS не работает должным образом, если я запускаю dig с сервера имен, он работает правильно:
# 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
и named.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; };
};
named.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, если кто-нибудь может пролить свет на это для меня, это сделало бы меня очень счастливым!
Благодарность
Ответы:
хотя я могу копать старую ветку, я делаю это потому, что это один из самых важных результатов при поиске в Google по запросу «статус запроса отклонен».
В моем конкретном случае я обнаружил, что должен был включить
allow-query { any; };
в каждое определение зоны в named.conf.источник
На первый взгляд, мне кажется, что он не настроен слушать из-за всего остального мира
listen-on { 127.0.0.1; };
. Вам нужно будет добавить соответствующий IP-адрес там.источник
Я делаю то же самое, но я добавляю опцию allow-query в named.conf.options
источник
NOERROR, когда он не сопровождается записью ресурса (RR), означает, что такой записи нет, поэтому, когда вы получаете ответ NOERROR и нет «записи» при установке «version» на «none», тогда она работает, как ожидалось.
Также есть оператор
allow-query
конфигурации с BIND9, однако я думаю, что по умолчанию разрешены запросы из любого места.источник
У меня была точно такая же проблема (локальное копирование статуса NOERROR, извлечение статуса ОТКАЗАНО извне), и решением было изменение match-клиентов с «localhost» (который используется по умолчанию для установки bind) на «any» (позже я могу выяснить, какой точный IP-адрес у моего провайдера доменных имен, и ограничить его конкретным IP-адресом из соображений безопасности). Кроме того, я изменил имя представления с local_something на default. Имя действительно не имеет значения.
Это было действительно проблемой с этим бизнесом "отказался от статуса копания". Сразу после того, как я изменил параметр match-clients, мои запросы dig @ 12.34.56.78 mydomain.com начали разрешаться со статусом NOERROR, и поставщик доменных имен (godaddy) немедленно кэшировал запись сервера имен. Поскольку мои файлы зоны уже были правильно настроены, доменное имя сразу стало видно в Интернете.
Я довольно долго бился головой о стену, чтобы решить эту проблему.
источник
Мне пришлось ввести явную ссылку на сеть, которую я хотел разрешить рекурсии. Указание «любой» не помогло. По умолчанию (Umbutu Server 15) в
/etc/bind/named.conf.options
файле не было записи для этого .источник
Вы уверены, что отправляете запросы в нужное место?
Ваш сервер в 188.165.34.72 (
r29901.ovh.net
) работает с BIND 9.5.1-P2.1 - он отвечает на запрос,dig @ip version.bind ch txt
как и ожидалось, с этой строкой ответа.Однако приведенный выше IP-адрес возвращает
NOTIMPL
ошибку, даже если в указанном вами файле конфигурации нет ничего о*.bind
псевдозаписях, и BIND требует явной настройки, чтобы отключить их.источник
NOERROR
а неNOTIMPL
ошибку, которую я вижу с этого IP.Потому что вы разрешаете рекурсию только с вашего локального компьютера.
Если вы хотите разрешить, добавьте соответствующий IP-адрес и вам нужно изменить значение прослушивания для любого адаптера с вашей локальной машины или указать IP-адрес интерфейса локальной машины:
источник