DEBIANでBIND9を使用してLANDNSサーバーを構成しようとしています。
コンテキスト:ネットワークマスク:255.255.0.0、ネットワークIP:10.1.xxx.xxx
私はパブリックドメインを所有していますexample.com、外部によって管理されていますNSそして私の目的はすべてのサブドメインを管理することですlan.example。 com、例:アドレスnode1.lan.example.comはIP10.1.1.1のコンピューターです
現在の構成
/etc/bind/named.conf:
include "/etc/bind/named.conf.options";
include "/etc/bind/named.conf.local";
include "/etc/bind/named.conf.default-zones";
/etc/bind/named.conf.options:
options {
directory "/var/cache/bind";
forwarders {
EXTERNAL_DNS_NAMESERVERS;
};
dnssec-validation auto;
recursion yes;
allow-query { 10/24; 127.0.0.1; };
allow-recursion { 10/24; 127.0.0.1; };
auth-nxdomain no; # conform to RFC1035
listen-on-v6 { any; };
listen-on port 53 { 127.0.0.1; 10.1.0.2; } ;
};
/etc/bind/named.conf.local:
zone "lan.example.com" {
type master ;
allow-query { 10/24; 127.0.0.1; };
file "/etc/bind/zone.lan.example.com" ;
};
zone "0.1.10.in-addr-arpa" {
type master ;
notify no ;
allow-query { 10/24; 127.0.0.1; };
file "/etc/bind/zone.0.1.10.in-addr.arpa" ;
} ;
zone "2.1.10.in-addr-arpa" {
type master ;
notify no ;
allow-query { 10/24; 127.0.0.1; };
file "/etc/bind/zone.2.1.10.in-addr.arpa" ;
} ;
/etc/bind/named.conf.default-zones:
zone "." {
type hint;
file "/etc/bind/db.root";
};
zone "localhost" {
type master;
file "/etc/bind/db.local";
};
zone "127.in-addr.arpa" {
type master;
file "/etc/bind/db.127";
};
zone "0.in-addr.arpa" {
type master;
file "/etc/bind/db.0";
};
zone "255.in-addr.arpa" {
type master;
file "/etc/bind/db.255";
};
/etc/bind/zone.lan.example.com:
; zone.lan.example.com BIND9 configuration file.
;
$TTL 604800
@ IN SOA ns.lan.example.com. root.localhost. (
201212041 ; serial no. (increment by +1 after every edit!)
604800 ; refresh
86400 ; retry after failure
2419200 ; expired
604800); TTL negative cache
;
@ IN NS ns.lan.example.com.
@ IN A 127.0.0.1
;
; A records - Local machines and addresses:
; Servers:
router IN A 10.1.0.1 ; Router
ns IN A 10.1.0.2 ; NS Server
server IN A 10.1.0.2 ; Server
media IN A 10.1.0.3 ; Media Server
;
; Workstations:
node1 IN A 10.1.1.1 ; node1
問題:
client 10.1.0.1#50808: query (cache) 'a.root-servers.net/A/IN' denied
client 10.1.0.2#59641: query (cache) 'example.com/A/IN' denied
client MY_EXTERNAL_IP#37853: query 'server.lan.example.com/A/IN' denied
client MY_EXTERNAL_IP#56367: query (cache) 'superuser.com/A/IN' denied
ネームサーバーns.lan.example.comでserver.lan.example.comを掘ろうとすると、すべてが機能します。別のマシンからこれを行おうとすると、失敗します。
どうすればこれを解決できますか?
前もって感謝します
10/24
からのクエリを許可するようにBINDを構成しました。 BINDがそれを有効なネットマスクとして受け入れるかどうかはわかりませんが、受け入れる場合は、10.0.0.0/24
または10.0.0.0/255.255.255.0
に展開されます。これは一致しません10.1.0.1
。 (/24
と10.0.0.0/8
を混同しましたか?)
メモネットワークマスク:255.255.0.0、ネットワークIP:10.1.xxx.xxxによると、正しいネットワークは10.1.0.0/16
である必要があります。
前の回答は最初の送信者の問題を解決しましたが、これを行う別のより一般的な方法では、組み込みのACL「localnets」と「localhost」を使用できます。例:
allow-recursion { localnets; } ;
localhostはかなり自明です(127.0.0.1または:: 1に加えて、BINDが使用しているすべてのネットワークインターフェイスの構成済みアドレスが含まれていることを除きます(したがって、127.0.0.1とローカルホストに割り当てられたすべてのアドレス)。
localnetsは、ローカルインターフェイスの構成に基づいており、アドレスとネットマスクから派生しています。
サーバーのインターフェースがプライベートアドレス空間にnotであるが、インターネットでルーティング可能である場合は、おそらく「ローカルネット」を使用したくないでしょう。