はじめての自宅サーバ構築 - Fedora/CentOS -
Last Update 2018/05/30
[ 更新履歴 ] [ サイト マップ ] [ 質問掲示板 ] [ 雑談掲示板 ] [ リンク ]
トップ >> DNSサーバ & DHCPサーバ >> DHCPサーバとDNSサーバの連携
動作確認 [ FC1 / FC2 / FC3 / FC4 / FC5 / FC6 / Fedora7 / Fedora8 / Fedora9 / Fedora10 / Fedora11 / Fedora12 / Fedora13 / Fedora14 / Fedora15 / Fedora16 / Fedora17 / CentOS4 / CentOS5 / CentOS6 / CentOS7 ]
  1. はじめに・・・
  2. DHCPサーバの設定ファイル編集
  3. DNSサーバの設定ファイル編集
  4. DNSサーバのDirectoryオーナ変更
  5. DHCP・DNSサーバの起動確認
  6. クライアント要求時の接続確認
  7. クライアントでの動作検証
  8. DNSサーバによるゾーンファイルの更新
  9. 公開前の準備

■ はじめに・・・

当サイトで紹介している『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サーバの設定ファイル編集

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

■ DNSサーバの設定ファイル編集

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サーバのDirectoryオーナ変更

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

chrootを使用している場合は、以下のパスとファイルが「named」で書き込み出来るように変更してください

■ DHCP・DNSサーバの起動確認

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

■ DNSサーバによるゾーンファイルの更新

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サーバを外部に公開するに当たって、ルータの設定が必要です。
ルータのポート開閉は、ご自分のルータ取扱説明書をご覧ください。

■ コンテンツ関連

■ その他

ページ先頭へ

Copyright(©)2004-2018 First home server construction. All Right Reserved.