FreeBSD/BIND8 の変更点

  • 追加された行はこの色です。
  • 削除された行はこの色です。
  • FreeBSD/BIND8 へ行く。

*''BIND8を使う'' [#g3a0a13d]
BIND8を使いDNSサーバを立ててみる~

+[[''ソースを持ってくる''>#A]]
+[[''ソースの展開''>#B]]
+[[''インストール''>#C]]
+[[''設定ファイルを編集''>#D]]
+[[''/etc/namedbの編集''>#E]]
+[[''各ゾーンファイルの編集''>#F]]
+[[''起動する''>#G]]

#br

**''ソースを持ってくる''&aname(A); [#be47e0c6]
ISC http://www.isc.org より最新のtarballをダウンロードする。&br;
最新はbind8.4.6(2005年6月3日現在)
 > wget ftp://ftp.isc.org/isc/bind/src/8.4.6/bind-src.tar.gz

**''ソースの展開''&aname(B); [#u5bab4b9]
 > tar zxvf bind-src.tar.gz

**''インストール''&aname(C); [#zcdbc2fa]
 > cd ./src
 > make  
 > su
 # make install

**''設定ファイルを編集(resolv.cnf,host.conf,hosts)''&aname(D); [#dd24a144]
▼ネームサーバの問い合わせ順を設定する
 # vi resolv.conf
 ---------------------------------
 domain	s-matsui.com
 nameserver	127.0.0.1
 nameserver	xxx.yyy.zzz.com
 nameserver	aaa.bbb.ccc.ne.jp
 ---------------------------------
▼hostsを設定する
 #vi /etc.hosts
 ---------------------------------
 ::1                     localhost.仮名.ne.jp localhost
 127.0.0.1              localhost.仮名.ne.jp localhost
 192.168.1.2            ns.仮名.ne.jp ns
 192.168.1.2            ns.仮名.ne.jp.
 ---------------------------------
▼/etc/host.conf編集。
 hostsとbindとnisとどれを先に検索して名前解決するか。
 # vi /etc/host.conf
 ---------------------------------
 # $FreeBSD: src/etc/host.conf,v 1.6 1999/08/27 23:23:41 peter Exp $
 # First try the /etc/hosts file
 hosts
 # Now try the nameserver next.
 bind
 # If you have YP/NIS configured, uncomment the next line
 # nis
 ---------------------------------

**''/etc/named.confの設定''&aname(E); [#l49c5aeb]
記述が4つの部分に分かれているのがわかるかと思います。~
最初が、ローカルアドレスの正引きファイル定義、以降、順に、ローカルアドレスの逆引きファイル定義、~
グローバルアドレスの正引きファイル定義、グローバルアドレスの逆引きファイル定義です。~
~
allow-update、allow-transfer、allow-query などと記述しているところは、その正引き~逆引きを誰に許可するかの定義です。~
ローカルアドレスの部分は、外から見えないようにしなければならないので、許可するアドレスを~
自分の管理しているアドレスの範囲内だけにしてあります。~
逆に、グローバルアドレスの部分は、インターネット上で正規に送受信するためのものですから~
世界中どこからでも見えるようにしてあります。~
~
注意して欲しいのは、逆引きファイルの定義の zone 行の部分です。逆引き用ですから、~
~
IPアドレスを逆に記述します。~
逆といっても、数字を完全に逆にするわけではないです。初心者がよく陥る間違いなのですが、~
ローカルを見ればわかるかと思いますが 192.168.0.0 の逆を 0.168.192と書いてあります。~
これはローカルアドレスを 192.168.0.0 から 192.168.255.255 まで使うわけなので、 ~
0.0.168.192 とは書いていないのです。~
また、4つずつに区切った部分を逆転させるだけなので、決して 0.861.291 などとすべての数字を~
反対から書いてはいけません。~
 options {
     directory "/etc/namedb";
 };
 
 zone "." {
     type hint;
     file "named.root";
 };
 
 zone "0.0.127.IN-ADDR.ARPA" {
     type master;
     file "localhost.rev";
 };
 
 zone "local.仮名.ne.jp" {
     type master;
     file "local.zone";
     allow-transfer {
         127.0.0.1;
         xxx.yyy.zzz.0/29;
         192.168.0.0/24;
     };
     allow-query {
         127.0.0.1;
         xxx.yyy.zzz.0/29;
         192.168.0.0/24;
     };
 };
 
 zone "0.168.192.in-addr.arpa" {
     type master;
     file "local.rev";
     allow-transfer {
         127.0.0.1;
         xxx.yyy.zzz.0/29;
         192.168.0.0/24;
     };
     allow-query {
         127.0.0.1;
         xxx.yyy.zzz.0/29;
         192.168.0.0/24;
     };
 };
 
 zone "仮名.ne.jp" {
     type master;
     file "仮名.zone";
     allow-update   { none; };
     allow-transfer { any; };
     allow-query    { any; }; 
 
 };
 
 zone "0.zzz.yyy.xxx.in-addr.arpa" {
     type master;
     file "仮名.rev";
     allow-update   { none; };
     allow-transfer { any; };
     allow-query    { any; };
 };
**''各ゾーンファイルの作成''&aname(F); [#u7755219]
bindはアプリケーション名はBINDですが、実際のプログラムの名前はnamedと言います。~
それでBIND8.xでは環境設定ファイルは/etc/namedb/というディレクトリの配下にある以下のファイルです。~
/etc/namedb/named.conf  ゾーンファイルのとアドレスの定義づけ ~
/etc/namedb/localhost.rev  ループバックアドレスの逆引き定義ファイル ~
/etc/namedb/local.zone  ローカルアドレスの正引き定義ファイル ~
/etc/namedb/local.rev  ローカルアドレスの逆引き定義ファイル ~
/etc/namedb/仮名.zone  グローバルアドレスの正引き定義ファイル~ 
/etc/namedb/仮名.rev  グローバルアドレスの逆引き定義ファイル~
~
実際に、ゾーンファイルや設定ファイルを記述するのはこのディレクトリになります。~
これはOSの導入時に既に作成され、named.conf named.root の2つの設定ファイルと、~
リバースを作成するためのファイル3つが用意されています。~
▼localhost.revの作成~
 # cd /etc/namedb
 # sh make-localhost
最初に行うことは、上記のようにシェルを実行し、localhost.rev 等を自動生成させることです。~
生成されれば、プロトのデータとシェルは不要になるので削除してしまいましょう。~
 # rm PROTO.localhost-v6.rev PROTO.localhost.rev make-localhost
▼mydomain.co.jp.revファイル~
 $TTL 3600
 @       IN      SOA     vaio.mydomain.co.jp. root.mydomain.co.jp.  (
                                 2000120901  ; Serial
                                 3600        ; Refresh
                                 300         ; Retry
                                 3600000     ; Expire
                                 3600 )      ; Minimum
 ;
         IN      NS      vaio.mydomain.co.jp.
 ;
 1       IN      PTR     vaio.mydomain.co.jp.
 11      IN      PTR     Dynabook.mydomain.co.jp.
 15      IN      PTR     ValueStar.mydomain.co.jp.
 20      IN      PTR     ThinkPad.mydomain.co.jp.
 99      IN      PTR     BIBLO.mydomain.co.jp.
 100     IN      PTR     AccessPoint.mydomain.co.jp
▼mydomain.co.jp.zoneファイル~
 $TTL 3600
 @ IN SOA vaio.mydomain.co.jp. root.mydomain.co.jp. (
                                 2000120901  ; Serial
                                 3600        ; Refresh
                                 300         ; Retry
                                 3600000     ; Expire
                                 3600 )      ; Minimum
 ;
                    IN      NS      vaio.mydomain.co.jp.
 ;
 Dynabook          IN      A       192.168.1.11
 ValueStar          IN      A       192.168.1.15
 ThinkPad           IN      A       192.168.1.20
 BIBLO              IN      A       192.168.1.99
 AccessPoint        IN      A       192.168.1.100
 vaio               IN      A       192.168.1.1
 
 www                IN      CNAME   vaio.mydomain.co.jp.

**''起動する''&aname(G); [#s350a2ea]
設定が完了したら起動する~
 # /usr/sbin/ndc start
▼サーバ起動時に起動するようシェルを用意する。
 # vi /usr/etc/rc.d/bind.sh
 ---------------------------------------------
 /usr/sbin/ndc start
 ---------------------------------------------

-''BINDのバージョン確認''
 matsui@vaio$ dig CHAOS version.bind TXT
 
 ; <<>> DiG 8.4 <<>> CHAOS version.bind TXT
 ;; res options: init recurs defnam dnsrch no-nibble2
 ;; got answer:
 ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 44825
 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
 ;; QUERY SECTION:
 ;;      version.bind, type = TXT, class = CH
 
 ;; ANSWER SECTION:
 VERSION.BIND.           0S CH TXT       "8.4.5-REL"
 
 ;; Total query time: 2 msec
 ;; FROM: vaio.mydomain.co.jp to SERVER: 192.168.1.1
 ;; WHEN: Sat Jun  4 15:05:31 2005
 ;; MSG SIZE  sent: 30  rcvd: 64