Linux Server

DNS(bind9)の構築(CentOS編)

  

ご注意下さい

この記事は3年以上前に書かれた記事ですので、内容が古い可能性があります。

0
(0)

以前のFedora時代にDNS(bind9)の設定を記事に致しましたが、SPFやDomainkeys/DkIMの設定などもあるのでDNS側から見た設定について一度@setoatuの自宅の設定をサンプルにして説明致します。

設定

bind9の設定は/var/named/chroot配下にありますので実際に/etc/named.confや/var/named配下へzoneファイルなどを置いても動作しません。/etc/sysconfig/namedに以下のファイルがありますが、/var/named/chrootをルートディレクトリとしています。

 
# BIND named process options
# ~~~~~~~~~~~~~~~~~~~~~~~~~~
# Currently, you can use the following options:
#
# ROOTDIR="/some/where"  --  will run named in a chroot environment.
#                            you must set up the chroot environment
#                            (install the bind-chroot package) before
#                            doing this.
#
# OPTIONS="whatever"     --  These additional options will be passed to named
#                            at startup. Don't add -t here, use ROOTDIR instead.
#
# ENABLE_ZONE_WRITE=yes  --  If SELinux is disabled, then allow named to write
#                            its zone files and create files in its $ROOTDIR/var/named
#                            directory, necessary for DDNS and slave zone transfers.
#                            Slave zones should reside in the $ROOTDIR/var/named/slaves
#                            directory, in which case you would not need to enable zone
#                            writes. If SELinux is enabled, you must use only the
#                            'named_write_master_zones' variable to enable zone writes.
#
# ENABLE_SDB=yes         --  This enables use of 'named_sdb', which has support
#                        --  for the ldap, pgsql and dir zone database backends
#                        --  compiled in, to be used instead of named.
#
# DISABLE_NAMED_DBUS=[1y]--  If NetworkManager is enabled in any runlevel, then
#                            the initscript will by default enable named's D-BUS
#                            support with the named -D option. This setting disables
#                            this behavior.
#
# KEYTAB_FILE="/dir/file"    --  Specify named service keytab file (for GSS-TSIG)
ROOTDIR=/var/named/chroot

ですので実際のbindの設定ファイルは/var/named/chroot/etc/named.confとなります。

// generated by named-bootconf.pl

acl my-network {
        //DNSの問合せを許可するネットワークアドレス(自宅のLANアドレス)を指定
        192.168.0.0/24;
};

options {
        directory "/var/named";
        /*
         * If there is a firewall between you and nameservers you want
         * to talk to, you might need to uncomment the query-source
         * directive below.  Previous versions of BIND always asked
         * questions using port 53, but BIND 8.1 uses an unprivileged
         * port by default.
         */
        // query-source address * port 53;
        recursion yes; //DNSキャッシュを持たせる

        // 自宅とlocalhostのみDNS問合せを許可
        allow-query {
                localhost;
                my-network;
        };

        // 上記以外の問合せは全て拒否(明示的に指定しておく)
        allow-transfer { none; };

};

//
// a caching only nameserver config
//
controls {
        // rndcコマンドは自サーバでのみ実行可能とする
        inet 127.0.0.1 allow { localhost; } keys { rndckey; };
};

include "/etc/rndc.key";

zone "." {
        type hint;
        file "named.cache";
        //file "/dev/null";
};

zone "kamata-net.com" in {
        type master;
        file "kamata-net.zone";
        // kamata-net.comドメインに対する問合せはどこのネットワーク(インターネット)からでもOKとする
        allow-query { any; };
};

rndcコマンドについての記述(34-37行目)については以下をご参照ください。
DNS(bind9)構築 | kamata-net.com
rndcを使用するためには、named.confファイルにcontrolsステートメントが必要。下記のように記述することにより、ローカルホストから rndcが接続できるようになる。(rndckeyは任意の文字列)
named.confは、すべてが読み込めるファイルであるため、 keyステートメントを別のファイルの中に置いて、includeステートメントを使用して参照するほうが良い。...

続いてzoneファイルに移ります。

 
$TTL 3600
@       IN      SOA     ns.kamata-net.com. root.ns.kamata-net.com. (
        20140316        ; Serial
        10800           ; Refresh 3 hours
        1800            ; Retry 30 minutes
        43200           ; Expire 12 hours
        3600 )          ; Minimum 1 hour
;$origin kamata-net.com.

                IN      A       218.45.184.224
                IN      NS      ns.kamata-net.com.
                IN      MX      10      mail.kamata-net.com.

                ; SPF公開レコード
                IN      TXT     "v=spf1 mx include:spf-01.asahi-net.or.jp -all"

; Domainkeys/DKIM 公開鍵
default._domainkey      IN      TXT     "k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDg3AnIBiD9aNjBhyEPojxvHqYNvEaTm8sHNwywBTBjBzHruf94ij8T50zsUs1Pw8gfVbSXIUQ7myVUSDiLFvenc6H3mJSXs+KlXrA2ZzskNNO5VyDO1zYBgs4+aOupuXyFDLfwDNVI3YzwMv9av6X3ixer+395i2/0croIshcAkwIDAQAB"

; ADSP 公開レコード
_adsp._domainkey        IN      TXT     "dkim=all"
;
;
mail            IN      A       218.45.184.224
smtp            IN      A       218.45.184.224
imap            IN      A       218.45.184.224
ns              IN      A       218.45.184.224
ns1             IN      A       218.45.184.224
ns2             IN      A       218.45.184.224
ftp             IN      A       218.45.184.224
static          IN      A       218.45.184.224
blog            IN      A       218.45.184.224
www             IN      A       218.45.184.224
;
; Google Analytics用
blog            IN      TXT     "google-site-verification: kAyWyOulCwAZZIBOSqgBZUmPcJ74T3nsEejnU58Ttw8"
;
;
localhost       IN      A       127.0.0.1
loghost         IN      CNAME   localhost

15行目のSPF公開レコードについては、
ISPのメールサーバを使う場合のSPFレコード(asahi-netの場合) | kamata-net.com
mxすなわちmail.kamata-net.comかspf-01.asahi-net.or.jpで指定された202.224.39.192/27か202.224.39.40からしかメールは送りません、と宣言していることと等価となります。 ...

18-21行目については、以下を参照してください。
メールのなりすましをDomainkeys/DKIMで防ぐ(qmailまとめ) | kamata-net.com
Domainkeys/DKIM署名設定 ...

テストする

まずは自サーバよりDNS問合せができるか確認します。

# nslookup
> www.google.com
Server: 127.0.0.1
Address: 127.0.0.1#53

Non-authoritative answer:
Name: www.google.com
Address: 74.125.235.114
Name: www.google.com
Address: 74.125.235.115
Name: www.google.com
Address: 74.125.235.116
Name: www.google.com
Address: 74.125.235.112
Name: www.google.com
Address: 74.125.235.113
>

ここまでできたら次はWindows7などのクライアントからDNS問合せをします。

C:\>nslookup
既定のサーバー: UnKnown
Address: 192.168.0.1

> mail.google.com.
サーバー: UnKnown
Address: 192.168.40.106

権限のない回答:
名前: googlemail.l.google.com
Addresses: 2404:6800:4004:803::1015
74.125.235.117
74.125.235.118
Aliases: mail.google.com

>

これで問合せに関しては問題なくなりましたが、セキュリティについても確認しておきます。
以下のサイトにIPアドレスを入力し、Closeと表示されることを確認してください。
Openと表示される場合にはnamed.confの設定に問題があります。allow-transferがnoneになっていない、とかallow-query、my-networkが適切に設定されていない可能性があります。

Open Resolver Test Results

WS000310

記事はここまで。
バッタ本ってまだあるんですね。

この記事は役に立ちましたか? | Is this article useful for you?

評価をお願いします | Please leave your rating.

平均 | Av.: 0 / 5. 投票数 | Votes: 0

最初の評価を下さい | Please vote for the first rating.

-Linux Server
-, , ,

© 1999 - 2021 蒲田ネット