DNS-сервер с Bind9: не удается разрешить записи DNS в файлах прямой и обратной зон
Привет всем:) Я попытался настроить свой собственный DNS-сервер с bind9, но, хотя я пробовал несколько учебных пособий, я все еще получаю ту же ошибку. Запуск bind9 работает нормально, но когда я использую nslookup
или же dig
против host1
(который существует в файле зоны пересылки) ему никогда не удается разрешить IP-адрес. У меня та же проблема с обратным файлом зоны, используя IP-адрес в качестве аргумента вместо host1
, Если я вместо этого найду, например, microsoft.com, я получу ответ.
Пример:
nslookup host1.dirks.crtn
;; Got SERVFAIL reply from 192.168.56.2, trying next server
;; Got SERVFAIL reply from 192.168.56.2, trying next server
server 127.0.0.1
address 127.0.0.1#53
** server can't fint host1.dirks.crtn.dirks.crtn: SERVFAIL
Я тоже пробовал host1
:
nslookup host1
;; Got SERVFAIL reply from 192.168.56.2, trying next server
server: 192.168.56.2
address 192.168.56.2#53
** server can't find host1: NXDOMAIN
С microsoft.com:
nslookup microsoft.com
server: 192.168.56.2
address: 192.168.56.2#53
Non-authoritative answer:
name: microsoft.com
address: 134.170.188.221
name: microsoft.com
address 134.170.185.46
Мои текущие файлы:
Файл /etc/bind/named.conf.options:
options {
directory "/var/cache/bind";
recursion yes;
forwarders {
8.8.8.8;
8.8.4.4;
};
allow-query {
192.168.56.0/24;
};
allow-transfer {
192.168.56.0/24;
};
};
Файл /etc/bind/named.conf.local:
zone "dirks.crtn" {
type master;
file "etc/bind/zones/dirks.crtn.db";
};
zone "56.168.192.in-addr.arpa" {
type master;
file "etc/bind/zones/rev.56.168.192.in-addr.arpa";
};
Файл зоны пересылки - /etc/bind/zones/dirks.crtn.db:
$ORIGIN .
$TTL 907200 ; 1 week 3 days 12 hours
dirks.crtn IN SOA filtjener.dirks.crtn. webmaster.dirks.crtn. (
1263527838 ; serial
10800 ; refresh
3600 ; retry (1 hour)
604800 ; expire (1 week)
38400 ; minimum (10 hours 40 minutes)
)
; name server - NS records
NS filtjener.dirks.crtn.
; name server - A records
filtjener.dirks.crtn. A 192.168.56.2
$ORIGIN dirks.crtn.
host1 A 192.168.56.21
host2 A 192.168.56.22
host3 A 192.168.56.23
Файл обратной зоны - /etc/bind/zones/rev.56.168.192.in-addr.arpa:
$TTL 907200 ; 1 week 3 days 12 hours
@ IN SOA filtjener.dirks.crtn. webmaster.dirks.crtn. (
1263187356 ; serial
10800 ; refresh (3 hours)
3600 ; retry (1 hour)
60400 ; expire (1 week)
38400 ; minimum (10 hours 40 minutes)
)
NS filtjener.dirks.crtn.
; PTR records
21 PTR host1.dirks.crtn.
22 PTR host2.dirks.crtn.
23 PTR host3.dirks.crtn.
Файл /etc/resolvconf/resolv.conf.d/head:
search dirks.crtn
nameserver 192.168.56.2
Файл /etc/network/interfaces:
auto lo
iface eth1 inet static
address 192.168.56.2
netmask 255.255.255.0
Я проверил файлы:
sudo named-checkconf
sudo named-chekckzone rev.56.168.192.in-addr.arpa /etc/bind/zones/rev.56.168.192.in-addr.arpa
zone rev.56.168.192.in-addr.arpa/IN: loaded serial 1263187356
OK
sudo named-checkzone dirks.crtn /etc/bind/zones/dirks.crtn.db
zone dirks.crtn/IN: loaded serial 1263527838
OK
и перезапустили bind9:
sudo /etc/init.d/bind9 restart
* Stopping domain name service... bind9 [ok]
waiting for pid 2765 to die
* starting domain name service... bind9 [ok]
Я использую VirtualBox и, поскольку мне не удалось скопировать и вставить из VirtualBox, это может быть небольшие ошибки в файлах.
Кто-нибудь знает, что я тут не так делаю?:) Я ценю любую помощь:)
2 ответа
Таким образом, я наконец нашел ответ на свою проблему в /etc/bind/named.conf.local. Я забыл добавить "/" перед "и т. Д.".
мой метод:
zone "dirks.crtn" {
type master;
file "etc/bind/zones/dirks.crtn.db";
};
правильный путь:
zone "dirks.crtn" {
type master;
file "/etc/bind/zones/dirks.crtn.db";
};
Я чувствую себя немного глупо, но, по крайней мере, я могу определить адреса и имена хостов.
Так что пересылка работает нормально. Вещи в ваших конфигурационных файлах выглядят немного странно для меня. Обратите внимание, что я никогда не мог заставить вещи работать с $ORIGIN
, Я уверен, что так или иначе это работает, только не для меня.
За dirks.crtn.db
пытаться:
$TTL 38400
@ IN SOA filtjener.dirks.crtn. webmaster.dirks.crtn. (
1263527838 ; serial
10800 ; refresh
3600 ; retry
604800 ; expire
38400 ) ; Negative Cache TTL
IN A 192.168.56.2
;
; name server - NS records
@ IN NS filtjener.dirks.crtn.
; name server - A records
filtjener IN A 192.168.56.2
host1 IN A 192.168.56.21
host2 IN A 192.168.56.22
host3 IN A 192.168.56.23
За rev.56.168.192.in-addr.arpa
пытаться:
$TTL 38400
@ IN SOA filtjener.dirks.crtn. webmaster.dirks.crtn. (
1263187356 ; serial
38400 ; refresh
3600 ; retry 1 hour
60400 ; expire 1 week
38400 ) ; negative cache TTL
;
@ IN NS filtjener.dirks.crtn.
2 IN PTR filtjener.dirks.crtn.
21 IN PTR host1.dirks.crtn.
22 IN PTR host2.dirks.crtn.
23 IN PTR host3.dirks.crtn.
Вам не нужно использовать sudo
с named-checkzone
и обратите внимание, что для проверки обратной зоны команда:
named-checkzone 56.168.192.in-addr.arpa rev.56.168.192.in-addr.arpa