ルータにて「53 tcp/udp」を開放し、ルータ内のDNS(bind)を公開するとき、ルータ内(intranet)からとルータ外(internet)の問い合わせ(query)に対して、それぞれ違う答えを返すnamed.confの書き方。
- aclでintranetのIPアドレス範囲を指定する
- viewの条件が一致したとき、{...;}に囲われたアクションが実施される。
- 冒頭のoptionで指定したallow-queryよりも、view内の記述が優先される。
ということで、実例。
acl "intranet" {
192.168.0.0/16;
127.0.0.0/16;
localhost;
};options {
recursion yes;
allow-query { intranet; };
allow-recursion { intranet; };
allow-query-cache { intranet; };
allow-transfer { none; };
dnssec-validation no;auth-nxdomain no; # conform to RFC1035
listen-on-v6 { none; };};
view "intra" {
match-clients {
intranet;
};zone "localhost" {
type master;
file "/usr/local/etc/namedb/master/db.local";
};zone "127.in-addr.arpa" {
type master;
file "/usr/local/etc/namedb/master/db.127";
};zone "0.in-addr.arpa" {
type master;
file "/usr/local/etc/namedb/master/db.0";
};zone "0.168.192.in-addr.arpa" {
type master;
file "/usr/local/etc/namedb/master/db.192";
};zone "match.for-the.biz" {
type master;
file "/usr/local/etc/namedb/master/intra-for-the-biz_zone";
};};
view "internet" {
match-clients {
any;
};zone "match.for-the.biz" {
type master;
file "/usr/local/etc/namedb/master/for-the-biz_zone";
allow-query { any;};
};zone "197.84.176.115.in-addr.arpa" {
type master;
file "/usr/local/etc/namedb/master/for-the-biz.rev";
allow-query { any;};
};};
なお、環境は既出のようにFreeBSD/Rpi3である。
コメント