2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

BINDのDNSテスト環境構築メモ

Last updated at Posted at 2018-10-02

BINDのDNSテスト環境構築メモ

CentOS上にBINDのDNSテスト環境を構築した際のメモを残します。
また本DNSサーバのMXレコードを参照しメールを配送するPostfixを構築し、以下エントリで構築したテスト環境Postfixにメールを配送します。

BINDのDNSテスト環境目的

本テスト環境の目的は、環境内部からのDNSによる名前解決、およびBINDの動作確認です。
以下の動作が確認可能な環境の構築および動作確認を行います。

  • DNSレコードのdigコマンドからの参照

本エントリでは、以下で構築したOSX上のCentOS6に構築します。
https://qiita.com/keikmobile/items/2c1cec8b875387a83a71
SElinuxは無効とすることを前提としています。

BINDのDNSテスト環境・動作確認方針

上記目的を実現するためのDNS環境構成・設定値・動作確認の方針・前提条件を記述します。

DNSテスト環境プロセス構成方針

本DNSテスト環境は以下のプロセス構成をとる方針とします。

  • 上記のプロセスは全て同一のCent OS上に構成する。
  • 以下は各コンポーネントのイメージ。(http://plantuml.com/)

SoWkIImgAStDuOfEoKpNoIlEoS_FBYs8LT0joapFAD6rKuZEIynDJObLi59myGjMA2nDBQhaYYxEBIdGBSulBKfErIb9pSbBBK7M4P1VN9AMMG7I4-mR4i254D0jBS1b948Dt1o8BPbvsJ2J53I2KdCIApMv75BpKe2E1W00.png

@startuml
[dig,nslookup] -right-> [named] : DNS query
[smtp-source,telnet] -right-> [Postfix] : SMTP
[Postfix] -up-> [named] : DNS query
[Postfix] -right-> [smtp-sink] : SMTP (Relay)
@enduml

DNSテスト環境設定構成方針

BINDの振る舞いを設定する設定値は以下の方針で決定します。

動作確認方針

本テスト環境の動作確認は以下の方針で実施します。

  • DNSサーバの動作の確認を行う。以下の確認観点で行う。
  • digコマンドの応答を確認する。

BINDのDNSテスト環境構築手順

BINDのインストール

yumでbindをインストールし、rpmでインストールされたことを確認します。digコマンドもインストールされます。
chkconfigで起動設定を有効化します。

$ sudo yum -y install bind
...
$ rpm -qa | egrep 'bind'
...
$ chkconfig named on

BINDの設定(named.conf)

前述のBIND設定構成方針に従い、BINDの設定を行います。
named.cfの以下設定値を書き換えます。

  • /etc/named.comf

本設定ではoptionsステートメント、zoneステートメントを編集します。

optionsステートメント

設定 設定値 Note
listen-on port 53 { 127.0.0.1; }; DNSサーバのインターフェース、ポートを指定します。
テスト環境からのみの参照とするため、インターフェースは127.0.0.1を指定します。ポートは53を指定します。
allow-query { localhost; }; DNSクエリを許可するホストを指定します。
ローカルのみ許可するためlocalhostを指定します。
recursion no; 再帰的クエリの有効無効を指定します。無効とするためnoを指定します。
options {
	listen-on port 53 { 127.0.0.1; };
#	listen-on-v6 port 53 { ::1; };
	directory 	"/var/named";
	dump-file 	"/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
	allow-query     { localhost; };
	recursion no;

	dnssec-enable yes;
	dnssec-validation yes;

	/* Path to ISC DLV key */
	bindkeys-file "/etc/named.iscdlv.key";

	managed-keys-directory "/var/named/dynamic";
};

zoneステートメント

zone "example.com" IN {
        type master;
        file "/var/named/example.com.zone";
};
  • /var/named/example.com.zone

/etc/named.confのzoneステートメントで記述したexample.comのゾーンファイルを作成します。

$TTL 86400
@       IN SOA example.com. example.com(
                            2018010901      ; Serial
                            10800           ; Refresh
                            3600            ; Retry
                            3600000         ; Expire
                            3600            ; Negative Cashe TTL
)
        IN NS example.com.
@       IN MX 10 mail.example.com.
@       IN TXT "v=spf1 ip4:192.168.33.10 -all" ; SPF record
@       IN A  192.168.33.10

namedの再起動

serviceコマンドでnamedの再起動を行います。

$ sudo service named restart

BINDのDNSサーバ動作確認

digコマンドでexample.comのDNSレコードが参照可能であることを確認します。

$ dig @127.0.0.1 example.com any

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.62.rc1.el6_9.5 <<>> @127.0.0.1 example.com any
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 5289
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 5, AUTHORITY: 0, ADDITIONAL: 1

;; QUESTION SECTION:
;example.com.			IN	ANY

;; ANSWER SECTION:
example.com.		86400	IN	SOA	example.com. example.com.example.com. 2018010901 10800 3600 3600000 3600
example.com.		86400	IN	NS	example.com.
example.com.		86400	IN	MX	10 mail.example.com.
example.com.		86400	IN	TXT	"v=spf1 ip4:192.168.33.10 -all"
example.com.		86400	IN	A	192.168.33.10

;; ADDITIONAL SECTION:
example.com.		86400	IN	A	192.168.33.10

;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Mon Sep 17 14:32:31 2018
;; MSG SIZE  rcvd: 186

$
2
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?