当サイトで紹介している『DHCPサーバの構築』で動的IPを割り振った場合、『DNSサーバの構築(BIND)』で、その動的IPアドレスをホスト名に割り付ける事が出来ません。
このページで紹介する方法は、クライアントに任意のIPアドレスを付与し、クライアント情報(クライアントのコンピュータ名)をDNSサーバに紐付けて管理者側の負担を軽減させる方法を紹介致します。
![]() |
サーバのホスト名は『fedora』、FQDNは『fedora.kajuhome.com』『192.168.1.5』とします。 ただし、外部と同じ名前でアクセスできる様に『kajuhome.com』で定義します。 また、サンプルを兼ねて別名で『www』、FQDN『www.kajuhome.com』も定義します。 クライアントは2台あり、コンピュータ名が『client1』、FQDNを『client1.kajuhome.com』、割り振るIPアドレスを『192.168.1.xxx』、 もう一方のコンピュータ名が『client2』、FQDNを『client2.kajuhome.com』、割り振るIPアドレスを『192.168.1.yyy』として紐付けます。 (備考:クライアントの数は、DHCPによるクライアントに割り当てるIPアドレス数内であれば何台あっても構いません) |
『DHCPサーバの構築』の設定ファイル「dhcpd.conf」を基準に変更点や追加設定を赤文字で記載しています。
リリース時間を変更している点としては、ダイナミックに変更するIPアドレスを長い時間貸し出しさせない為です。(特に理由はありません。)
DHCP設定ファイルの編集 「dhcpd.conf」はバージョンによってパス位置が違うので注意(DHCPサーバの構築(DHCP)参照) # vi /etc/dhcp/dhcpd.conf ddns-update-style interim; ignore client-updates; not authoritative; log-facility local7; subnet 192.168.1.0 netmask 255.255.255.0 { option routers 192.168.1.1; option subnet-mask 255.255.255.0; option domain-name "kajuhome.com"; option domain-name-servers 192.168.1.5; クライアントに割り当てるIPアドレスの範囲を指定(100〜149の50個を割り当てる) range dynamic-bootp 192.168.1.100 192.168.1.149; デフォルトリース時間(秒) default-lease-time 600; 最大リース時間(秒) max-lease-time 7200; } Dynamic DNSのための追加設定(DNSサーバの設定ファイル「ZONE名」とあわせる事。) 正引きゾーン zone kajuhome.com { サーバのアドレスを設定 primary 192.168.1.5; } 逆引きゾーン zone 1.168.192.in-addr.arpa { サーバのアドレスを設定 primary 192.168.1.5; } |
bind設定ファイルの編集
# vi /etc/named.conf
//
// named.conf
//
// Provided by Red Hat bind 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.
//
options {
listen-on port 53 { any; };
// 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";
allow-query { any; };
recursion yes;
dnssec-enable yes;
dnssec-validation yes;
dnssec-lookaside auto;
/* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key";
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
category lame-servers { null; };
};
view "internal" {
match-clients { localhost; localnets; };
recursion yes;
zone "." IN {
type hint;
file "named.ca";
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
zone "kajuhome.com" {
type master;
file "kajuhome.com.lan";
Dynamic DNS機能を付加(更新するサーバのIPアドレスを指定)
allow-update { 192.168.1.5; };
};
zone "1.168.192.in-addr.arpa" {
type master;
file "1.168.192.in-addr.arpa.db";
Dynamic DNS機能を付加(更新するサーバのIPアドレスを指定)
allow-update { 192.168.1.5; };
};
};
view "external" {
match-clients { any; };
recursion no;
zone "." IN {
type hint;
file "named.ca";
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
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; };
};
};
|
DNSサーバが起動するプロセスは「named」ユーザで起動されます。
しかし、DNSサーバ(bind)をインストールしたデフォルトのZONEファイル配置ディレクトリ「/var/named」のアクセス権は 750 、オーナ・グループは root:named となっており、namedではファイル更新ができません。
プロセスがZONE情報を更新できる様に、アクセス権を変更します。
インストール直後のZONE配置パスのオーナ # ls -ld /var/named drwxr-x--- 3 root named 4096 6月 20 15:52 named ZONE配置パスのアクセス権変更 # chmod 770 /var/named ZONE配置パスのアクセス権確認 # ls -ld /var/named drwxrwx--- 3 root named 4096 6月 20 15:52 named 正引き・逆引きファイルのアクセス権・オーナ変更 # chown named:named /var/named/kajuhome.com.lan # chown named:named /var/named/1.168.192.in-addr.arpa.db # chmod 660 /var/named/kajuhome.com.lan # chmod 660 /var/named/1.168.192.in-addr.arpa.db 正引き・逆引きファイルのアクセス権・オーナ確認 # ls -l /var/named 合計 276 -rwxrwx--- 1 named named 301 4月 9 08:39 1.168.192.in-addr.arpa.db -rwxrwx--- 1 named named 360 4月 9 09:39 kajuhome.com.lan |
DNSサーバの起動 【FC1 から Fedora14 / CentOS4 / CentOS5 / CentOS6 の場合】 # /etc/rc.d/init.d/named start 【Fedora15以降 / CentOS7 の場合】 # systemctl start named.service DNSサーバ起動直後のログ内容 # cat /var/log/messages Jun 20 14:26:07 fedora named: named 起動 succeeded Jun 20 14:26:07 fedora named[3412]: loading configuration from '/etc/named.conf' Jun 20 14:26:07 fedora named[3412]: listening on IPv4 interface lo, 127.0.0.1#53 Jun 20 14:26:07 fedora named[3412]: listening on IPv4 interface eth0, 192.168.1.5#53 Jun 20 14:26:07 fedora named[3412]: zone 'kajuhome.com' allows updates by IP address, which is insecure Jun 20 14:26:07 fedora named[3412]: zone '1.168.192.in-addr.arpa' allows updates by IP address, which is insecure Jun 20 14:26:07 fedora named[3412]: command channel listening on 127.0.0.1#953 Jun 20 14:26:07 fedora named[3412]: zone 1.168.192.in-addr.arpa/IN: loaded serial 2005062001 Jun 20 14:26:07 fedora named[3412]: zone kajuhome.com/IN: loaded serial 2005062001 Jun 20 14:26:07 fedora named[3412]: running DHCPサーバの起動 【FC1 から Fedora14 / CentOS4 / CentOS5 / CentOS6 の場合】 # /etc/rc.d/init.d/dhcpd start 【Fedora15以降 / CentOS7 の場合】 # systemctl start dhcpd.service DHCPサーバ起動直後のログ内容 # cat /var/log/messages Jun 20 14:26:27 fedora dhcpd: Internet Systems Consortium DHCP Server V3.0.1rc14 Jun 20 14:26:27 fedora dhcpd: Copyright 2004 Internet Systems Consortium. Jun 20 14:26:27 fedora dhcpd: All rights reserved. Jun 20 14:26:27 fedora dhcpd: For info, please visit http://www.isc.org/sw/dhcp/ Jun 20 14:26:27 fedora dhcpd: Wrote 0 leases to leases file. Jun 20 14:26:27 fedora dhcpd: Internet Systems Consortium DHCP Server V3.0.1rc14 Jun 20 14:26:27 fedora dhcpd: Copyright 2004 Internet Systems Consortium. Jun 20 14:26:27 fedora dhcpd: All rights reserved. Jun 20 14:26:27 fedora dhcpd: For info, please visit http://www.isc.org/sw/dhcp/ Jun 20 14:26:27 fedora dhcpd: Wrote 0 leases to leases file. Jun 20 14:26:27 fedora dhcpd: Listening on LPF/eth0/00:0c:29:e5:36:d3/192.168.1.0/24 Jun 20 14:26:27 fedora dhcpd: Listening on LPF/eth0/00:0c:29:e5:36:d3/192.168.1.0/24 Jun 20 14:26:27 fedora dhcpd: Sending on LPF/eth0/00:0c:29:e5:36:d3/192.168.1.0/24 Jun 20 14:26:27 fedora dhcpd: Sending on Socket/fallback/fallback-net Jun 20 14:26:27 fedora dhcpd: Jun 20 14:26:27 fedora dhcpd: Sending on LPF/eth0/00:0c:29:e5:36:d3/192.168.1.0/24 Jun 20 14:26:27 fedora dhcpd: Sending on Socket/fallback/fallback-net Jun 20 14:26:27 fedora dhcpd: dhcpd 起動 succeeded |
クライアント起動(「client1」がクライアントのホスト名)直後のログ内容(クライアントのホスト名は「client1」)
# cat /var/log/messages
Jun 20 14:58:33 fedora dhcpd: DHCPDISCOVER from 00:0c:29:b7:69:85 via eth0
Jun 20 14:58:34 fedora dhcpd: DHCPOFFER on 192.168.1.150 to 00:0c:29:b7:69:85 (client1) via eth0
Jun 20 14:58:34 fedora named[3412]: client 192.168.1.5#1039: updating zone 'kajuhome.com/IN': adding an RR
Jun 20 14:58:34 fedora named[3412]: client 192.168.1.5#1039: updating zone 'kajuhome.com/IN': adding an RR
Jun 20 14:58:34 fedora named[3412]: journal file kajuhome.com.lan.jnl does not exist, creating it
Jun 20 14:58:34 fedora dhcpd: Added new forward map from client1.kajuhome.com to 192.168.1.150
Jun 20 14:58:34 fedora named[3412]: client 192.168.1.5#1039: updating zone '1.168.192.in-addr.arpa/IN': deleting an rrset
Jun 20 14:58:34 fedora named[3412]: client 192.168.1.5#1039: updating zone '1.168.192.in-addr.arpa/IN': adding an RR
Jun 20 14:58:34 fedora named[3412]: journal file 1.168.192.in-addr.arpa.db.jnl does not exist, creating it
Jun 20 14:58:34 fedora dhcpd: added reverse map from 150.1.168.192.in-addr.arpa. to client1.kajuhome.com
Jun 20 14:58:34 fedora dhcpd: DHCPREQUEST for 192.168.1.150 (192.168.1.5) from 00:0c:29:b7:69:85 (client1) via eth0
Jun 20 14:58:34 fedora dhcpd: DHCPACK on 192.168.1.150 to 00:0c:29:b7:69:85 (client1) via eth0
クライアントよりIPアドレス要求があり、ハードウェアアドレス(MACアドレス)とホスト名が通知される。
今回は、初期起動の為、journal file「kajuhome.com.lan.jnl」と「1.168.192.in-addr.arpa.db.jnl」が
なかった為、新規に作成され、サーバで割り当てたアドレスが登録される。
クライアントに割り当てたdhcp情報
# cat /var/lib/dhcpd/dhcpd.leases
# All times in this file are in UTC (GMT), not your local timezone. This is
# not a bug, so please don't ask about it. There is no portable way to
# store leases in the local timezone, so please don't request this as a
# feature. If this is inconvenient or confusing to you, we sincerely
# apologize. Seriously, though - don't ask.
# The format of this file is documented in the dhcpd.leases(5) manual page.
# This lease file was written by isc-dhcp-V3.0.1rc14
lease 192.168.1.150 {
starts 1 2005/06/20 15:20:59;
ends 1 2005/06/20 15:30:59;
binding state active;
next binding state free;
hardware ethernet 00:0c:29:b7:69:85;
uid "\001\000\014)\267i\205";
set ddns-rev-name = "150.1.168.192.in-addr.arpa.";
set ddns-txt = "31fc0ba4fc319265778c120b762742ef3f";
set ddns-fwd-name = "client1.kajuhome.com";
client-hostname "client1";}
|
実際にIPアドレスを要求したクライアントより確認をしてみる。
(下記は、クライアント(ホスト名:client1)より実施しています)
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.
IPアドレスの確認
C:\Documents and Settings\Fedora>ipconfig /all
Ethernet adapter ローカル エリア接続:
Connection-specific DNS Suffix . : kajuhome.com
Description . . . . . . . . . . . : AMD PCNET Family PCI Ethernet Adapter
Physical Address. . . . . . . . . : 00-0C-29-B7-69-85
Dhcp Enabled. . . . . . . . . . . : Yes
Autoconfiguration Enabled . . . . : Yes
IP Address. . . . . . . . . . . . : 192.168.1.150
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 192.168.1.1
DHCP Server . . . . . . . . . . . : 192.168.1.5
DNS Servers . . . . . . . . . . . : 192.168.1.5
Lease Obtained. . . . . . . . . . : 2005年6月20日 15:20:59
Lease Expires . . . . . . . . . . : 2005年6月20日 15:30:59
「nslookup」による、DNSサーバ動作確認
C:\Documents and Settings\Fedora>nslookup
Default Server: kajuhome.com
Address: 192.168.1.5
サーバのFQDNで検索
> fedora.kajuhome.com
Server: kajuhome.com
Address: 192.168.1.5
サーバのホスト名とIPアドレスが返ってきた
Name: kajuhome.com
Address: 192.168.1.5
Aliases: fedora.kajuhome.com ← 別名(CNAME)で解決されている
サーバのホスト名(ショート名)で検索
> fedora
Server: kajuhome.com
Address: 192.168.1.5
サーバのホスト名とIPアドレスが返ってきた
Name: kajuhome.com
Address: 192.168.1.5
Aliases: fedora.kajuhome.com ← 別名(CNAME)で解決されている
サーバのIPアドレスで検索
> 192.168.1.5
Server: kajuhome.com
Address: 192.168.1.5
サーバのホスト名とIPアドレスが返ってきた
Name: kajuhome.com
Address: 192.168.1.5
クライアントのFQDNで検索
> client1.kajuhome.com
Server: kajuhome.com
Address: 192.168.1.5
クライアントのFQDNとIPアドレスが返ってきた
Name: client1.kajuhome.com
Address: 192.168.1.150
クライアントのホスト名(ショート名)で検索
> client1
Server: kajuhome.com
Address: 192.168.1.5
クライアントのFQDNとIPアドレスが返ってきた
Name: client1.kajuhome.com
Address: 192.168.1.150
クライアントのIPアドレスで検索
> 192.168.1.150
Server: kajuhome.com
Address: 192.168.1.5
クライアントのFQDNとIPアドレスが返ってきた
Name: client1.kajuhome.com
Address: 192.168.1.150
>exit
|
ZONEファイルの状態。上記でjournal fileが作成された事が分かる。
# ls -l /var/named/
-rw------- 1 named named 329 6月 20 14:24 1.168.192.in-addr.arpa.db
-rw-r--r-- 1 named named 806 6月 20 14:58 1.168.192.in-addr.arpa.db.jnl
-rw------- 1 named named 337 6月 20 14:24 kajuhome.com.lan
-rw-r--r-- 1 named named 849 6月 20 14:58 kajuhome.com.lan.jnl
*:ここから配下は実行する必要はありません。(確認の為、意図的に行っています。)
DNSサーバを意図的に停止
【FC1 から Fedora14 / CentOS4 / CentOS5 / CentOS6 の場合】
# /etc/rc.d/init.d/named stop
【Fedora15以降 / CentOS7 の場合】
# systemctl stop named.service
ZONEファイルの状態。オリジナルの正引き・逆引きZONEファイルに変更がかかっている。
# ls -l /var/named/
-rw------- 1 named named 482 6月 20 15:09 1.168.192.in-addr.arpa.db
-rw-r--r-- 1 named named 806 6月 20 14:58 1.168.192.in-addr.arpa.db.jnl
-rw------- 1 named named 537 6月 20 15:09 kajuhome.com.lan
-rw-r--r-- 1 named named 849 6月 20 14:58 kajuhome.com.lan.jnl
正引きZONEファイルの中身。(DNSサーバによってクライアントのAレコードが追加されている)
# cat /var/named/kajuhome.com.lan
$ORIGIN .
$TTL 8640 ; 2 hours 24 minutes
kajuhome.com IN SOA kajuhome.com. root.kajuhome.com. (
2005062002 ; serial
3600 ; refresh (1 hour)
900 ; retry (15 minutes)
604800 ; expire (1 week)
86400 ; minimum (1 day)
)
NS kajuhome.com.
MX 10 kajuhome.com.
$ORIGIN kajuhome.com.
A 192.168.1.5
$TTL 300 ; 5 minutes
client1 A 192.168.1.150
TXT "31fc0ba4fc319265778c120b762742ef3f"
$TTL 8640 ; 2 hours 24 minutes
www CNAME kajuhome.com.
fedora CNAME kajuhome.com.
逆引きZONEファイルの中身。(DNSサーバによってクライアントのPTRレコードが追加されている)
# cat /var/named/1.168.192.in-addr.arpa.db
$ORIGIN .
$TTL 86400 ; 1 day
1.168.192.in-addr.arpa IN SOA kajuhome.com. root.kajuhome.com. (
2005062002 ; serial
3600 ; refresh (1 hour)
900 ; retry (15 minutes)
604800 ; expire (1 week)
86400 ; minimum (1 day)
)
NS kajuhome.com.
$ORIGIN 1.168.192.in-addr.arpa.
$TTL 300 ; 5 minutes
150 PTR client1.kajuhome.com.
$TTL 86400 ; 1 day
5 PTR kajuhome.com.
|
自前DNSサーバを外部に公開するに当たって、ルータの設定が必要です。
ルータのポート開閉は、ご自分のルータ取扱説明書をご覧ください。