Misc/内部用DNSサーバー構築 の変更点


#contents

内部用DNSサーバー作成だが、普通に作成すれば権限委譲されていないので問題なく内部用DNSサーバーとして仕様できる。

*BINDの入手 [#i4e88a60]

[[ISC BIND:http://www.isc.org/sw/bind/]]

 $ wget http://ftp.isc.org/isc/bind9/9.3.2/bind-9.3.2.tar.gz

*BINDのインストール [#i3c0fa5b]

 $ tar xzvf bind-9.3.2.tar.gz
 $ cd bind-9.3.2
 $ ./configure
 $ make
 $ su
 # make install

*bind用ユーザー作成 [#gd59383b]

 # /usr/sbin/groupadd named
 # /usr/sbin/useradd -g named -d /var/named -s /bin/false named

*設定ファイル作成前準備 [#be2d52ef]

いらないファイルが useradd で配置されるはずなので削除

 # cd /var/named
 # rm -rf *
 # rm -rf .*

*設定ファイルの作成 [#t074865a]

**named.ca [#k45738ce]

 $ wget ftp://rs.internic.net/domain/named.root
 $ su
 # mv named.root /var/named

**/usr/local/etc/named.conf [#j2d65a41]

 options {
    // zone ファイルの格納場所
    directory "/var/named";
    // BIND の利用を許す範囲を指定
    allow-query {
        // 自分自身( localhost )
        127.0.0.1;
        // 192.168.1.* ( Subnet 255.255.255.0 )
        192.168.1.0/24;
    };
    // スレーブ DNS のアドレスを記述。内向き DNS の場合は必要ないが一応記載。
    allow-transfer {
        // 自分自身( localhost )
        127.0.0.1;
        // 192.168.1.* ( Subnet 255.255.255.0 )
        192.168.1.0/24;
    };
    // 自前で名前解決できないとき、まずはプロバイダの DNS へ聞きに行く様にする。
    forwarders {
        XXX.XXX.XX.XX;  // プロバイダのプライマリ DNS の IP アドレス
        XXX.XXX.XX.XX;  // プロバイダのセカンダリ DNS の IP アドレス
    };
 };
 
 // ルート DNS の情報
 zone "." {
    // ルート DNS の情報である事を明示
    type hint;
    // ファイル名
    file "named.ca";
 };
 
 // localhost の正引きの設定
 zone "localhost" {
    // Master DNS Serverであることを示す
    type master;
    // ファイル名
    file "localhost.zone";
 };
 
 // localhost の逆引きの設定
 zone "0.0.127.in-addr.arpa" {
    // Master DNS Serverであることを明示
    type master;
    // ファイル名
    file "0.0.127.in-addr.arpa";
 };
 
 // xx.net の正引きの設定(内部用ドメイン)
 zone "xx.net" {
    // Master DNS Serverであることを明示
    // 内部から *.xx.net を引いたときにきちんと見えるよう設定
    type master;
    // ファイル名
    file "xx.net";
 };
 
 // 192.168.1.* の逆引きの設定
 zone "1.168.192.in-addr.arpa" {
    // Master DNS Serverであることを明示
    type master;
    // ファイル名
    file "1.168.192.in-addr.arpa";
 };
 
 // yyy.yy の正引きの設定(DDNSドメイン)
 zone "yyy.yy" {
    // Master DNS Serverであることを明示
    // 内部から yyyyyy.yyy.yy を引いたときにきちんと見えるよう設定
    type master;
    // ファイル名
    file "yyy.yy";
 };

**localhost.zone [#a9ca29f3]

 $TTL 1D
 
 @  IN  SOA  xxxxx.xx.net.  root.xxxxx.xx.net. (
        2006090300 ; シリアル番号
        3H
        1H
        1W
        1D )
 
            IN NS xxxxx.xx.net.
 localhost. IN A  127.0.0.1

**0.0.127.in-addr.arpa [#yea0a03c]

 $TTL  1D
 
 @  IN  SOA  xxxxx.xx.net.  root.xxxxx.xx.net. (
        2006090300
        3H
        1H
        1W
        1D )
 
        IN  NS  xxxxx.xx.net.
 1      IN  PTR localhost.

**xx.net(内部用設定ファイル) [#u2ac26d7]

 $TTL  1D
 
 @  IN  SOA  xxxxx.xx.net.  root.xxxxx.xx.net. (
        2006090300
        3H
        1H
        1W
        1D )
 
             IN  NS      xxxxx.xx.net.
             IN  MX  10  xxxxx.xx.net. ; メールサーバのホスト名を指定
                                       ; 10 は優先順位。
 
 router      IN  A       192.168.1.1
 xxxxx       IN  A       192.168.1.10
 xx.net      IN  A       192.168.1.10
 chrono      IN  A       192.168.1.3
 
 dns         IN  CNAME   sigel
 www         IN  CNAME   sigel
 smtp        IN  CNAME   sigel
 pop         IN  CNAME   sigel

**1.168.192.in-addr.arpa [#p01121f7]
 $TTL  1D
 
 @     IN  SOA  xxxxx.xx.net.  root.xxxxx.xx.net. (
       2006090300
       3H
       1H
       1W
       1D )
 
       IN  NS  xxxxx.xx.net.
 
            IN  PTR   xx.net.       ; 解決するドメイン
            IN  A     255.255.255.0 ; サブネットマスク
 
 1          IN  PTR   router.xx.net.
 10         IN  PTR   sigel.xx.net.
 2          IN  PTR   chrono.xx.net.

**yyy.yy(DDNSドメイン設定ファイル) [#hed5aff0]

 $TTL  1D
 
 @  IN  SOA  yyyyy.yyy.yy.  root.yyyyyy.yyy.yy. (
        2006090300
        3H
        1H
        1W
        1D )
 
           IN  NS      yyyyyy.yyy.yy.
 yyyyyy    IN  A       192.168.1.10

*named.pidを作成可能にする [#laacf0c2]

 $ su
 # chmod 777 /var/run

他のデーモン等が作成する pid ファイルは他ユーザーが書き込みできなくなっているようなのでこれで対応

*自動起動設定 [#g67c343d]

もともと入っていたパッケージ版bindの起動スクリプトを流用~
起動スクリプトへのリンクは既にできているのでそのまま使う%%細かいことは気にしない(ぉ%%

-/etc/init.d/named

 #!/bin/bash
 #
 # named           This shell script takes care of starting and stopping
 #                 named (BIND DNS server).
 #
 # chkconfig: - 55 45
 # description: named (BIND) is a Domain Name Server (DNS) \
 # that is used to resolve host names to IP addresses.
 # probe: true
 
 # Source function library.
 . /etc/rc.d/init.d/functions
 
 # Source networking configuration.
 [ -r /etc/sysconfig/network ] && . /etc/sysconfig/network
 
 # Check that networking is up.
 [ "${NETWORKING}" = "no" ] && exit 0
 
 # Source bind configuration
 [ -r /etc/sysconfig/named ] && . /etc/sysconfig/named
 
 [ -f /usr/local/sbin/named ] || exit 0
 [ -r /etc/named.conf ] || exit 0
 
 RETVAL=0
 prog="named"
 
 start() {
         # Start daemons.
         echo -n $"Starting $prog: "
         daemon /usr/local/sbin/named -u named ${OPTIONS}
    RETVAL=$?
    [ $RETVAL -eq 0 ] && touch /var/lock/subsys/named
    echo
    return $RETVAL
 }
 stop() {
         # Stop daemons.
         echo -n $"Shutting down $prog: "
 #  /usr/sbin/rndc stop
         killproc named
    RETVAL=$?
    [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/named
         echo
    return $RETVAL
 }
 restart() {
    stop
    sleep 2
    start
 }  
 
 # See how we were called.
 case "$1" in
    start)
        start
        ;;
    stop)
        stop
        ;;
    restart)
        restart
        ;;
    condrestart)
        [ -f /var/lock/subsys/named ] && restart || :
        ;;
    *)
            echo "Usage: named {start|stop|restart|condrestart}"
        exit 1
 esac
 
 exit $?

*その他のファイルの設定 [#i420b07c]

**/etc/hosts [#fd7645e5]
DNS サーバの情報と hosts の情報が不整合を起こさない為に localhost 以外はコメントアウト

**/etc/resolv.conf [#nc990c1d]
 search          xx.net
 nameserver      127.0.0.1
 nameserver      プロバイダのDNSサーバー

**/etc/nsswitch.conf [#rf616528]

hostsの行にdnsが含まれていること

 hosts:      files nisplus nis dns

**/etc/host.conf [#sd6e5ed5]

 order hosts,bind

*DDNSセットアップ [#j0c9cd5f]

[[DDNSセットアップ>Misc/DDNSセットアップ]]

*参考サイト [#l57dc86e]
-[[内部向け DNS サーバの構築 - Linux で自宅サーバ [ Home Server Technical. ]:http://www.miloweb.net/bind.html]]
-[[dns.html:http://www.geocities.co.jp/SiliconValley-Bay/9678/dns.html]]
-[[@IT:すべての基礎、マスター・ゾーンサーバの設定(1/3):http://www.atmarkit.co.jp/flinux/rensai/bind902/bind902a.html]]
-[[@IT:すべての基礎、マスター・ゾーンサーバの設定(2/3):http://www.atmarkit.co.jp/flinux/rensai/bind902/bind902b.html]]
-[[@IT:すべての基礎、マスター・ゾーンサーバの設定(3/3):http://www.atmarkit.co.jp/flinux/rensai/bind902/bind902c.html]]

-[[ISC BIND:http://www.isc.org/sw/bind/]]

-[[conf ファイル 1 (BIND8,9):http://www.wakhok.ac.jp/~kanayama/summer/02/site/node67.html]]
-[[[vine-users:067180] Re: bind9停止時のエラーについて:http://search.luky.org/vine-users.6/msg07180.html]]

注意)このバージョンのsafariではjavascriptがうまく動作しないので、recaptchaはページ切り替え版を利用しています。
リロード   新規 編集 差分 添付 複製 改名   トップ 一覧 検索 最終更新 バックアップ   ヘルプ   最終更新のRSS