※このページは作成・編集の途中です。
BINDは、DNSサーバである。
ここでは、グローバルな固定IPアドレスを使ったDNSサーバの設置方法を記録する。
| 決める | 内側IPアドレス | ここでは192.168.0.111/24とする |
|---|---|---|
| 決める | 外側IPアドレス | ここでは10.9.222.20/29と仮定する |
%su Password: # cd /usr/ports/dns/bind96 # make install claen # rehash
※Options for bind96 9.6.0.1のウィンドウで、REPLACE_BASE を ON にした。
#
# named. It may be possible to run named in a sandbox, man security for
# details.
#
named_enable="NO" # Run named, the DNS server (or NO).
named_program="/usr/sbin/named" # path to named, if you want a different one.
#named_flags="" # Flags for named
named_pidfile="/var/run/named/pid" # Must set this in named.conf as well
named_uid="bind" # User to run named as
named_chrootdir="/var/named" # Chroot directory (or "" not to auto-chroot it)
named_chroot_autoupdate="YES" # Automatically install/update chrooted
# components of named. See /etc/rc.d/named.
named_symlink_enable="YES" # Symlink the chrooted pid file
上記の/etc/default/rc.confの中から変更する部分のみ/etc/rc.confに記述する。
named_enable="YES" named_flags="-c /etc/namedb/named.conf"
インストール時に作られるnamed.confは残しておき、新しく作ることにする・・・。
# cd /etc/namedb # mv named.conf named.conf.ORG # touch named.conf
options {
directory "/etc/namedb";
pid-file "/var/run/named/pid";
dump-file "/var/dump/named_dump.db";
statistics-file "/var/stats/named.stats";
version "DNS version unknown";
allow-recursion {
192.168.0.0/24;
10.9.222.16/29;
};
};
logging {
channel "log_default" {
file "/var/log/named.log" versions 5 size 10m;
severity info;
print-time yes;
print-category yes;
};
channel "log_security" {
file "/var/log/security.log" versions 5 size 10m;
severity info;
print-time yes;
print-category yes;
};
category default { "log_default"; };
category security { "log_security"; };
category client { "log_security"; };
};
zone "." { type hint; file "named.root"; };
zone "localhost" { type master; file "master/localhost-forward.db"; };
zone "127.in-addr.arpa" { type master; file "master/localhost-reverse.db"; };
zone "255.in-addr.arpa" { type master; file "master/empty.db"; };
zone "0.in-addr.arpa" { type master; file "master/empty.db"; };
# 正引き
# vdobv.comというドメインを利用する場合はこんな感じ。ファイル名を変えても良い。
zone "vdobv.com" {
type master;
file "master/vdobc.com.zone";
};
# 逆引き
# vdobv.comというドメインを利用する場合はこんな感じ。ファイル名を変えても良い。
zone "222.9.10.in-addr.arpa" {
type master;
file "master/vdobv.com.rev";
};
/etc/namedb/named.root をそのまま使う。
/etc/namedb/master/localhost-forward.db をそのまま使う。
/etc/namedb/master/localhost-reverse.db をそのまま使う。
自分のドメインの正引き用に新しく作るファイル。
$TTL 86400
$ORIGIN vdobv.com.
;
@ IN SOA ns1.vdobv.com. root.vdobv.com. (
2009022515 ; serial
3600 ; refresh
900 ; retry
604800 ; expire
86400 ; min
)
;
IN NS ns1.vdobv.com.
IN MX 10 ns1.vdobv.com.
;
ns1 IN A 10.9.222.20
www IN A 10.9.222.20
自分のドメインの逆引き用に新しく作るファイル。
$TTL 86400
$ORIGIN 222.9.10.in-addr.arpa.
;
@ IN SOA ns1.vdobv.com. root.vdobv.com. (
2009022515 ; serial
3600 ; refresh
900 ; retry
604800 ; expire
86400 ; minimum
)
;
IN NS ns1.vdobv.com.
;
IN PTR vdobv.com.
IN A 255.255.255.248
;
20 IN PTR www.vdobv.com.
リゾルバ設定ファイルが矛盾していないことを確認しておくこと。
domain vdobv.com nameserver 10.9.222.20
複数のドメインを(同じIPアドレスの)サーバ1台で動かしたい場合。
これら3ドメインを 10.9.222.20 という1台のサーバで利用するものとし、レジストラには次のように登録してあるものとする。
| ドメイン | ネームサーバ |
|---|---|
| vdobv.com | ns1.vdobv.com |
| 16pixel.net | ns1.vdobv.com |
| junkperl.com | ns1.junkperl.com |
named.conf
(省略)
zone "vdobv.com" {
type master;
file "master/vdobv.com.zone";
};
zone "16pixel.net" {
type master;
file "master/16pixel.net.zone";
};
zone "junkperl.com" {
type master;
file "master/junkperl.com.zone";
};
(省略)
vdobv.com.zone
$TTL 86400
$ORIGIN vdobv.com.
;
@ IN SOA ns1.vdobv.com. root.vdobv.com. (
2009022515 ; serial
3600 ; refresh
900 ; retry
604800 ; expire
86400 ; min
)
;
IN NS ns1.vdobv.com.
IN MX 10 ns1.vdobv.com.
;
ns1 IN A 10.9.222.20
www IN A 10.9.222.20
16pixel.net.zone
$TTL 86400
$ORIGIN 16pixel.net.
;
@ IN SOA ns1.vdobv.com. root.vdobv.com. (
2009022515 ; serial
3600 ; refresh
900 ; retry
604800 ; expire
86400 ; min
)
;
IN NS ns1.vdobv.com.
;
www IN A 10.9.222.20
junkperl.com.zone
$TTL 86400
$ORIGIN junkperl.com.
;
@ IN SOA ns1.junkperl.com. root.junkperl.com. (
2009022515 ; serial
3600 ; refresh
900 ; retry
604800 ; expire
86400 ; min
)
;
IN NS ns1.junkperl.com.
IN MX 10 ns1.junkperl.com.
;
ns1 IN A 10.9.222.20
www IN A 10.9.222.20
<KEY-NAME>には任意の文字列。
1.rndc.keyファイルを生成する。
# cd /etc/namedb # rndc-confgen -a -b 256 -k <KEY-NAME> # chown root rndc.key # chmod 600 rndc.key # more rndc.key key "<KEY-NAME>" { algorithm hmac-md5; secret "?????????????????????????????????????????"; };
2.named.confに次の内容を追記する。ファイル末尾でよい。
# cd /etc/namedb # vi named.conf
include "/etc/namedb/rndc.key";
controls {
inet 127.0.0.1 allow { 127.0.0.1; } keys { "<KEY-NAME>"; };
};
3.rndc.confを作る。
# cd /etc/namedb # touch rndc.conf # chown root rndc.conf # chmod 600 rndc.conf # vi rndc.conf
include "/etc/namedb/rndc.key";
options {
default-server localhost;
default-key "<KEY-NAME>";
};
server localhost {
key "<KEY-NAME>";
};
4.rndcコマンドは、zoneの再読み込みなどに使う。
ゾーンの再読み込み # rndc -s localhost reload vdobv.com キャッシュのフラッシュ # rndc -s localhost flush ステータス表示 # rndc -s localhost status