xserver
Home クッキー及びWeb ビーコンについて





 ここでは、BIND9で導入されたVIEW機能を使用して、内向けのDNSと外向けのDNSをお手軽に構築できる方法ついて解説していきます。VIEW機能はゲートウェイ上で威力を発揮し、インターネット側からの問い合わせに対しても、LAN内からの問い合わせに対しても、きちんと名前解決を行ってくれます。また、WAN側とLAN側とで異なるドメイン名を返すといったこともでき、LAN内のみで通用するドメイン名を用いることで、プライベートアドレスを外部に対して完全に隠蔽することができるようになります。特に、自宅サーバーを構築している方にとっては、LAN内でのDNSサーバーの構築は必須ともいえるほど便利なものなので是非、VIEW機能を有効に活用し、内向けと外向けのDNSを構築してみましょう。




 今から説明することは「BINDによるDNSサーバーの構築」項を読んで、予備知識を身に付けた上での解説となりますので、DNSサーバーを初めて構築する方はまずそちらを読んでからにしてください。基本的なDNS用語の解説についてはここでは省略しています。それでは、下図に示すようなネットワーク構成を前提として解説を進めていきたいと思います。



◎想定するネットワーク構成



 具体的に説明していきます。まず、プライマリDNSサーバーに自宅のサーバーを用い(ns1.kororo.jp)、セカンダリには外部のDNSサーバー(tegtan1.interlink.or.jp)を利用します。ここまでは前回の「BINDによるDNSサーバーの構築」と一緒ですが、さらに内向け用として、フォールトトレランス(耐障害)のため、セカンダリのDNS(172.16.51.2)を設置します。この内向けセカンダリは完全に内向け用なので外部と通信を行うことは一切ありません。上図の例では、敢えてサブネットを分けて異なるネットワークにしていますが、ネットワークとネットワークの相互の通信ができているならば、DNSサーバーの位置はどこにあっても構いません。最初は、内向けのセカンダリDNSを考慮せずにとりあえずプライマリDNSサーバーの設定のみを行っていきます。上図をまとめて以下表に記します。

①ルータ1 WAN側IPアドレス:219.117.218.26
LAN側IPアドレス:172.16.50.1

②ルータ2(ローカルルータ) WAN側IPアドレス:172.16.50.30
LAN側IPアドレス:172.16.51.1

③プライマリDNSサーバー 172.16.50.2
④Webサーバー 172.16.50.4
⑤内向けセカンダリDNSサーバー 172.16.51.2
⑥メンテナンスPC 172.16.51.XXX(DHCPクライアント)
外部セカンダリDNSサーバー tegtan1.interlink.or.jp(203.141.128.33)


 次に必要となるゾーンデータファイルを以下に示します。外向け用と内向け用のファイルを作成する必要があるので前回よりファイル数が多くなります。また、内部ネットワークの172.16.50.0/27と172.16.51.0/28用に内向けの逆引き参照ゾーンファイルも合わせてふたつ作成します。

■ブートファイル named.conf
■ヒントファイル named.ca
■kororo.jp用正引き参照ゾーン(内向け) in-kororo.jp.zone
■kororo.jp用正引き参照ゾーン(外向け) ex-kororo.jp.zone
■kororo.jp用逆引き参照ゾーン(外向け) 218.117.219.in-addr.arpa.zone
■kororo.jp用逆引き参照ゾーン(内向け) 0.50.16.172.in-addr.arpa.zone
■kororo.jp用逆引き参照ゾーン(内向け) 0.51.16.172.in-addr.arpa.zone
■ループバック正引き参照ゾーン localhost.zone
■ループバック逆引き参照ゾーン 0.0.127.in-addr.arpa.zone

 
■/etc/named.confの設定例

それでは、VIEW機能を使って実際にnamed.conf を記述します。

controls {
      inet 127.0.0.1 allow { localhost; } keys { rndckey; };
};

acl localnet {
        172.16.50.0/27;
        172.16.51.0/28;
        127.0.0.1;
};

options {
        directory "/var/named";
        allow-query { localnet; };
        allow-transfer { localnet; };
        version "no version";
};

view "internal" {
        match-clients   { localnet; };
        recursion yes;

        zone "." {
             type hint;
             file "named.ca";
        };

        zone "localhost" {
             type master;
             file "localhost.zone";
        };

        zone "0.0.127.in-addr.arpa"{
             type master;
             file "0.0.127.in-addr.arpa.zone";
        };

        zone "in-kororo.jp"{
             type master;
             file "in-kororo.jp.zone";
        };

        zone "50.16.172.in-addr.arpa" {
             type master;
             file "0.50.16.172.in-addr.arpa.zone";
        };


        zone "51.16.172.in-addr.arpa" {
             type master;
             file "0.51.16.172.in-addr.arpa.zone";
        };
};

view "external" {
        match-clients   { any; };
        recursion no;

        zone "kororo.jp"{
             type master;
             file "ex-kororo.jp.zone";
             allow-transfer {
                      localnet;
                      203.141.128.33;
                      195.20.105.149;
             };
        };

        zone "218.117.219.in-addr.arpa"{
             type master;
             file "218.117.219.in-addr.arpa.zone";
             allow-transfer {
                      localnet;
                      203.141.128.33;
                      195.20.105.149;
             };
        };
};

include "/etc/rndc.key";

■viewステートメント

 view機能といっても使用方法は通常の記述方法と大差はありません。内向け用の記述と外向け用の記述を"internal"と"external"のような任意の名前に分けて記述するだけです。

■match-clients

 match-clietnsステートメントではviewの対象となるクライアントを限定するために使用します。通常は、内向けDNSの場合は、ローカルネットワークを指定し、外向けDNSは、"any"と指定し、外部ネットワークを許可します。

■recursion(再帰的問い合わせ)

 DNSサーバーには、再帰的な問い合わせという機能があります。再帰的な問い合わせを可能にしている場合、外部からの問い合わせに対して名前解決を行うようになりますが、自ホストと関係のないサーバーの問い合わせに対してわざわざ手を貸してあげる必要はありません。DNSサーバーは、あくまで自ホストのために設置しているわけであって他人の名前解決のために設置しているわけではありません。したがって、内部からの問い合わせに対しては再帰問い合わせを許可し、外部からの問い合わせに対しては拒否するようにしてください。
 また、再帰問い合わせを可能な状態にしておくと、DNSの問い合わせ結果が詐称されることもあり(キャッシュ汚染攻撃)、悪用されるとドメイン名を乗っ取られたり、DoS攻撃の対象ともなりえます。仮にDNSのキャッシュが汚染された場合、細工を施された応答を返すことで、結果的に本来のものとは全く異なる応答が返されることになります。なので、セキュリティ対策のためにも"recursion no"とすることをお勧めいたします。



ゾーンデータファイルに関しては前回説明した「BINDによるDNSサーバーの構築」の設定とほぼ同じなので説明の方は割愛させて頂きます。念のため、設定ファイル例について下記に掲載いたしましたの参考にしてください。

■kororo.jp用正引き参照ゾーン(内向け) / in-kororo.jp.zone

$TTL 86400
@             IN   SOA    ns1.kororo.jp. kororo.plala.to. (
                                20031216     ; Serial
                                10800          ; Refresh
                                3600           ; Retry
                                604800        ; Expire
                                86400 )       ; Minimum TTL

;Authoritative Name Servers
              IN   NS     ns1.kororo.jp.
              IN   NS     tegtan1.interlink.or.jp.

;Mail eXchanger
              IN   MX 10  mx.kororo.jp.
mx          IN   A        172.16.50.2

; localhost
localhost     IN   A     127.0.0.1

; network of 172.16.50.0/28
router        IN   A      172.16.50.1
ns1            IN   A      172.16.50.2
kororo        IN   A      172.16.50.3

; network of 172.16.51.0/27
opt50         IN   A      172.16.51.1
ns2            IN   A      172.16.51.2
vaio           IN   A      172.16.51.3

; CNAME
www           IN   CNAME  kororo


■kororo.jp用逆引き参照ゾーン(内向け) / 0.50.16.172.in-addr.arpa.zone

$TTL 86400
@             IN         SOA    ns1.kororo.jp. kororo.plala.to. (
                                20031215     ; Serial
                                10800          ; Refresh
                                3600           ; Retry
                                604800        ; Expire
                                86400 )        ; Minimum TTL

; Authoritative Name Servers
              IN    NS     ns1.kororo.jp.
              IN    NS     tegtan1.interlink.or.jp.

; Hosts
1             IN    PTR    router.kororo.jp.
2             IN    PTR    ns1.kororo.jp.
3             IN    PTR    kororo.kororo.jp.
30           IN    PTR    opt50.kororo.jp.


■kororo.jp用逆引き参照ゾーン(内向け) / 0.51.16.172.in-addr.arpa.zone

$TTL 86400
@             IN         SOA    ns1.kororo.jp. kororo.plala.to. (
                                20031216     ; Serial
                                10800         ; Refresh
                                3600           ; Retry
                                604800        ; Expire
                                86400 )       ; Minimum TTL

; Authoritative Name Servers
              IN    NS     ns1.kororo.jp.
              IN    NS     tegtan1.interlink.or.jp.

; Hosts
1             IN    PTR    opt50.kororo.jp.
2             IN    PTR    ns2.kororo.jp.
3 IN PTR vaio.kororo.jp.



■kororo.jp用正引き参照ゾーン(外向け) / ex-kororo.jp.zone

$TTL 86400
@             IN   SOA    ns1.kororo.jp. kororo.plala.to. (
                                20031220     ; Serial
                                10800          ; Refresh
                                3600           ; Retry
                                604800        ; Expire
                                86400 )        ; Minimum TTL

;Authoritative Name Servers
              IN   NS     ns1.kororo.jp.
              IN   NS     tegtan1.interlink.or.jp.

;Mail eXchanger
              IN   MX 10  mx.kororo.jp.
mx           IN   A        219.117.218.26

;Hosts
ns1          IN   A         219.117.218.26
www        IN   CNAME  ns1.kororo.jp.


■kororo.jp用逆引き参照ゾーン(外向け) / 218.117.219.in-addr.arpa.zone

$TTL 86400
@             IN         SOA    ns1.kororo.jp. kororo.plala.to. (
                                20031213     ; Serial
                                10800          ; Refresh
                                3600           ; Retry
                                604800        ; Expire
                                86400 )       ; Minimum TTL

; Authoritative Name Servers
              IN    NS    ns1.kororo.jp.
              IN    NS    tegtan1.interlink.or.jp.

; Hosts
              IN    PTR   ns1.kororo.jp.







TOPに戻る

Sponcerd Link


Search
 
Web サイト内
Rental Server

【レンタルサーバのXbit】 低価格・高品質のビジネスクオリティー。300メガ1,050円~30分で サービススタート可能!


容量300MB、月額125円、高性能なサーバが日本最大級のバックボーンに直結。
さくらのレンタルサーバ



当サイトはLinux自宅サーバーの構築を目的としたサイトです。
当サイトに関するご意見、ご要望等は、こちらのメールアドレスよりお願いします。
Beginning | Introduction | Installation | Server |
Security | Tips | Related-Sites
Copyright©2003-2006 KORO All Rights Reserved.
総計:
今日:
昨日: