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の設定ファイルは/var/named/chroot/etc/named.confとなります。

/var/named/chroot/etc/named.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
// 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ファイルに移ります。

/var/named/chroot/var/named/kamata-net.zone
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
$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
-, , ,

S