Я выполнил несколько руководств по установке ваших собственных серверов имен, и я в значительной степени на грани своего остроумия, потому что я не могу заставить их разрешить. Обратите внимание, что фактический домен и 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.)