2017年10月29日日曜日

DNSサーバー構築の検証メモ

□■DNSサーバー構築の検証メモ□■


1)インストールを行う
$ yum -y install bind bind-chroot


2)chrootを稼働させる(内向きでは、不要ですが、外部向けを想定しての稼働)
$ /usr/libexec/setup-named-chroot.sh /var/named/chroot on


3)以下、
named.confを編集する

# vi /var/named/chroot/etc/named.conf
--------/var/named/chroot/etc/named.conf---------------------------------------------------------------------


/* 内部セグメントを定義 */
acl "dpstest-network" {
       192.168.1.0/24;
};


options {
       #listen-on port 53 { 127.0.0.1; };
       listen-on-v6 port 53 { ::1; } ; //IPv6は使用しません
       version         "unknown";
       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; test001-network; }; //内部セグメントからの問い合わせのみ許可します


       /*
        - If you are building an AUTHORITATIVE DNS server, do NOT enable recursion.
        - If you are building a RECURSIVE (caching) DNS server, you need to enable
          recursion.
        - If your recursive DNS server has a public IP address, you MUST enable access
          control to limit queries to your legitimate users. Failing to do so will
          cause your server to become part of large scale DNS amplification
          attacks. Implementing BCP38 within your network would greatly
          reduce such attack surface
       */
       recursion yes; // インターネットに接続するので、フルサービスリゾルバ(キャッシュサーバ)としても動作させます


       /* DNSSECは無効にします */
       dnssec-enable no;
       dnssec-validation no;
       //dnssec-lookaside auto;
       managed-keys-directory "/var/named/dynamic";


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


       /* 自分自身で名前解決出来ない場合は、上位のDNSサーバー(自宅ルーター)にフォワードします */
       forwarders {
               192.168.1.1;
       };
       forward only;


       pid-file "/run/named/named.pid";
       session-keyfile "/run/named/session.key";
};


logging {
       channel default_debug {
               file "data/named.run";
               severity dynamic;
       };
       category lame-servers { null; }; //追加(error (connection refused) resolvingというエラーログの出力抑止)
};


view "internal" {
       /* 最上部で定義したローカルネットワークを、内部問い合わせとして定義します */
       match-clients { localhost; test001-network; };
       match-destinations { localhost; test001-network; };


       zone "." IN {
               type hint;
               file "named.ca";
       };


       /* 正引きゾーン */
       zone "test001.local" IN {
               type master;
               file "test001.local.lan";
       };


       /* 逆引きゾーン */
       zone "1.168.192.in-addr.arpa" {
               type master;
               file "1.168.192.in-addr.arpa.rev";
       };


       include "/etc/named.rfc1912.zones"; //localhostなどの定義
       include "/etc/named.root.key";
};


/* 内部むけDNSなので、外部向けのViewはコメントアウト
view "internal" {
       match-clients { any; };
       match-destinations { any; };
       recursion no;
};
*/


-----------------------------------------------------------------------------------------------


4)以下、編集を行う。

# vi /var/named/chroot/var/named/test001.local.lan
-----------/var/named/chroot/var/named/test001.local.lan-----------------------
$TTL 3600
@                IN      SOA test001.local. root.test001.local. (
                        2015121701 ; serial
                        3600       ; refresh 1hr
                        900        ; retry 15min
                        604800     ; expire 1w
                        86400      ; min 24hr
)


                 IN      NS     natdns.test001.local.
natdns            IN      A      192.168.1.25
Xymon            IN      A      192.168.1.20
Xymon            IN      MX 10  Xymon.test001.local.
------------------------------------------------------------------------------------------------


※上記、postfixの設定をする前提で、MXレコードを追加している!


5)以下、編集を行う
# vi 
/var/named/chroot/var/named/1.168.192.in-addr.arpa.rev
-----/var/named/chroot/var/named/1.168.192.in-addr.arpa.rev----------------
$TTL 3600
@                IN      SOA test001.local. root.test001.local. (
                        2015121701 ; serial
                        3600       ; refresh 1hr
                        900        ; retry 15min
                        604800     ; expire 1w
                        86400      ; min 24hr
)


                IN      NS     natdns.test001.local.
3               IN      PTR   Xymon.test001.local.
---------------------------------------------------------------------------------------------------


■□firewallの設定■□


1)サービスを有効にする。
systemctl start firewalld
systemctl enable firewalld


2)firewallの設定を行う
firewall-cmd --list-all
firewall-cmd --list-services --zone=public  --permanent
firewall-cmd --add-service=dns --zone=public --permanent
firewall-cmd --list-services --zone=public  --permanent


3)設定を適応させる
firewall-cmd --reload


4)DNSのサービス有効にする。
systemctl start named-chroot
systemctl enable named-chroot



<メモ>
named-chrootのサービスが起動できなくなり
ゾーンファイル(test001.local.lan)の編集したい場合
"/var/named"配下のファイルになるので注意すること!


<問題点>
逆引きができない

# 例えば、192.168.1.23とか。。。

<参照先:DNSの設定>
http://qiita.com/ToraLin/items/ae251b187d18de7684eb


<参照先:MXレコード>
http://d.hatena.ne.jp/Kmusiclife/20111118/1321583301

0 件のコメント:

コメントを投稿

php log(ECS ログ出力)

# PHPエラーログの設定 ENV PHP_INI_DIR /usr/local/etc/php RUN { \ echo 'log_errors = On' ; \ echo 'error_log = /proc/self/...