広告・Googleアドセンス728px

Article(記事) Wrap Up(まとめ)

DNS(bind9)の構築(CentOS編)

更新日:

ご注意ください
この記事は2年以上前に書かれたものですので、内容が古い可能性があります。


以前の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署名設定 ...

[googlead]

テストする

まずは自サーバより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

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

この記事は役に立ちましたか?評価をお願いいたします。
[合計: 0 平均: 0]

広告336px

広告336px

-Article(記事), Wrap Up(まとめ)
-, , ,

Copyright© 蒲田ネット , 2017 AllRights Reserved.