ルーターに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 件のコメント:
コメントを投稿