BINDのDNSテスト環境構築メモ
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/)
@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の振る舞いを設定する設定値は以下の方針で決定します。
- ドメインはexample.comを使用する。(https://tools.ietf.org/html/rfc2606#section-3)
- DNSサーバは、テスト環境からのみ参照可能とする。
- 再帰的クエリーを無効とします。
動作確認方針
本テスト環境の動作確認は以下の方針で実施します。
- 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
$
Author And Source
この問題について(BINDのDNSテスト環境構築メモ), 我々は、より多くの情報をここで見つけました https://qiita.com/keikmobile/items/722c57c600e036c0e90d著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .