ルーターにDNSサーバーのIPアドレスが設定されているので、そこに聞きに行くという動作を変更しない。
その前に内部のPCの名前を解決してほしい。
内部向けのDNSサーバーが止まっている場合はルーターに聞きに行く。
### dnsの設定を修正します。
$ grep dns /etc/conf.d/net dns_search_br0="localnet" dns_servers_br0="192.168.0.100 192.168.0.1" $ cat /etc/resolv.conf # Generated by net-scripts for interface br0 search localnet nameserver 192.168.0.100 nameserver 192.168.0.1
インターネットプロトコル(TCP/IP)のプロパティ ... 優先DNSサーバー(P): 192 . 168 . 0 . 100 代替DNSサーバー(A): 192 . 168 . 0 . 1
### named.confの設定をします。
$ /usr/bin/sudo /usr/bin/rcsdiff -u /etc/config-archive/etc/bind/named.conf,v /etc/bind/named.conf
===================================================================
RCS file: /etc/config-archive/etc/bind/named.conf,v
retrieving revision 1.1
diff -u -r1.1 /etc/bind/named.conf
--- /etc/bind/named.conf 2011/06/21 09:31:08 1.1
+++ /etc/bind/named.conf 2011/06/21 20:09:49
@@ -24,6 +24,7 @@
acl "trusted" {
127.0.0.0/8;
::1/128;
+ 192.168.0.0/24;
};
options {
@@ -34,7 +35,7 @@
//bindkeys-file "/etc/bind/bind.keys";
listen-on-v6 { ::1; };
- listen-on { 127.0.0.1; };
+ listen-on { 192.168.0.100; };
allow-query {
/*
@@ -74,18 +75,17 @@
* Uncomment the following lines to turn on DNS forwarding, and change
* and/or update the forwarding ip address(es):
*/
-/*
- forward first;
+ forward only;
forwarders {
// 123.123.123.123; // Your ISP NS
// 124.124.124.124; // Your ISP NS
// 4.2.2.1; // Level3 Public DNS
// 4.2.2.2; // Level3 Public DNS
- 8.8.8.8; // Google Open DNS
- 8.8.4.4; // Google Open DNS
+ // 8.8.8.8; // Google Open DNS
+ // 8.8.4.4; // Google Open DNS
+ 192.168.0.1;
};
-*/
//dnssec-enable yes;
//dnssec-validation yes;
@@ -94,7 +94,6 @@
//query-source address * port 53;
};
-/*
logging {
channel default_log {
file "/var/log/named/named.log" versions 5 size 50M;
@@ -106,17 +105,18 @@
category default { default_log; };
category general { default_log; };
};
-*/
include "/etc/bind/rndc.key";
controls {
inet 127.0.0.1 port 953 allow { 127.0.0.1/32; ::1/128; } keys { "rndc-key"; };
};
+/*
zone "." in {
type hint;
file "/var/bind/root.cache";
};
+*/
zone "localhost" IN {
type master;
@@ -163,3 +163,15 @@
// allow-notify { <MASTER>; };
// notify no;
//};
+
+zone "localnet" IN {
+ type master;
+ file "pri/localnet.zone";
+ notify no;
+};
+
+zone "0.168.192.in-addr.arpa" IN {
+ type master;
+ file "pri/0.168.192.zone";
+ notify no;
+};信頼できるネットワークに192.168.0.0/24を追加します。(allow-queryなど許可)
listenするアドレスを変更します。
$ netstat -an|grep -P ":53\s" tcp 0 0 192.168.0.100:53 0.0.0.0:* LISTEN udp 0 0 192.168.0.100:53 0.0.0.0:*
マッチしない問い合わせを192.168.0.1に渡します。
ログを取ります。
ルートサーバーへの問い合わせの設定を消します。
localnet(192.168.0.0/24)の正引き、逆引きの設定をします。
### localnetの正引きの設定をします。
$ cat /etc/bind/pri/localnet.zone
$ORIGIN localnet.
$TTL 1M
@ 1D IN SOA amdgentoo.localnet. root.amdgentoo.localnet. (
2011062101 ; serial
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
@ IN NS amdgentoo
@ IN MX 10 amdgentoo
@ IN A 192.168.0.100
router IN A 192.168.0.1
winxp IN A 192.168.0.90
amdgentoo IN A 192.168.0.100
dynabook IN A 192.168.0.110
kuroboxhg IN A 192.168.0.150
cogentoo-1 IN A 192.168.0.200
centos5 IN A 192.168.0.210
vm002-debian IN A 192.168.0.211
fedora IN A 192.168.0.212
ubuntu IN A 192.168.0.213
freebsd IN A 192.168.0.214
openbsd49 IN A 192.168.0.216
scientific IN A 192.168.0.217省略せずに書いた場合、下記などの様になります。
router.localnet. 1M IN A 192.168.0.1
「MX 10」の部分の10は優先順位です。複数書く場合で予備の場合「MX 20」などで設定します。
$ORIGINは書かなくても、この場合は同じです。
変更した場合serialを変更しないと引けない場合があります。
別名を登録する場合、下記のようになります。
debian-squeeze IN CNAME vm002-debian fedora15 IN CNAME fedora freebsd82 IN CNAME freebsdAレコードで指定されたドメイン名のみに利用可能、などの自分ルールを決めたほうが良いです。
### localnetの逆引きの設定をします。
$ cat /etc/bind/pri/0.168.192.zone
$ORIGIN 0.168.192.in-addr.arpa.
$TTL 1M
@ 1D IN SOA amdgentoo.localnet. root.amdgentoo.localnet. (
2011062105 ; serial
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
@ IN NS amdgentoo.localnet.
1 IN PTR router.localnet.
90 IN PTR winxp.localnet.
100 IN PTR amdgentoo.localnet.
110 IN PTR dynabook.localnet.
150 IN PTR kuroboxhg.localnet.
200 IN PTR cogentoo-1.localnet.
210 IN PTR centos5.localnet.
211 IN PTR vm002-debian.localnet.
212 IN PTR fedora.localnet.
213 IN PTR ubuntu.localnet.
214 IN PTR freebsd.localnet.
216 IN PTR openbsd49.localnet.
217 IN PTR scientific.localnet.省略せずに書いた場合、下記などの様になります。
250.0.168.192.in-addr.arpa. 1M IN PTR abc.localnet.
### テストします。
dig @192.168.0.100 amdgentoo.localnet dig @192.168.0.1 amdgentoo.localnet dig amdgentoo.localnet ping -c1 amdgentoo.localnet ping -c1 amdgentoo dig -x 192.168.0.100 dig -x 192.168.0.250
「$TTL 1M」はテスト用や内部向けのDNS用の短い時間の設定です。
@で始まる行の@はlocalnet.などの省略です。
直前の行の@などの1カラム目が同じ場合、@などが省略されている場合があります。
たぶんドメイン名などの最後の"."はそこで名前が終わりと言う意味で省略名との区別に必要です。
SOAレコードのメールアドレス(root.amdgentoo.localnet.など)がroot@amdgentoo.localnetと書かない理由を知りません。
滅多に落とさないサーバーが内部向けのDNSサーバーの場合で、自前でDNSキャッシュしたい場合named.confのforwardersの部分が必要ありません。
error: managed-keys-zone ./IN: loading from master file managed-keys.bind failed: file not found $ sudo touch /var/bind/managed-keys.bind
メールアドレスの設定の追加。
@ IN MX 10 amdgentoo => root@localnet => amdgentoo.localnetのrootに届く。 amdgentoo IN MX 10 amdgentoo => root@amdgentoo.localnet => amdgentoo.localnetのrootに届く。 # 省略は$ORIGINなどの設定によって違う。省略しない場合。 localnet. IN MX 10 amdgentoo.localnet. amdgentoo.localnet. IN MX 10 amdgentoo.localnet.
### 参考URL。
http://www.kozupon.com/bind/forward_err.html
http://www.jitaku-server.net/bind_intro.html
http://dns2007.seesaa.net/article/32695498.html
http://forum.parallels.com/showthread.php?t=108519
http://epa.scitec.kobe-u.ac.jp/~itpass/hiki/hiki.cgi?%5BMemo2010%5D%5BITPASS%5D+tako+%B9%BD%C3%DB%BA%EE%B6%C8%A5%ED%A5%B0+5+%28DNS%29
http://ie00010.blogspot.com/2011/02/bind-973dnssec.html
http://www.atmarkit.co.jp/flinux/rensai/bind902/bind902b.html
http://www.atmarkit.co.jp/fnetwork/dnstips/031.html
http://honana.com/bind/setting.html
http://www.atmarkit.co.jp/fwin2k/win2ktips/592nslookupsoa/nslookupsoa.html
http://www.atmarkit.co.jp/fnetwork/dnstips/014.html
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=23435&forum=11
http://e-words.jp/w/E6ADA3E5BC95E3818D.html
http://www.isc.org/software/bind/documentation/arm95
http://www.aconus.com/~oyaji/suse/bind_ddns_suse.htm
0 件のコメント:
コメントを投稿