Fedora Core 4 で書き換え(2005.08.07)
DNSサーバ(Linux)
名前解決
--------------------------------------------------------------------------------
/etc/resolve.conf
リゾルバという名前解決モジュールが使用する参照ファイル
search sen.zive.net        ホスト名のみの問い合わせに対して、付加するドメイン名
domain sen.zive.net        ドメイン名
nameserver 192.168.0.16      DNSサーバ
nameserver 211.***.**.***     プロバイダーのDNS
--------------------------------------------------------------------------------
/etc/host.conf
リゾルバが名前解決する方法を指定
order   hosts,bind       左から順に指定された方法で名前解決
multi   on           ホスト名が複数のIPアドレスを持っていた場合の対応
--------------------------------------------------------------------------------
/etc/hosts
IPアドレスに対応したホスト名
127.0.0.1   localahost localhost.localdomain
192.168.0.16  sen.zive.net sen.or.tp

--------------------------------------------------------------------------------
DNSの設定は、/etc/named/chroot/の中で行います
これは、ネームサーバのセキュリティ強化のためで
namedがroot権限で動作していた場合、namedが乗っ取られると同時にroot権限を奪われます
このため、namedをchroot環境で動作させることにより、セキュリティを保ちます
Fedora Coreでは、bind-chrootがインストールされていれば、chrootディレクトリ内で設定ができます

/var/named/chroot/etc/named.conf 
このファイルでその他の設定ファイルの場所を示したり、bind 全体の設定を行います。

具体的には、zone に対するファイルをどこにおくだとか相対パスのための設定などがあります。
つまり、設定ファイルがどこにあるかを設定するのがこのファイルの役割といえます。

下記を追加する

// 正引きファイルの場所
zone "sen.zive.net" {
        type master;
        file "sen.zive.net.zone";
        allow-update { none; };
};

// 逆引きファイルの場所(ipが逆順になっている 192.168.0.16の場合)
zone "0.168.192.in-addr.arpa" {
        type master;
        file "0.168.192.in-addr.arpa.zone";
};

/var/named/chroot/var/named/sen.zive.net.zone 正引き ゾーンファイル
$TTL    86400
@       IN      SOA     sen.zive.net.  root.sen.zive.net.(
                                      2004071401 ; Serial
                                      28800      ; Refresh
                                      14400      ; Retry
                                      3600000    ; Expire
                                      86400 )    ; Minimum
              IN      NS        sen.zive.net.	; Name Server
              IN      MX 10     sen.zive.net.   ; Mail Server
sn            IN      A         192.168.0.16	; subドメイン
guest         IN      A         192.168.0.16	; subドメイン
vd            IN      A         192.168.0.17	; 他のPCのsubドメイン
www           IN      CNAME     sn				; wwwsubドメインを snと同じにする


/var/named/chroot/var/named/0.168.192.in-addr.arpa.zone 逆引き ゾーンファイル
$TTL    86400
@       IN      SOA     sen.zive.net.  root.sen.zive.net.(
                                      2004071401 ; Serial
                                      28800      ; Refresh
                                      14400      ; Retry
                                      3600000    ; Expire
                                      86400 )    ; Minimum
              IN      NS      sen.zive.net.     ; Name Server
16            IN      PTR     sn.sen.zive.net.  ; Sub domain
17            IN      PTR     vd.sen.zive.net.  ; Sub Domain

--------------------------------------------------------------------------------
正引き ゾーンファイルの記述

  SOA (Start Of Authoritey) : ゾーン情報の指定(Zoneファイルの最初に置かれる)
                  @ IN SOA <ネームサーバ> <メールアドレス>
                    メールアドレスは、@の代わりに「.」を使用する 

  NS (Name Service)     : 対象ドメインのゾーン情報をもっているDNSサーバー指定
                  (マスタとスレーブの最低2つ必要)
                  <ドメイン名> IN NS <ネームサーバ>

  MX (Mail Exchange)     : 対象ドメインのメール受信サーバー指定
                  <ドメイン名> IN MX <順位> <メールサーバ>
                   (順位は、10,20,30でそれぞ第1メールサーバ、第2・・)

  A (Address)        : 正引きデータ指定(ホスト名をIPアドレスにマッピングする)
                  <ホスト名> IN A <IPアドレス>

  CNAME (Canonical Name)   : ドメインの別名指定
                  <別名> IN CNAME <ホスト名>

--------------------------------------------------------------------------------
逆引き ゾーンファイルの記述

  SOA (Start Of Authoritey) : ゾーン情報の指定(Zoneファイルの最初に置かれる)
                  @ IN SOA <ネームサーバ> <メールアドレス>
                    メールアドレスは、@の代わりに「.」を使用する 

  NS (Name Service)     : 対象ドメインのゾーン情報をもっているDNSサーバー指定
                  (マスタとスレーブの最低2つ必要)
                  <ドメイン名> IN NS <ネームサーバ>

  A (Address)        : 指定されたドメインに対してネットマスクを指定する
                  <ドメイン名> IN A <ネットマスク>
                  ドメイン名の指定方法は、IPアドレスを逆に並べ、最後に
                   .in-addr.arpaをつける

  PTR(Pointer)          逆引きデータ指定(IPアドレスをホスト名に変換する)
                  <IPアドレス> IN PTR <ホスト名>
                  (IPアドレスはネットマスクの桁のみ指定)
--------------------------------------------------------------------------------
DNSサーバの起動
# /etc/rc.d/init.d/named start 
--------------------------------------------------------------------------------
DNSサーバの動作確認
# nslookup
> ホスト名 (正引き)
> IP (逆引き)
> exit

# nslookup
> set type=mx        MXレコードのテスト
> ホスト名
>  net type=a        Aレコードのテスト
> exit


サンプル
resolve.conf
named.conf
正引き(sen.zive.net)zoneファイル
逆引き(0.168.192)zoneファイル
利用するwindowsPCの設定
 dnsサーバの第1番目に、dnsサーバのIPアドレスを設定する
  第1番目のdnsサーバ
  nslookupでの参照が可能となる


外向きDNSと内向きDNS    外部DNS   match-clients { any; };    内部DNS   match-clients { 192.168.0.0/24; }; view "inside" { match-clients { 192.168.0.0/24; 127.0.0.1; }; recursion yes; zone "." { type hint; file "named.ca"; }; // 127.0.0のゾーン情報 zone "0.0.127.in-addr.arpa" { type master; file "localhost.rev"; }; // 192.168.0のゾーン情報 zone "0.168.192.in-addr.arpa" { type master; file "lan.rev"; }; }; view "outside" { match-clients { any; }; // 再帰問い合わせ禁止 recursion no; zone "sen.zive.net" { type master; file "sen.zive.net.zone"; }; };


[ホームページに戻る]  [Linux(Fedora)に戻る]