Nameserverの構築

さて、RedHat Linux 7.1J のインストールが終わると、デフォルトでDNS Serverである、bind 9.1.0がインストールされているはずです。

1.named.conf
BIND9では、named.confで様々な設定を行います。このnamed.confの書き方ひとつで実に様々な設定が可能になったようですが、ここでは単純かつ必要充分な設定にしてみます。named.conf は /etc においてあります。また、zoneファイルやcacheファイルは デフォルトでは /var/named に置いてあります。あとのbakファイルは自然と作られます(secondaryの場合)。

Secondary nameserver の場合
named.conf の一例です。Primary nameserverの場合は、FreeBSDの場合を参照してください。Linux でもヒントファイル名が違うくらいでほとんど同じです。

// generated by named-bootconf.pl

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;
};

// 
// a caching only nameserver config
// 
zone "." IN {
	type hint;
	file "named.ca";
};

zone "localhost" IN {
	type master;
	file "localhost.zone";
	allow-update { none; };
};

zone "0.0.127.in-addr.arpa" IN {
	type master;
	file "named.local";
	allow-update { none; };
};
key "key" {
	algorithm hmac-md5;
        secret "*******************************************";
};


zone "fujie.org" IN {
  type slave;
  file "bak/fujie.org.bak";
  masters { 210.250.4.50;};
  allow-transfer { any; };
  allow-query { any; };
};

zone "4.250.210.in-addr.arpa" IN {
  type slave;
  file "bak/4.250.210.rev.bak";
  masters { 210.250.4.50;};
  allow-transfer { any; };
  allow-query { any; };
};

zone "local.fujie.org" IN {
  type slave;
  file "bak/local.fujie.org.bak";
  masters { 210.250.4.50;};
  allow-transfer { 210.250.4.48/29;
                   192.168.1.0/24;
                   127.0.0.1;};
  allow-query { 210.250.4.48/29;
                192.168.1.0/24;
                127.0.0.1;};
};

zone "1.168.192.in-addr.arpa" IN {
  type slave;
  file "bak/1.168.192.rev.bak";
  masters { 210.250.4.50;};
  allow-transfer { 210.250.4.48/29;
                   192.168.1.0/24;
                   127.0.0.1;};
  allow-query { 210.250.4.48/29;
                192.168.1.0/24;
                127.0.0.1;};
};

directory option は、named.ca や zone ファイルを置く場所です。Secondary なので、type は slave とします(primary なら master です)ファイル名は fujie.org.bak、4.250.210.rev.bak、local.fujie.org.bak、1.168.192.rev.bak としました。これはもちろん、Primary nameserver から送られてくる情報をもとに自動的に作られます。masters では、Primary とする nameserver の IP address を書き込みます。複数指定可能です。同じように、local用ファイルも記述してあります。これは、allow-query と allow-transfer で、localとprimary、そして local zone 以外からの問い合わせは拒否するように設定してあります。hintファイル(cacheファイル)は、カレントディレクトリ(".")、すなわち、/var/named に named.ca というファイル名で置くことを意味しています。zone ファイルの書き方は、ここを参照してください。

クラスC未満の場合(Global IP address が256個未満の場合)

この場合はゾーンファイルと named.conf の書き方が少し違ってきます。primary name server の場合のゾーンファイルの書き方はFreeBSDの場合を参照してください。下にクラスC未満の場合のsecondary name server における named.conf の例を挙げておきます。

// generated by named-bootconf.pl

options {
auth-nxdomain yes;	
	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;
};

// 
// a caching only nameserver config
// 
zone "." IN {
	type hint;
	file "named.ca";
};

zone "localhost" IN {
	type master;
	file "localhost.zone";
	allow-update { none; };
};

zone "0.0.127.in-addr.arpa" IN {
	type master;
	file "named.local";
	allow-update { none; };
};
key "key" {
	algorithm hmac-md5;
        secret "**********************************************";
};

zone "fujie.org" {
  type slave;
  file "bak/fujie.org.bak";
  masters { 210.250.4.50;};
  allow-update { none; };
  allow-transfer { any; };
  allow-query { any; };
};

zone "4.250.210.in-addr.arpa" {
  type slave;
  file "bak/4.250.210.rev.bak";
  masters { 210.250.4.50;};
  allow-update { none; };
  allow-transfer { any; };
  allow-query { any; };
};

zone "48.4.250.210.in-addr.arpa" {
  type slave;
  file "bak/48.4.250.210.rev.bak";
  masters { 210.250.4.50;};
  allow-update { none; };
  allow-transfer { any; };
  allow-query { any; };
};

zone "local.fujie.org" {
  type slave;
  file "bak/local.fujie.org.bak";
  masters { 210.250.4.50;};
  allow-transfer { 210.250.4.48/29;
                   192.168.1.0/24;
                   127.0.0.1;};
  allow-query { 210.250.4.48/29;
                192.168.1.0/24;
                127.0.0.1;};
};

zone "1.168.192.in-addr.arpa" {
  type slave;
  file "bak/1.168.192.rev.bak";
  masters { 210.250.4.50;};
  allow-transfer { 210.250.4.48/29;
                   192.168.1.0/24;
                   127.0.0.1;};
  allow-query { 210.250.4.48/29;
                192.168.1.0/24;
                127.0.0.1;};
};

4.resolv.conf
/etc/resolv.conf を次のようにします。RedHat 7.1J では自動的に作成されています。

domain fujie.org
nameserver 203.183.84.83

nameserver では自マシンの IP address を指定します。

次に自動起動できるようにします。ntsysvコマンドで、namedに*を付けて終わりです。

# ntsysv
-----
(*)named

これで自動起動可能になります。

TOP PAGE