CentOS7.3 ネームサーバ(bind)の設定

シェアする

ほとんど、放置状態だったBINDに関する設定を見直しました。
前に作成した時よりも、設定内容が変わっています。

BINDの設定(named.conf)

マスター側のnamed.confの定義です。

# vim /etc/named.conf <LF>
#######################################
# 初期設定ファイル
#######################################
 
# optionsステートメント
# ネームサーバーで使われるグローバルオプションを定義する
options {
  # ルートディレクトリーを指定
  directory "/var/named";
  # 空白ゾーンを作成するかどうかを指定(空白ゾーン?)
  #empty-zones-enable yes;
 
  #dnssec-enable yes;
  #dnssec-validation yes;
  #dnssec-lookaside auto;
  #bindkeys-file "/etc/named.iscdlv.key";

  # 管理用(DNSSEC)キーが置いてあるディレクトリを指定
  managed-keys-directory "/var/named/dynamic";
  # also-notifyリストで指定されたスレーブサーバにゾーン転送する
  notify explicit;
  # プロセスIDファイルのPIDファイルを出力する場所を指定
  #pid-file "/run/named/named.pid";
  # 再帰問い合わせを許可するIPアドレスを指定
  allow-recursion {
    192.168.1.0/24;
  };
  # 名前解決の問い合わせ要求を許可するIPアドレスを指定
  allow-query {
    192.168.1.0/24;
  };
  # ゾーン転送要求を許可するIPアドレスを指定(スレーブサーバのIPアドレス)
  allow-transfer {
    192.168.1.112;
  };
  #
  forward first;
  # 名前解決の問合せ要求に対する回答を自身で解決できない場合の転送先IPアドレスを指定
  forwarders {
    60.56.0.135;
    218.251.78.134;
  };
};
 
# loggingステートメント
logging {
  channel "null" {
    null;
  };
  channel "stderr" {
    stderr;
    severity info;
  };
  channel "syslog" {
    syslog local0;
    severity info;
  };
  channel "defaultlog" {
    file "/var/named/log/bind.log" versions 10 size 5M;
    severity debug;
    print-time yes;
    print-severity yes;
    print-category yes;
  };
  category default {
    "defaultlog";
  };
};
 
# ルートのゾーン
zone "." {
  # ゾーンのタイプを指定
  type hint;
  file "named.ca";
};
 
server ::1/128 {
  bogus no;
};
server fe80::/16 {
  bogus no;
};
server ::ffff:0:0/96 {
  bogus no;
};
server ::/0 {
  bogus yes;
};
 
# RFC1912で定義されたDNSサーバの必要なDNSレコードを設定するための設定ファイル
include "/etc/named.rfc1912.zones";
# ルートのDNSSEC鍵情報のファイル
include "/etc/named.root.key";
# 内部のゾーン設定ファイル(正引き)
include "/etc/named.forward.zones";
# 内部のゾーン設定ファイル(逆引き)
include "/etc/named.reverse.zones";

スレーブ側のnamed.confです。基本的には、マスター側と同じ定義にします。

# vim /etc/named.conf <LF>
#######################################
# 初期設定ファイル
#######################################
 
# optionsステートメント
# ネームサーバーで使われるグローバルオプションを定義する
options {
  # ルートディレクトリーを指定
  directory "/var/named";
  #
  managed-keys-directory "/var/named/dynamic";
  notify yes;
  # 再帰問い合わせを許可するIPアドレスを指定
  allow-recursion {
    192.168.1.0/24;
  };
  # 名前解決の問い合わせ要求を許可するIPアドレスを指定
  allow-query {
    192.168.1.0/24;
  };
  # ゾーン転送要求を許可するIPアドレスを指定(スレーブサーバのIPアドレス)
  allow-transfer {
    192.168.1.112;
  };
  #
  forward first;
  # 名前解決の問合せ要求に対する回答を自身で解決できない場合の転送先IPアドレスを指定
  forwarders {
    60.56.0.135;
    218.251.78.134;
  };
};
 
# loggingステートメント
logging {
  channel "null" {
    null;
  };
  channel "stderr" {
    stderr;
    severity info;
  };
  channel "syslog" {
    syslog local0;
    severity info;
  };
  channel "defaultlog" {
    file "/var/named/log/bind.log" versions 10 size 5M;
    severity debug;
    print-time yes;
    print-severity yes;
    print-category yes;
  };
  category default {
    "defaultlog";
  };
};
 
# ルートのゾーン
zone "." {
  # ゾーンのタイプを指定
  type hint;
  file "named.ca";
};
 
server ::1/128 {
  bogus no;
};
server fe80::/16 {
  bogus no;
};
server ::ffff:0:0/96 {
  bogus no;
};
server ::/0 {
  bogus yes;
};
 
# RFC1912で定義されたDNSサーバの必要なDNSレコードを設定するための設定ファイル
include "/etc/named.rfc1912.zones";
# ルートのDNSSEC鍵情報のファイル
include "/etc/named.root.key";
# 内部のゾーン設定ファイル(正引き)
include "/etc/named.forward.slave.zones";
# 内部のゾーン設定ファイル(逆引き)
include "/etc/named.reverse.slave.zones";

内部のゾーンファイル設定

named.confファイルの設定をできるだけ、変更を加えなくてもよいように、ゾーンファイル設定の大元の定義ファイルを準備しました。

・マスター側の正引き用

vim /etc/named.forward.zones <LF>
 
zone "orangetakam.com" {
  type master;
  file "orangetakam.com.db";
  notify yes;
  also-notify {
    192.168.1.112;
  };
};

・マスター側の逆引き用

# vim /etc/named.reverse.zonez <LF>
zone "1.168.192.in-addr.arpa" {
  type master;
  file "1.168.192.in-addr.arpa.db";
  notify yes;
  also-notify {
    192.168.1.112;
  };
};

・スレーブ側の正引き用

vim /etc/named.forward.slave.zones <LF>
 
zone "orangetakam.com" {
  type slave;
  file "slaves/orangetakam.com.db";
  notify no;
  masters {
    192.168.1.111;
  };
};

・スレーブ側の逆引き用

# vim /etc/named.reverse.slave.zonez <LF>
zone "1.168.192.in-addr.arpa" {
  type slave;
  file "slaves/1.168.192.in-addr.arpa.db";
  notify no;
  masters {
    192.168.1.111;
  };
};

ゾーンファイルの設定

ゾーンファイルを正引きと逆引きを設定します。

・正引き用

# vim /var/named/orangetakam.com.db <LF>
$TTL 86400
@          IN SOA server01.orangetakam.com. takashi.orangetakam.com. (
              2017051618 ; Serial
              28800      ; Refresh  8hour
              14400      ; Retry    4hour
              604800     ; Expire   168hour(1week)
              86400 )    ; Minimum  24hour(1day)
orangetakam.com.     IN NS    server01.orangetakam.com.;
orangetakam.com.     IN NS    server02.orangetakam.com.;
 
server01             IN A     192.168.1.111;
server02             IN A     192.168.1.112;
server03             IN A     192.168.1.113;

・逆引き用

# vim /var/named/1.168.192.in-addr.arpa.db <LF>
$TTL 86400
@     IN SOA tk1ads01.orangetakam.com. takam.mail.orangetakam.com. (
         2017051618 ; Serial
         28800      ; Refresh   8hour
         14400      ; Retry     4hour
         604800     ; Expire  168hour(1week)
         86400 )    ; Minimum  24hour(1day)
                IN NS    server01.orangetakam.com.;
                IN NS    server02.orangetakam.com.;
 
111             IN PTR   tk1art01.orangetakam.com.;
112             IN PTR   tk1art02.orangetakam.com.;
113             IN PTR   tk1art03.orangetakam.com.;

ゾーン転送(マスター側から)

マスター側のシリアル番号を増やした後に、マスター側から強制的にゾーン転送をする場合です。

# rndc reload <LF>
server reload successful

ゾーン転送(スレーブ側から)

マスター側のシリアル番号を増やした後に、スレーブ側から強制的にゾーン転送をする場合です。

# rndc retransfer orangetakam.com <LF>
# rndc retransfer 1.168.192.in-addr.arpa <LF>