DNS(Domain Name Server)はインターネットに接続するときにIPアドレス(xxx.xxx.xxx.xxx)を、kajuhome.comの様に人間に分かりやすくアドレスを変換してくれるサーバです。
ネームサーバ(bind)のインストール # yum -y install bind キャッシングサーバのインストール (※:Fedora8 / Fedora9 / Fedora10 / Fedora11 / Fedora12 にはありません) # yum -y install caching-nameserver |

bindはホスト名とIPアドレスの対照表をゾーンという単位で管理しています。
マスタサーバとして設定を行なうには、まずゾーン名を決める必要があります。
また、このゾーンには正引きゾーンと逆引きゾーンがあります。
正引きはドメイン名をIPアドレスに変換します。
正引きゾーンファイル名はドメインのkajuhome.comが正引きゾーン名となります
逆引きゾーンはIPアドレスをドメイン名に変換を行ないます。
使用するIPアドレスのネットワークアドレス部分から作成し、ネットワークアドレスを逆から作成しその値+.in-adde.arpaとします。
言葉だと分かりにくいので当サイトの逆引きゾーン名を例とすると、
![]() |
# vi /etc/named.conf
// generated by named-bootconf.pl
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";
bindを使用する範囲を指定(全てのIPに許可)
allow-query { any; };
recursion yes;
dnssec-enable yes;
dnssec-validation yes;
dnssec-lookaside . trust-anchor dlv.isc.org.;
以下は必要に応じて追加(特に追加の必要はありません)
スレーブDNSサーバを指定
allow-transfer{
xxx.xxx.xxx.xxx;
};
外部のネームサーバに問い合わせを転送する場合
複数ある場合は、以下の様に複数行で記述します。
forwarders{
yyy.yyy.yyy.yyy;
zzz.zzz.zzz.zzz;
};
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
zone "." IN {
type hint;
file "named.ca";
};
include "/etc/named.rfc1912.zones";
include "/etc/pki/dnssec-keys//named.dnssec.keys";
include "/etc/pki/dnssec-keys//dlv/dlv.isc.org.conf";
内向きVIEWの定義
view "internal" {
自サーバおよび、自サーバが所属するネットーワークに許可
match-clients { localhost; localnets; };
キャッシュ有効
recursion yes;
最終行にゾーン指定(以下)を追加
// 正引きゾーン(kajuhome.com)の指定
zone "kajuhome.com" {
type master;
file "kajuhome.com.lan"; <--- ファイル名に注視
allow-update { none; };
};
// 逆引きゾーン(192.168.1.0/24)の指定
zone "1.168.192.in-addr.arpa" {
type master;
file "1.168.192.in-addr.arpa.db";
allow-update { none; };
};
};
外向きVIEWの定義
view "external" {
上記(内向き問い合わせにマッチしなかったIP全て)
match-clients { any; };
キャッシュ無効
recursion no;
最終行にゾーン指定(以下)を追加
// 正引きゾーン(kajuhome.com)の指定
zone "kajuhome.com" {
type master;
file "kajuhome.com.wan"; <--- ファイル名に注視
allow-update { none; };
};
// 逆引きゾーン(221.151.xxx.yyy)の指定
zone "xxx.151.221.in-addr.arpa" {
type master;
file "xxx.151.221.in-addr.arpa.db";
allow-update { none; };
};
};
|
当ページの紹介例で言うと以下の部分が該当します。
zone "." IN {
type hint;
file "named.ca";
};
include "/etc/named.rfc1912.zones";
|
以下の様に view スコープ内に上記 zone 定義を移動します。
include "/etc/pki/dnssec-keys//named.dnssec.keys";
include "/etc/pki/dnssec-keys//dlv/dlv.isc.org.conf";
view 定義外の zone 参照を移動
view "internal" {
match-clients { localhost; localnets; };
recursion yes;
zone "." IN {
type hint;
file "named.ca";
};
include "/etc/named.rfc1912.zones";
zone "kajuhome.com" {
type master;
file "kajuhome.com.lan";
allow-update { none; };
};
zone "1.168.192.in-addr.arpa" {
type master;
file "1.168.192.in-addr.arpa.db";
allow-update { none; };
};
};
view "external" {
match-clients { any; };
recursion no;
zone "." IN {
type hint;
file "named.ca";
};
include "/etc/named.rfc1912.zones";
zone "kajuhome.com" {
type master;
file "kajuhome.com.wan";
allow-update { none; };
};
zone "xxx.151.221.in-addr.arpa" {
type master;
file "xxx.151.221.in-addr.arpa.db";
allow-update { none; };
};
};
|
# vi /etc/named.caching-nameserver.conf
//
// named.caching-nameserver.conf
//
// Provided by Red Hat bind-config package to configure the
// ISC BIND named(8) DNS server as a caching only nameserver
// (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//
// DO NOT EDIT THIS FILE - use system-config-bind or an editor
// to create named.conf - edits to this file will be lost on
// bind-config package upgrade.
//
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";
query-source port 53;
コメントにする(IPv6インタフェースでDNSサービスを有効する場合を除く)
// query-source-v6 port 53;
全てのIPに許可
allow-query { any; };
外部のネームサーバに問い合わせを転送する場合(通常はコメントアウト)
複数ある場合は、以下の様に複数行で記述します。
forwarders{
yyy.yyy.yyy.yyy;
zzz.zzz.zzz.zzz;
};
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
zone "." IN {
type hint;
file "named.ca";
};
include "/etc/named.rfc1912.zones";
view localhost_resolver {
match-clients { localhost; };
match-destinations { localhost; };
recursion yes;
サーバ自身も自ネットワークを参照できるように設定
include "/etc/named.kajuhome.com.lan"; <--- ファイル名に注視
};
内向きのview定義(以下追加)
view internal {
match-clients { localnets; };
match-destinations { localnets; };
recursion yes;
include "/etc/named.kajuhome.com.lan"; <--- ファイル名に注視
};
外向きのview定義(以下追加)
view external {
match-clients { any; };
match-destinations { any; };
recursion no;
include "/etc/named.kajuhome.com.wan"; <--- ファイル名に注視
};
内向きのゾーンファイル定義ファイル情報設定(新規作成)
# vi /etc/named.kajuhome.com.lan
// 正引きゾーン(kajuhome.com)の指定
zone "kajuhome.com" IN {
type master;
file "kajuhome.com.lan"; <--- ファイル名に注視
allow-update { none; };
};
// 逆引きゾーン(192.168.1.0/24)の指定
zone "1.168.192.in-addr.arpa" IN {
type master;
file "1.168.192.in-addr.arpa.db";
allow-update { none; };
};
外向きのゾーンファイル定義ファイル情報設定(新規作成)
# vi /etc/named.kajuhome.com.wan
// 正引きゾーン(kajuhome.com)の指定
zone "kajuhome.com" IN {
type master;
file "kajuhome.com.wan"; <--- ファイル名に注視
allow-update { none; };
};
// 逆引きゾーン(221.151.xxx.yyy)の指定
zone "xxx.151.221.in-addr.arpa" IN {
type master;
file "xxx.151.221.in-addr.arpa.db";
allow-update { none; };
};
|
bind設定ファイルで動作している場合 Nov 17 09:08:27 fedora named[3756]: starting BIND 9.3.3rc3 -u named Nov 17 09:08:27 fedora named[3756]: found 2 CPUs, using 2 worker threads Nov 17 09:08:27 fedora named[3756]: loading configuration from '/etc/named.conf' caching-nameserver設定ファイルで動作している場合 Nov 17 08:38:21 fedora named[3667]: starting BIND 9.3.3rc3 -u named -c /etc/named.caching-nameserver.conf Nov 17 08:38:21 fedora named[3667]: found 2 CPUs, using 2 worker threads Nov 17 08:38:21 fedora named[3667]: loading configuration from '/etc/named.caching-nameserver.conf' |
内向き正引きゾーンファイル(kajuhome.com.lan)の作成
# vi /var/named/kajuhome.com.lan
$TTL 86400
@ IN SOA kajuhome.com. root.kajuhome.com.(
2007031400 ; serial
3600 ; refresh (1 hour)
900 ; retry (15 minutes)
604800 ; expire (1 week)
86400 ; negative (1 day)
)
IN NS kajuhome.com.
IN MX 10 kajuhome.com.
IN A 192.168.1.5
client1 IN A 192.168.1.10
client2 IN A 192.168.1.20
fedora IN CNAME kajuhome.com.
www IN CNAME kajuhome.com.
|
NSレコードはゾーンを管理するDNSサーバを指定します。
MXレコードはメールの配信先を指定します。(メールサーバの構築で必要となります。)
CNAMEレコードは別名でアクセスする場合に指定します。
Aレコードがホスト名に対応したIPアドレスを設定しています。
内向き逆引きゾーンファイル(1.168.192.in-addr.arpa.db)の作成
# vi /var/named/1.168.192.in-addr.arpa.db
$TTL 86400
@ IN SOA kajuhome.com. root.kajuhome.com.(
2007031400 ; serial
3600 ; refresh (1 hour)
900 ; retry (15 minutes)
604800 ; expire (1 week)
86400 ; negative (1 day)
)
IN NS kajuhome.com.
5 IN PTR kajuhome.com.
10 IN PTR client1.kajuhome.com.
20 IN PTR client2.kajuhome.com.
|
NSレコードは、正引きゾーンファイルで説明しましたので割愛します。
PTRレコードがIPアドレスからホスト名に変換する為のレコードです。
正引きゾーンファイル(kajuhome.com.wan)の作成
# vi /var/named/kajuhome.com.wan
$TTL 86400
@ IN SOA kajuhome.com. root.kajuhome.com.(
2007031400 ; serial
3600 ; refresh (1 hour)
900 ; retry (15 minutes)
604800 ; expire (1 week)
86400 ; negative (1 day)
)
IN NS kajuhome.com.
IN MX 10 kajuhome.com.
IN A 221.151.xxx.yyy
fedora IN CNAME kajuhome.com.
www IN CNAME kajuhome.com.
|
外向きのゾーンファイルには「CNAME」を定義していないので、問い合わせにできる名前は『kajuhome.com』だけとなります。
逆引きゾーンファイル(xxx.151.221.in-addr.arpa.db)の作成
# vi /var/named/xxx.151.221.in-addr.arpa.db
$TTL 86400
@ IN SOA kajuhome.com. root.kajuhome.com.(
2007031400 ; serial
3600 ; refresh (1 hour)
900 ; retry (15 minutes)
604800 ; expire (1 week)
86400 ; negative (1 day)
)
IN NS kajuhome.com.
yyy IN PTR kajuhome.com.
|
ルートDNS情報を取得
# wget ftp://ftp.nic.ad.jp/internet/rs.internic.net/domain/named.root
--17:15:43-- ftp://ftp.nic.ad.jp/internet/rs.internic.net/domain/named.root
=> `named.root'
ftp.nic.ad.jp をDNSに問いあわせています... 202.12.30.115
ftp.nic.ad.jp[202.12.30.115]:21 に接続しています... 接続しました。
anonymous としてログインしています... ログインしました!
==> SYST ... 完了しました。 ==> PWD ... 完了しました。
==> TYPE I ... 完了しました。 ==> CWD /internet/rs.internic.net/domain
... 完了しました。
==> PASV ... 完了しました。 ==> RETR named.root ... 完了しました。
長さ: 2,517 (確証はありません)
100%[=====================================>] 2,517 --.--K/s
17:15:43 (1.22 MB/s) - `named.root' を保存しました [2517]
取得したDNS情報を移動
# mv named.root /var/named/named.ca
mv: `/var/named/named.ca' を上書きしてもよろしいですか(yes/no)? y
|
ホストファイルの確認 # vi /etc/hosts # Do not remove the following line, or various programs # that require network functionality will fail. 127.0.0.1 localhost.localdomain localhost #192.168.1.5 fedora.kajuhome.com fedora #192.168.1.10 client |
DNSサーバ指定ファイルの確認 # vi /etc/resolv.conf search kajuhome.com nameserver 192.168.1.5 |
名前解決をする順番を hostsファイル→dnsの順に名前解決します。(以外は除外。)
ネームサービススイッチの設定ファイルの設定
# vi /etc/nsswitch.conf
#hosts: db files nisplus nis dns
↓
hosts: files dns
|
名前解決を行う方法とその利用順序を記述するファイルの確認 # vi /etc/host.conf order hosts,bind |
bindサービスを起動する # /etc/rc.d/init.d/named start named を起動中: [ OK ] |
![]() |
|
![]() |
|
Microsoft Windows XP [Version 5.1.2600] (C) Copyright 1985-2001 Microsoft Corp. nslookupの起動 C:\Documents and Settings\fedora>nslookup Default Server: kajuhome.com Address: 192.168.1.5 正引き試験 > kajuhome.com Server: kajuhome.com Address: 192.168.1.5 Name: kajuhome.com Address: 192.168.1.5 ← ローカルIPアドレスが返ってきた 正引き試験(CNAME) > www.kajuhome.com Server: kajuhome.com Address: 192.168.1.5 Name: kajuhome.com Address: 192.168.1.5 ← ローカルIPアドレスが返ってきた Aliases: www.kajuhome.com ← 別名(CNAME)で解決されている 正引き試験(ショート名) > client1 Server: kajuhome.com Address: 192.168.1.5 Name: client1.kajuhome.com Address: 192.168.1.10 ← ローカルIPアドレスが返ってきた 逆引き試験 > 192.168.1.5 Server: kajuhome.com Address: 192.168.1.5 Name: kajuhome.com ← ホスト名が返ってきた Address: 192.168.1.5 逆引き試験 > 192.168.1.20 Server: kajuhome.com Address: 192.168.1.5 Name: client2.kajuhome.com ← ホスト名が返ってきた Address: 192.168.1.20 nslookupを終了 > exit DOSを終了 C:\Documents and Settings\fedora>exit |
Microsoft Windows XP [Version 5.1.2600] (C) Copyright 1985-2001 Microsoft Corp. nslookupの起動 C:\Documents and Settings\fedora>nslookup Default Server: UnKnown Address: 172.16.12.251 問い合わせるDNSサーバを指定(自サーバのグローバルIPを指定する) 自サーバのグローバルIPアドレスを調べるのに問い合わせるDNSサーバへ 自サーバのグローバルIPアドレスを入力するのは不自然ですが、 bindの動作検証を行うのが目的ですのでご了承ください。 > server 221.151.xxx.yyy Default Server: [221.151.xxx.yyy] Address: 221.151.xxx.yyy 正引き試験 > kajuhome.com Server: [221.151.xxx.yyy] Address: 221.151.xxx.yyy Non-authoritative answer: Name: kajuhome.com Address: 221.151.xxx.yyy ← グローバルIPアドレスが返ってきた 正引き試験(CNAME) > www.kajuhome.com Server: [221.151.xxx.yyy] Address: 221.151.xxx.yyy 外向けゾーンには定義していない為、見つからないと返却された。 *** UnKnown can't find www.kajuhome.com: Non-existent domain また、内向きゾーンファイルも参照していない事も分かる。 正引き試験(試しに内部クライアントを問い合わせてみる) > client1.kajuhome.com Server: [221.151.xxx.yyy] Address: 221.151.xxx.yyy 外向けゾーンには定義していない為、見つからないと返却された。 *** UnKnown can't find client1.kajuhome.com: Non-existent domain また、内向きゾーンファイルも参照していない事も分かる。 逆引き試験 > 221.151.xxx.yyy Server: [221.151.xxx.yyy] Address: 221.151.xxx.yyy Name: kajuhome.com ← ホスト名が返ってきた Address: 221.151.xxx.yyy nslookupを終了 > exit DOSを終了 C:\Documents and Settings\fedora>exit |
OSの再起動を行なった時にbind(DNSサーバ)を自動的に起動するように設定する
起動時にbindを起動する # chkconfig named on 設定内容を確認 # chkconfig --list named named 0:オフ 1:オフ 2:オン 3:オン 4:オン 5:オン 6:オフ |
chrootとは、bind(named)プロセス等がchrootパスを「/」ルートと認識させ、万一乗っ取られた場合にそのパス以上にアクセスさせない為の機構です。
【設定ファイル】
「/etc/named.conf」→「/var/named/chroot/etc/named.conf」
「/etc/named.caching-nameserver.conf」→「/var/named/chroot/etc/named.caching-nameserver.conf」
【正引き・逆引きゾーンファイル】
「/var/named/kajuhome.com.lan」→「/var/named/chroot/var/named/kajuhome.com.lan」
「/var/named/1.168.192.in-addr.arpa.db」→「/var/named/chroot/var/named/1.168.192.in-addr.arpa.db」
「/var/named/kajuhome.com.wan」→「/var/named/chroot/var/named/kajuhome.com.wan」
「/var/named/xxx.151.221.in-addr.arpa.db」→「/var/named/chroot/var/named/xxx.151.221.in-addr.arpa.db」
|
【プロセス】 # ps -ef | grep named named 1956 1 0 13:43 ? 00:00:00 /usr/sbin/named -u named 【bind設定ファイル】 # ls -l /etc/named.conf -rw-r--r-- 1 root named 1581 1月 16 14:06 /etc/named.conf 【ゾーンファイル】 # ls -l /var/named/ 合計 56 -rw-rw---- 1 root named 459 2006-12-16 12:48 1.168.192.in-addr.arpa.db -rw-rw---- 1 root named 329 2007-03-14 23:12 xxx.151.221.in-addr.arpa.db drwxrwx--- 2 root named 4096 2004-08-26 05:51 data -rw-rw---- 1 root named 492 2006-12-16 12:47 kajuhome.com.lan -rw-rw---- 1 root named 388 2007-03-14 23:27 kajuhome.com.wan -rw-rw---- 1 root named 2518 2007-04-16 23:52 named.ca -rw-rw---- 1 root named 129 2007-06-21 19:09 named.empty -rw-rw---- 1 root named 152 2007-06-21 19:09 named.localhost -rw-rw---- 1 root named 145 2007-06-21 19:09 named.loopback drwxrwx--- 2 root named 4096 2004-07-27 23:57 slaves |
# yum -y install bind-chroot |
【プロセス】 # ps -ef | grep named named 1827 1 1 13:42 ? 00:00:00 /usr/sbin/named -u named -t /var/named/chroot 【bind設定ファイル】 # ls -l /etc/named.conf lrwxrwxrwx 1 root root 32 2006-01月 16 14:09 /etc/named.conf -> /var/named/chroot/etc/named.conf 【ゾーンファイル】 # ls -l /var/named/ 合計 28 lrwxrwxrwx 1 root root 53 2006-01-16 14:09 1.168.192.in-addr.arpa.db -> /var/named/chroot/var/named/1.168.192.in-addr.arpa.db lrwxrwxrwx 1 root root 54 2007-03-14 23:44 xxx.151.221.in-addr.arpa.db -> /var/named/chroot/var/named/xxx.151.221.in-addr.arpa.db drwxr-x--- 6 root named 4096 2007-06-21 14:09 chroot drwxrwx--- 2 named named 4096 2007-06-21 07:15 data lrwxrwxrwx 1 root root 43 2007-01-16 14:09 kajuhome.com.lan -> /var/named/chroot/var/named/kajuhome.com.lan lrwxrwxrwx 1 root root 55 2007-03-14 23:44 kajuhome.com.wan -> /var/named/chroot/var/named/kajuhome.com.wan lrwxrwxrwx 1 root root 36 2007-06-22 14:09 named.ca -> /var/named/chroot/var/named/named.ca lrwxrwxrwx 1 root root 43 2007-06-22 14:09 named.empty -> /var/named/chroot/var/named/named.empty lrwxrwxrwx 1 root root 39 2007-06-22 14:09 named.localhost -> /var/named/chroot/var/named/named.localhost lrwxrwxrwx 1 root root 38 2007-06-22 14:09 named.loopback -> /var/named/chroot/var/named/named.loopback drwxrwx--- 2 named named 4096 2007-06-21 07:15 slaves |
自前DNSサーバを外部に公開するに当たって、ルータの設定が必要です。
ルータのポート開閉は、ご自分のルータ取扱説明書をご覧ください。
|
リーズナブルで抜群のスペック。パソコン工房 |
価格.comブロードバンドプロバイダ比較 |