2012年11月25日日曜日

DNSサーバー(bind9)


DNSサーバーはbind9を使います。
LAN内でwebサーバーの名前を引けるようにするのが目的なのでできるだけ簡単な設定にします。


/etc/named.conf
-----
options {
        version "unknown";
        directory "/var/named";
        allow-query { localhost; localnets; };
        allow-query-cache { localhost; localnets; };
        forwarders {
                8.8.8.8; // LAN以外の検索はgoogleのDNSに投げる
                8.8.4.4;
        };
};

zone "hogehoge.dip.jp" IN { // 正引きLAN設定
        type master;
        file "hogehoge.zone"; // 正引き用ファイル
};

zone "0.168.192.in-addr.arpa" IN { // 逆引きLAN設定
        type master;
        file "hogehoge.rev";  // 逆引き用ファイル
};

logging {
        category lame-servers { null; }; // よけいなlogを捨てる
};
-----

正引き用の設定ファイル
/var/named/hogehoge.zone
-----
@       IN      SOA     macmini.hogehoge.dip.jp. root.hogehoge.dip.jp. (
                                      2012112200 ; Serial
                                      28800      ; Refresh
                                      14400      ; Retry
                                      3600000    ; Expire
                                      86400 )    ; Minimum
              IN      NS      hogehoge.dip.jp.
              IN      A       192.168.0.2  // hogehoge.dip.jpを引くための設定
router        IN      A       192.168.0.1
macmini       IN      A       192.168.0.2
-----

逆引き用の設定ファイル
/var/named/hogehoge.rev
-----
@       IN      SOA     macmini.hogehoge.dip.jp. root.hogehoge.dip.jp. (
                                      2012112200 ; Serial
                                      28800      ; Refresh
                                      14400      ; Retry
                                      3600000    ; Expire
                                      86400 )    ; Minimum
        IN      NS      hogehoge.dip.jp.
1       IN      PTR     router.hogehoge.dip.jp.
2       IN      PTR     macmini.hogehoge.dip.jp.
-----

あとは、OS X用にlaunchctlのファイルを記述します。
namedもdhcpdと同様に-fオプションでフォアグラウンド実行を指定し、KeepAliveに設定します。

/Library/LaunchDaemon/named.plist
-----
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>Label</key>
        <string>named</string>
        <key>KeepAlive</key>
        <true/>
        <key>ProgramArguments</key>
        <array>
                <string>/usr/local/sbin/named</string>
                <string>-f</string>
        </array>
</dict>
</plist>
-----

これでLAN内でwebを開くと192.168.0.2に対してrequestし、外からはDDNSでWAN側のアドレスが引けるようになりました。

0 件のコメント:

コメントを投稿