| はじめての自宅サーバ構築 - Fedora/CentOS - | Last Update | 2008/07/25 | |
| It opened to 2004/09/19. 当サイトはFedora9で運用しています |
Visitors Pageviews Today(IP/PV) |
3,374,115 12,762,060 1,273/8,682 |
ネームサーバ(bind)のインストール # yum -y install bind キャッシングサーバのインストール (※:Fedora8 / Fedora9 にはありません) # yum -y install caching-nameserver |

![]() |
# vi /etc/named.conf
// 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;
bindを使用する範囲を指定(以下を追加)
allow-query{
全てのIPに許可
any;
};
スレーブDNSサーバを指定(通常は、コメントアウト)
allow-transfer{
xxx.xxx.xxx.xxx;
};
外部のネームサーバに問い合わせを転送する場合(通常はコメントアウト)
複数ある場合は、以下の様に複数行で記述します。
forwarders{
yyy.yyy.yyy.yyy;
zzz.zzz.zzz.zzz;
};
};
//
// a caching only nameserver config
//
controls {
inet 127.0.0.1 allow { localhost; } keys { rndckey; };
};
zone "." IN {
type hint;
file "named.ca";
};
include "/etc/named.rfc1912.zones";
include "/etc/rndc.key";
内向き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";
|
controls {
inet 127.0.0.1 allow { localhost; } keys { rndckey; };
};
include "/etc/rndc.key";
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.
|
内向き逆引きゾーンファイル(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.
|
正引きゾーンファイル(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.
|
逆引きゾーンファイル(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 |
ネームサービススイッチの設定ファイルの設定
# 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 |
起動時にbindを起動する # chkconfig named on 設定内容を確認 # chkconfig --list named named 0:オフ 1:オフ 2:オン 3:オン 4:オン 5:オン 6:オフ |
【設定ファイル】
「/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 |