Назад | Перейти на главную страницу

что не так с моей конфигурацией bind9 Ubuntu 11.10?

Я выполнил несколько руководств по установке ваших собственных серверов имен, и я в значительной степени на грани своего остроумия, потому что я не могу заставить их разрешить. Обратите внимание, что фактический домен и IP-адрес были изменены в целях конфиденциальности на example.com и 192.168.0.1. Мой файл named.conf.local:

zone "example.com" {
    type master;
    file "/var/cache/bind/example.com.db";
};

zone "0.168.192.in_addr.arpa" {
  type master;
  file "/var/cache/bind/192.168.0.db";
};

Мой файл named.conf.options:

options {
    forwarders {
       192.168.0.1;
     };

    auth-nxdomain no;    # conform to RFC1035
    listen-on-v6 { any; };
};

Мой файл resolv.conf:

search example.com.
nameserver 192.168.0.1

Мой файл Forward DNS:

ORIGIN example.com.
$TTL  86400
@    IN    SOA   ns1.example.com.    root.example.com. (
    2012083101  ; Serial
    604800  ; Refresh
    86400  ; Retry
    2419200  ; Expire
    3600 )  ; Negative Cache TTL

example.com. NS    ns1.example.com.
example.com. NS    ns2.example.com.
example.com. MX    10 mail.example.com.

@        IN  A  192.168.0.1
ns1.example.com       IN  A  192.168.0.1
ns2.example.com       IN  A  192.168.0.2
mail     IN  A  192.168.0.1
server1  IN  A  192.168.0.1

gateway    IN CNAME ns1.example.com.
headoffice IN CNAME server1.example.com.
smtp       IN CNAME mail.example.com.
pop        IN CNAME mail.example.com.
imap       IN CNAME mail.example.com.
www        IN CNAME server1.example.com.
sql        IN CNAME server1.example.com.

И мой обратный DNS:

$ORIGIN 0.168.192.in-addr.arpa.
$TTL  86400
@  IN  SOA  ns1.example.com.  root.example.com. (
    2009013101  ; Serial
    604800  ; Refresh
    86400  ; Retry
    2419200  ; Expire
    3600 )  ; Negative Cache TTL

1    PTR mail.example.com.
1    PTR server1.example.com.
2    PTR ns1.example.com.

Тем не менее, когда я перезапускаю bind9 и делаю:

host ns1.example.com localhost

Я получил:

Using domain server:
Name: localhost
Address: 127.0.0.1#53
Aliases: 

Host ns1.example.com.example.com not found: 2(SERVFAIL)

Аналогично для:

host 192.168.0.1 localhost

Я получил:

;; connection timed out; no servers could be reached

Кто-нибудь знает, что происходит? Кстати, мое доменное имя «www.example.com», которое я использовал в этом вопросе, перенаправляется на серверы имен моего интернет-провайдера. Повлияет ли это на мою конфигурацию bind9? Я хочу научиться самостоятельно настраивать серверы имен для обучения, поэтому я и прохожу через все эти проблемы.

оба эти ответа хороши .. привяжите корабли с инструментом, который вы можете использовать для проверки зон / файлов конфигурации

named-checkzone domain.com /path/to/domain.com.zone

А также есть

named-checkconf 

проверить ваши конфиги.

Заменить _ с - как в in-addr.

zone "0.168.192.in_addr.arpa" {
  ...
};

Должно быть

zone "0.168.192.in-addr.arpa" {
  ...
};

Проблемные записи здесь:

ns1.example.com       IN  A  192.168.0.1
ns2.example.com       IN  A  192.168.0.2

Ваш домен добавляется в конец каждого из них, если вы не завершили их с точкой. Чтобы он заработал, измените их на:

ns1       IN  A  192.168.0.1
ns2       IN  A  192.168.0.2

Вам также необходимо внести изменения, которые дал @Zoredache, чтобы исправить ваш обратный DNS (но вы бы обнаружили эту проблему позже ...)

Перво-наперво. После запуска named убедитесь, что он все еще работает и не завершился с какими-либо ошибками. Отображается ли named в выводе ps? Что это за запись в системный журнал? Вы настроили rndc? Если да, то что означает "статус rndc"? Когда вы получаете сообщения SERVFAIL и «время ожидания соединения истекло» (как указано выше), вам необходимо убедиться, что вы разговариваете с активным сервером.

Регистрируется ли он где-нибудь еще, кроме системного журнала? (вы показываете нам только включенное подмножество вашего named.conf, поэтому я не уверен, есть ли в основном named.conf строфы регистрации, объявленные для отправки информации журнала в другое место.)

Проверьте ps, чтобы убедиться, что named запущен, и проверьте системный журнал, чтобы узнать, не жалуется ли он на что-нибудь при запуске.

Помимо этого, что вы собираетесь сделать со строкой в ​​вашей конфигурации, которая объявляет пересылки?

Когда вы будете готовы к тестированию, протестируйте, используя полные доменные имена (FQDN), например:

dig ns1.example.com. @localhost

чтобы избежать запутанных ситуаций, подобных описанным выше:

Host ns1.example.com.example.com not found: 2(SERVFAIL)

(вы можете видеть, что из-за правила поиска в вашем файле resolv.conf, «example.com» был добавлен к имени домена, которое уже содержало его ... вы можете устранить двусмысленность, используя FQDN.)