今回は、DNS(BIND)です。DNS自体は、ドメイン管理元で、ほとんど提供されていますから、あえて自前で設置する意味はあまりないかもしれません。
ただ、自宅サーバーと考えたときに複数IPで展開されていたり、WEB,MAILなどそれぞれのサーバーが別ホスト(PC)になっているなど本格的な構成ならば、必要でしょう。
ここでは、一応、最低限の設定を行うだけにとどめておきます。
知識が不足した状態でのDNSの公開は、セキュリティ面から、非常に危険です。DNS,Sendmailについては、知識を増やしてから公開できればより良いですね。
では、早速、インストールしてみましょう。
また、DNSサーバーは、一般的なサイト運営であれば ドメインレジストラのDNSでも十分な場合が多いので、本当に必要かを十分検討の上、 本当に必要な方以外は、インストールしないことをおすすめします。
- 目次
- 履歴
2010年7月17日 初版
BINDをインストール
DNS(BIND)をインストールを行う際に、同時に以下の3つをインストールする必要があります。
- bind: DNSの本体
- bind-chroot: DNSのchroot機能
chroot機能は、DNS(BIND)が動作するとき、指定したサブディレクトリを、ルート・ディレクトリ(/)として扱い、 新しいルートに対して相対的に実行する機能のことで、要は、BINDから見えるディレクトリ範囲を限定することで、 仮にBINDが悪さをしてもシステム全体に影響を及ぼさないためのセキュリティ機能です。
- caching-nameserver: DNSのキャッシュ機能
文字通りDNS(BIND)をキャッシングネームサーバとして機能させるためのパッケージです。
先の3つのインストールは、至って簡単です。
以下では、
bind , bind-chroot , caching-nameserverをまとめてインストールしています。
|
簡単ですね。続けてDNSの設定を行ってみましょう。
BINDを設定
DNS(BIND)の設定を行います。
設定するファイルの種類には、大きく2つあります。
- 初期設定ファイル:
DNS(BIND)の動作・振舞いを指定したものです。 - ゾーン(データ)ファイル:
DNS(BIND)の管理するゾーン(ドメイン名、IPアドレス)を指定したものです。
初期設定ファイルの設定
- /var/named/chroot/etc/named.conf : DNSの基本初期設定ファイル
$ cp /var/named/chroot/etc/named.caching-nameserver.conf /var/named/chroot/etc/named.conf
named.caching-nameserver.confをコピーして使います。
bind-chrootをインストールしているので、/var/named/chroot/が、デフォルトのBINDのルートディレクトリになります。
次に、/var/named/chroot/etc/named.conf を編集します。
... options { ### listenポート指定をコメントアウトします。 #listen-on port 53 { 127.0.0.1; }; #listen-on-v6 port 53 { ::1; }; ### BINDのバージョンを非表示にします。 version "unknown"; directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; memstatistics-file "/var/named/data/named_mem_stats.txt"; // Those options should be used carefully because they disable port // randomization query-source port 53; query-source-v6 port 53; ### queryの許可をlocalhostとlocalnets(LAN)に限定します。 allow-query { localhost; localnets; }; ### query-cacheの許可をlocalhostとlocalnets(LAN)に限定します。 allow-query-cache { localhost; localnets; }; ### ゾーン転送不可に設定します。 ### ゾーン転送は、セカンダリDNSを設置する際に使います。 allow-transfer { none; }; ### 問い合わせの転送先を指定します。 forwarders{ 192.168.1.1; # ルーターIPアドレス 8.8.8.8; # Google Public DNS IPアドレス#1 8.8.4.4; # Google Public DNS IPアドレス#2 xxx.xxx.xxx.xxx; # IPSのDNS IPアドレス#1 xxx.xxx.xxx.xxx; # IPSのDNS IPアドレス#2 }; }; ### ロギングの指定です。デフォルトのままで良いはずです。 ### ここでは何も変更しません。 logging { channel default_debug { file "data/named.run"; severity dynamic; }; }; ### localhostのゾーン解決設定です。 view localhost_resolver { match-clients { localhost; }; match-destinations { localhost; }; recursion yes; include "/etc/named.rfc1912.zones"; ### このホストで管理するドメインの内向きゾーン設定ファイルを指定します。 include "/etc/named.example.com.zone"; }; ### 内向きのゾーン解決設定です。 view "internal" { match-clients { localnets; }; match-destinations { localnets; }; recursion yes; include "/etc/named.rfc1912.zones"; ### このホストで管理するドメインの内向きゾーン設定ファイルを指定します。 include "/etc/named.example.com.zone"; }; ### 外向きのゾーン解決設定です。 view "external" { match-clients { any; }; match-destinations { any; }; recursion no; ### このホストで管理するドメインの外向きゾーン設定ファイルを指定します。 include "/etc/named.example.com.zone.wan"; };
viewタグの各パラメータについて簡単に解説しておきます。
match-clients : ゾーンを参照できるクライアントを指定します。
match-destinations : 返信可能なアドレスを指定します。
recursion : 全検索を指定します。yesと指定されていれば、自DNSのキャッシュにも回答がなければ、forwardersへ問い合わせに行きます。
noと指定されていれば、自DNSのキャッシュまで検索し、あとは、次に探すべきDNSのサーバーを教えて終了します。
- /var/named/chroot/etc/named.exmaple.com.zone : DNSの内向きexmaple.comゾーン初期設定ファイル
ここでは、独自ドメインをexmaple.comとしています。慣習としてnamed.ドメイン名.zoneとすることが多いようです。 最後の拡張子に.lanなどを加えることもありますが、ここでは、先の名前で説明します。
内向きは、LAN側という意味です。
以下は、/var/named/chroot/etc/named.exmaple.com.zone の編集イメージです。
# 正引きの設定 zone "exmaple.com" { type master; file "exmaple.com.db"; }; # 逆引きの設定 zone "1.168.192.in-addr.arpa" { type master; file "1.168.192.in-addr.arpa.db"; };
ここの逆引きは、LANのIPアドレスによって名前も変更すべきです。 ここでは、LANのネットワークアドレスを192.168.1として設定しています。
- /var/named/chroot/etc/named.exmaple.com.zone.wan : DNSの外向きexmaple.comゾーン初期設定ファイル
ここでは、独自ドメインをexmaple.comとしています。先の内向きを区別するために最後の拡張子.wanを付けています。
外向きは、WAN側という意味です。
以下は、/var/named/chroot/etc/named.exmaple.com.zone.wan の編集イメージです。# 正引きの設定 zone "exmaple.com" { type master; file "exmaple.com.db.wan"; allow-query { any; }; }; # 逆引きの設定 zone "xxx.xxx.xxx.in-addr.arpa" { type master; file "xxx.xxx.xxx.in-addr.arpa.db.wan"; allow-query { any; }; };
WAN側の逆引きは、注意が必要です。
まず、固定IPを持っておられない場合は、逆引きはすべきではありません。そのIPアドレスが、自分のものでないので、ここで設置して勝手に逆引きできるようにすべきではありません。
また、固定IP1個お持ちの方は、ほとんどの場合、設置しても意味がないと思います。それは、固定IPを提供したプロバイダーが(逆引きの)権限委譲をしないからです。
もし、提供したプロバイダーが(逆引きの)権限委譲が可能なら、設置する意味はあります。必ず、提供したプロバイダーへ問い合わせしてみましょう。
そのため、一般的に逆引きは、ここで説明していないことが多いです。
また、ここでallow-queryを指定していることに注意してください。
設定するということは、デフォルトの設定(named.confの設定)とは異なる設定をした場合、ここでの設定が優先されます。
ここの設定で出てきたfileは、以降で説明するゾーン(データ)ファイルになります。
ゾーン(データ)ファイルの設定
- exmaple.com.db : exmaple.comドメインの内向きゾーンファイル
以下は、/var/named/chroot/var/named/exmaple.com.db の編集イメージです。
$TTL 86400 @ IN SOA exmaple.com. root.exmaple.com.( 2010062201 ; Serial 28800 ; Refresh 14400 ; Retry 3600000 ; Expire 86400 ) ; Minimum IN NS exmaple.com. IN MX 10 exmaple.com. @ IN A 192.168.1.10 * IN A 192.168.1.10
ここでは、
IPアドレス : 192.168.1.10
とし、exmaple.comドメインのいかなるサブドメインもすべて192.168.1.10として設定しています。
- 1.168.192.in-addr.arpa.db : 192.168.1ネットワークの逆引きファイル
以下は、/var/named/chroot/var/named/1.168.192.in-addr.arpa.db の編集イメージです。
$TTL 86400 @ IN SOA exmaple.com. root.exmaple.com.( 2010062201 ; Serial 28800 ; Refresh 14400 ; Retry 3600000 ; Expire 86400 ) ; Minimum IN NS exmaple.com. 10 IN PTR exmaple.com.
ここでは、
exmaple.comを
IPアドレス : 192.168.1.10と設定しています。
- exmaple.com.db.wan : exmaple.comドメインの外向きゾーンファイル
以下は、/var/named/chroot/var/named/exmaple.com.db.wan の編集イメージです。
$TTL 86400 @ IN SOA ns1.exmaple.com. root.exmaple.com.( 2010062201 ; Serial 7200 ; Refresh 7200 ; Retry 2419200 ; Expire 86400 ) ; Minimum IN NS ns1.exmaple.com. IN MX 10 exmaple.com. ns1 IN A xxx.xxx.xxx.xxx @ IN A xxx.xxx.xxx.xxx www IN A xxx.xxx.xxx.xxx
ここでは、
固定IPアドレス : xxx.xxx.xxx.xxx
とし、exmaple.comドメインとwwwサブドメインをxxx.xxx.xxx.xxxとして設定しています。
また、NSも指定していますからネームサーバーもxxx.xxx.xxx.xxxとして設定しています。
- xxx.xxx.xxx.in-addr.arpa.db.wan : xxx.xxx.xxxネットワークの逆引きファイル
以下は、/var/named/chroot/var/named/xxx.xxx.xxx.in-addr.arpa.db.wan の編集イメージです。
$TTL 86400 @ IN SOA exmaple.com. root.exmaple.com.( 2004031901 ; Serial 28800 ; Refresh 14400 ; Retry 3600000 ; Expire 86400 ) ; Minimum IN NS exmaple.com. XXX IN PTR exmaple.com.
固定IPが1つの場合は、xxx.xxx.xxx.xxx.in-addr.arpa.db.wanのようにネットワークアドレスも4桁で指定してあげます。 先に設定しているnamed.exmaple.com.zone.wanも、それに合わせて変更しなければなりません。
BINDを起動
ここまで設定ができたら、BINDを起動します。
|
もし、なんらの設定に不備があれば、ここでエラーが表示されます。 一つ一つエラーを潰していきましょう。
最後に、再起動でも起動するように設定して終わりです。
|
ランレベル2~5のonを確認して完了です。
その際の設定には、上記の設定例は参考になると思います。 結局、上記で設定するような内容をWEB画面で設定するだけですからね。
また、DNSという名前でなく、マルチドメインの設定やサブドメインの設定として提供されているかもしれません。 設定することは、上記の内容から漏れることはないので、ここの設定の理解ができていると格安レンタルサーバーでの設定は、すぐに理解できると思いますよ。
このサイトでは、コンテンツの一部が非表示、あるいは、コメント、お問い合わせの投稿ができない、検索ができないことがあります。
コメントを投稿 :