BIND 9のいくつかの構成エラー
2489 ワード
家の中の機械が多くなって、内部のDNSサーバーを配置する需要が明らかになった.
このサーバーの理想的な位置は家のルータですが、今使っているbuffalo G 300 NはDD-WRTのようなサードパーティ製ファームウェアに交換してこそサポートできるようです.そこでまずDNSサーバを新しく購入したHP Gen 8 MicroServerの上に置きます.
まず、ソフトウェアを選び、CentOS 7なので、自然にbind 9を選びます.インストール:
構成する場合は、まず割り当てるホスト名とアドレスの順方向と逆方向のマッピング関係を決定します.これにより、対応するzoneファイルが決定されます.家のネットは略称homenetで、ドメイン名は自然にhomenetです.順方向マッピングのzoneファイルは次のとおりです.
逆のマッピングファイルは次のとおりです.
対応する/etc/named.confは、次のように参加する必要があります.
ここでlisten-onとallow-queryはデフォルト値からanyに変更する必要があります.これでこのDNSサーバーはこの家のローカルエリアネットワークにサービスすることができます.allow-queryをデフォルトのlocalhostから変更するのを忘れた場合、他のホストでDNSサーバを使用する場合は正常ではありません.たとえばnslookupを使用する場合:
nslookupのエラー情報は問題の原因を比較的明確に指摘している.しかしpingコマンドを使用するとunknown hostしか教えてくれません.
このサーバーの理想的な位置は家のルータですが、今使っているbuffalo G 300 NはDD-WRTのようなサードパーティ製ファームウェアに交換してこそサポートできるようです.そこでまずDNSサーバを新しく購入したHP Gen 8 MicroServerの上に置きます.
まず、ソフトウェアを選び、CentOS 7なので、自然にbind 9を選びます.インストール:
sudo yum install -y bind
構成する場合は、まず割り当てるホスト名とアドレスの順方向と逆方向のマッピング関係を決定します.これにより、対応するzoneファイルが決定されます.家のネットは略称homenetで、ドメイン名は自然にhomenetです.順方向マッピングのzoneファイルは次のとおりです.
$TTL 1D
@ SOA master.homenet. root\.homenet ( 1 10800 3600 604800 600 )
;
; name servers
;
NS master.homenet.
;
; Address for the canonical names
;
localhost A 127.0.0.1
master A 192.168.1.50
docker A 192.168.1.51
buildbot A 192.168.1.51
mentor A 192.168.1.51
逆のマッピングファイルは次のとおりです.
$TTL 86400
@ SOA master.homenet. root\.homenet. ( 1 10800 3600 604800 600 )
;
; name servers
;
NS master.homenet.
;
; Addresses point to canonical names
;
50 PTR master.homenet.
51 PTR mentor.homenet.
51 PTR buildbot.homenet.
51 PTR docker.homenet.
対応する/etc/named.confは、次のように参加する必要があります.
options {
// listen to all NICs as it serves the whole subnet
listen-on port 53 { any; };
// allow any client on subnet to issue DNS query
allow-query { any; };
}
zone "homenet" IN {
type master;
file "named.homenet";
};
zone "1.168.192.in-addr.arpa" IN {
type master;
file "named.192.168.1";
};
ここでlisten-onとallow-queryはデフォルト値からanyに変更する必要があります.これでこのDNSサーバーはこの家のローカルエリアネットワークにサービスすることができます.allow-queryをデフォルトのlocalhostから変更するのを忘れた場合、他のホストでDNSサーバを使用する場合は正常ではありません.たとえばnslookupを使用する場合:
$ nslookup master.homenet 192.168.1.50
Server: 192.168.1.50
Address: 192.168.1.50#53
** server can't find master.homenet: REFUSED
nslookupのエラー情報は問題の原因を比較的明確に指摘している.しかしpingコマンドを使用するとunknown hostしか教えてくれません.