みなさんこんにちは:) bind9でDNSサーバーを設定しようとしましたが、いくつかのチュートリアルを試しましたが、それでも同じエラーが発生します。 bind9の起動は正常に動作しますが、Host1
(フォワードゾーンファイルに存在する)に対してnslookup
またはDig
を使用すると、IPアドレスを解決できません。 Host1
の代わりにIPアドレスを引数として使用して、逆ゾーンファイルでも同じ問題が発生します。代わりに、たとえば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からコピーして貼り付けることができなかったため、ファイルに小さなエラーが含まれている可能性があります。
私がここで間違っているかもしれないことを誰もが知っていますか? :)私は助けに感謝します:)
だから私は最終的に/etc/bind/named.conf.localで自分の問題に対する答えを見つけました。「etc」の前に「/」を追加するのを忘れていました。
私のやり方:
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