У меня есть DNS-сервер (mega.dude - 123.123.123.123), на котором запущен bind 9.4. Когда я:
dig mega.dude
Я не получаю раздела ответов.
у меня есть
nameserver 123.123.123.123
в /etc/resolv.conf
Вот мой файл зоны:
$TTL 1W
@ IN SOA mega.dude. names.mega.dude. (
2009081502 ; serial
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
NS ns1
NS ns2
MX 10 mail.mega.dude.
A 123.123.123.123
@ A 123.123.123.123
ns1 A 123.123.123.123
ns2 A 123.123.123.123
www CNAME @
mail A 123.123.123.123
Раньше это не выглядело так. Я читал, что иметь запись mx, указывающую на CNAME, - это зло. Я изменил это. Тогда я подумал, что, может быть, это также относится к NS. Так что я тоже изменил их. По-прежнему ничего хорошего. Порты открыты. Я не могу этого понять. Да кстати, все остальные зоны возвращаются нормально. Но не серверы владеют доменом. Так что я знаю, что делаю что-то глупое.
РЕДАКТИРОВАТЬ
Вот раздел моего named.conf:
zone "mega.dude" {
type master;
file "pri/mega.dude";
};
zone "123.123.123.in-addr.arpa" {
type master;
notify no;
file "pri/123.123.123";
};
Вот ответ, который я получаю от самого сервера:
$ dig mega.dude
; <<>> DiG 9.4.3-P1 <<>> mega.dude
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 25170
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;mega.dude. IN A
;; Query time: 134 msec
;; SERVER: 123.123.123.123#53(123.123.123.123)
;; WHEN: Thu Apr 1 08:02:54 2010
;; MSG SIZE rcvd: 28
И вот ответ моего ноутбука:
dig @mega.dude mega.dude
; <<>> DiG 9.4.2-P2.1 <<>> @mega.dude mega.dude
; (1 server found)
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 21361
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
;; WARNING: recursion requested but not available
;; QUESTION SECTION:
;mega.dude. IN A
;; Query time: 51 msec
;; SERVER: 123.123.123.123#53(123.123.123.123)
;; WHEN: Thu Apr 1 08:20:19 2010
;; MSG SIZE rcvd: 28
В query.log есть:
01-Apr-2010 08:02:54.192 client 123.123.123.123#33160: query: mega.dude IN A +
Где еще я должен проверить?
РЕДАКТИРОВАТЬ
Я внес изменения, предложенные Альнитаком - по крайней мере, я думаю, что понял:
$TTL 1W
@ IN SOA mega.dude. names.mega.dude. (
2009081502 ; serial
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
IN NS ns1
IN NS ns2
IN MX 10 mail
A 123.123.123.123
ns1 A 123.123.123.123
ns2 A 123.123.123.123
www A 123.123.123.123
mail A 123.123.123.123
Теперь у меня есть авторитетный раздел, но нет раздела ответов:
dig mega.dude
; <<>> DiG 9.4.3-P1 <<>> mega.dude
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 30264
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
;; QUESTION SECTION:
;mega.dude. IN A
;; AUTHORITY SECTION:
mega.dude. 86400 IN SOA mega.dude. names.mega.dude. 2009081502 10800 900 604800 86400
;; Query time: 0 msec
;; SERVER: 123.123.123.123#53(123.123.123.123)
;; WHEN: Thu Apr 1 08:33:50 2010
;; MSG SIZE rcvd: 70
Оказывается, проблема была в дополнительной записи.
Это работает:
@ A 210.48.255.42
Это не так:
A 210.48.255.42
Теперь я получаю полный ответ:
$ dig @mega.dude mega.dude
; <<>> DiG 9.4.3-P1 <<>> @mega.dude mega.dude
; (1 server found)
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 1029
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2
;; QUESTION SECTION:
;mega.dude. IN A
;; ANSWER SECTION:
mega.dude. 604800 IN A 123.123.123.123
;; AUTHORITY SECTION:
mega.dude. 604800 IN NS ns1.mega.dude.
mega.dude. 604800 IN NS ns2.mega.dude.
;; ADDITIONAL SECTION:
ns1.mega.dude. 604800 IN A 123.123.123.123
ns2.mega.dude. 604800 IN A 123.123.123.123
;; Query time: 0 msec
;; SERVER: 123.123.123.123#53(123.123.123.123)
;; WHEN: Thu Apr 1 15:15:58 2010
;; MSG SIZE rcvd: 112
Замечательно! Всего несколько странностей ...
Я провожу тест из http://www.checkdns.net/quickcheckdomainf.aspx
Я вижу две проблемы:
Главный DNS, определенный SOA (mega.dude), не найден среди записей NS.
Домен mega.dude не имеет MX-записей, но имеет A-запись для домена. Эта конфигурация не мега.
и дальше: http://www.mxtoolbox.com/
Я получил:
Записей не найдено. Об этом сообщает ns1.mega.dude в четверг, 1 апреля 2010 г., в 1:09:05 (GMT-5)
Прошло более 12 часов с тех пор, как я внес изменения. Я бы подумал, что я указал запись MX в моем файле зоны. А как насчет SOA? Я очень рад, что с этим в основном разобрались, но, похоже, у меня все еще есть проблемы. Вероятно, очевидно, что mega.dude - это не настоящее доменное имя. Я пока не чувствую, что меня взламывают.
Извините, что так долго задавал этот вопрос. Думаю, мне стоит отредактировать это. Или следует закрыть это и задать еще один вопрос?
Спасибо всем!
Вместо того, чтобы сообщать нам, что вы не получили раздел ответов, мы могли бы лучше диагностировать, если бы вы сказали нам, что вы сделал получить, а также код ответа.
Это может сказать нам, например, правильно ли ваш сервер обслуживает SOA
, или если вы получаете конкретное сообщение об ошибке.
FWIW, предупреждения об использовании псевдонима (т.е. CNAME
) как цель MX
или NS
записи верны - вы не должны этого делать.
Я не вижу здесь реальной ошибки конфигурации, но есть пара оптимизаций, которые вы можете сделать, чтобы вам не требовалось настоящее доменное имя. везде в файле конфигурации:
@ IN SOA ns1 names ( ... )
IN MX 10 mail
Так же www
запись также должна быть A
а не CNAME
- это не очень хорошая идея www
псевдоним для $ORIGIN
, потому что чем запрос для www IN MX?
или www IN NS?
будет возвращать те же записи, что и сам домен, когда все, что вам действительно нужно, это IP-адрес.
У вас также есть два фактически идентичные записи для основных A
запись в списке. Это ничего не должно сломать, а может это просто ошибка копирования и вставки?
РЕДАКТИРОВАТЬ Любопытно, что проблема была в дублировании записи A - возможно, в отсутствии IN
квалификатор вызвал сбой синтаксического анализа - об этом сообщат журналы запуска BIND.
Что касается дополнительных вопросов - их лучше задать в новом вопросе и, в идеале, указать фактическое доменное имя. Мы просто не можем эффективно диагностировать проблемы с живым DNS, если вы используете фиктивные данные.
РЕДАКТИРОВАТЬ2 Я исправил SOA
проблема - первая запись в SOA
должно быть именем первичного сервера имен. См. Исправленный пример выше.
Я просто хочу прояснить это, если кому-то интересно. Основная проблема была в пробел. Однако благодаря всему, что помогло разобраться в некоторых других моих ошибках. Ура!
Что произойдет, если вы запросите конкретный тип записи?
dig @mega.dude mega.dude. a
dig @mega.dude mega.dude. ns
dig @mega.dude mega.dude. mx
Ты пробовала копать землюс +trace
вариант? Он покажет весь путь делегирования, что может помочь вам выяснить, где ломается запрос.
dig mega.dude. +trace