Привет всем :) Я попытался настроить свой собственный 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, это может быть небольшие ошибки в файлах. [тысяча сто двадцать девять] 1130 Кто-нибудь знает, что я могу здесь делать неправильно? :) Я ценю любую помощь:)
Так передача хорошо работает. Вещи в Ваших конфигурационных файлах действительно выглядят немного нечетными мне. Обратите внимание, что я никогда не мог заставить вещи работать с $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
Таким образом, я наконец нашел решение своей собственной проблемы в/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";
};
я чувствую себя довольно глупым, но по крайней мере я могу разрешить адреса и имена хостов.