トップページ > インフォメーション

自宅サーバ構築MY HOME SERVER

DNS(内向き名前解決)(Bind) クライアント側設定

- DNS(内向き名前解決)(Bind) -

ローカルのクライアントPCがドメイン名でサーバにアクセスできるように設定します。bindを インストールして、設定する必要があります。 bind インストール後にDNS構築に必要なファイルです。存在しない、ファイルは新規作成します。

/etc ディレクトリ named.conf BINDの設定ファイル
/etc ディレクトリ rndc.conf  
(スペルは r n d c です)
namedに関する制御情報
/etc ディレクトリ resolv.conf DNSサーバ情報
/var/named ディレクトリ localhost.zone ローカルホストの正引きデータ
/var/named ディレクトリ named.ca  
(新規作成します。)
ルートサーバーのアドレスを記述
/var/named ディレクトリ 0.0.127.in-addr.arpa ローカルホストの逆引きデータ
/var/named ディレクトリ 0.168.192.in-addr.arpa 自分のドメインの逆引きデータ
/var/named ディレクトリ hoge123.dip.jp 自分のドメインの正引きデータ
/var/named ディレクトリ named.local ローカルホストの逆引きデータ



まずはBindのインストールから始めます。その後で最初に不正な操作を防ぐため、、「/etc/named.conf」と「/etc/rndc.conf」の間で鍵が合って いないと操作できないようします。そのための「鍵」を作ります。
[root@hoge123~]# apt-get -y install bind ← 既にインストール済みなので不要です。
[root@hoge123~]# cd /var/named
[root@hoge123 named]# dnssec-keygen -a hmac-md5 -b 512 -n HOST bind
↑ 鍵を作るコマンドです。作成まで5〜10分位時間がかかります。終わるまで待ってください。
[root@hoge123 named]# ls
Kbind.+157+*****.key
Kbind.+157+*****.private ← この2個のファイルがあれば成功です。
[root@hoge123 named]# cat Kbind.+157+*****.private
Private-key-format: v1.3
Algorithm: 157 (HMAC_MD5)
Key: M8Y+DzNkqRF7b4RaITh/ZASDFQpjEVAPlhn707sHlt/y4AOSc5FCmxc7x1iVX+Dme CGiJ7s8aehc1tPGHNvQAA==
Bits: AAA=
Created: 20120618135706
Publish: 20120618135706
Activate: 20120618135706
↑ key:の青文字部分はサンプルです。次に編集するファイルで青文字の部分を使います。青文字部分を全て選択して、TeraTermの「上部メニュー」→「編集」→「コピー」 をクリックします。keyの行が結構長いのでTereTermの画面を拡大してみてください。コピーした内容は一旦、クライアントPC側でnotepadを開いて貼り付けます。
ここから各種ファイルを編集していきます。まいどお馴染みとなりました、「viエディタ」の出番です。


[root@hoge123~]# vi /etc/rndc.conf

options {
         default-server  localhost;
         default-key     "rndckey";
         default-port    953;
        };

         server localhost {
         key     "rndckey";
        };

         key "rndckey" {
algorithm   hmac-md5;   secret "*****(ナイショ)****************************";
        };
↑ ここに先ほどのkey部分を転記します。クライアントPC側のnotepadに保存してあるkeyを貼り付けます。Teraterm
側の貼り付けはAltキーとVキーを押します。
" ダブルクォーテーションで囲っている中にkeyの部分を貼り付けるようにします。"

[root@hoge123~]# vi /etc/named.conf ← 空のnamed.confに以下の内容を記述・保存します。
長いですが、コピーしないで手入力することをお勧めします。そのままコピー貼り付けすると、 不要文字や全角スペースが入り、エラーの原因になります。


// generated by named-bootconf.pl

options {
  directory "/var/named";
   // query-source address * port 53;
   forwarders {
   202.238.XX.XX; ← ISPから提供されえいるプライマリDNSです。(自分の環境に合わせます。)
   202.238.XX.XX; ← ISPから提供されえいるセカンダリDNSです。(自分の環境に合わせます。)
   };
   allow-query {
   127.0.0.1;
   192.168.0.0/24; ← 自分のネットワーク環境に合わせます。
   };
   allow-recursion {
   127.0.0.1;
   192.168.0.0/24; ← 自分のネットワーク環境に合わせます。
   };
   allow-transfer {
   127.0.0.1;
   192.168.0.0/24; ← 自分のネットワーク環境に合わせます。
   };
};
//
// a caching only nameserver config
//
zone "." IN {
   type hint;
   file "named.ca";
};

zone "localhost" IN {
   type master;
   file "localhost.zone";
   allow-update { none; };
};

zone "0.0.127.in-addr.arpa" IN {
   type master;
   file "0.0.127.in-addr.arpa";
   allow-update { none; };
};

zone "named.local" IN {
   type master;
   file "named.local";
};

zone "hoge123.dip.jp" IN { ← 取得したドメイン名にします。
   type master;
   file "hoge123.dip.jp"; ← 取得したドメイン名にします。
};

zone "0.168.192.in-addr.arpa" IN {
   type master;
   file "0.168.192.in-addr.arpa";
};

key "rndckey" {
   algorithm hmac-md5;
   secret "*****(ナイショ)****************************";
};     ↑ 先ほどコピーした内容を貼り付けます。

controls {
   inet 127.0.0.1 port 953 allow { localhost;} keys { "rndckey"; };
   };

logging {
   category lame-servers { null;};
   };

hoge123.dip.jpを作成・保存します。
[root@hoge123~]# vi /var/named/hoge123.dip.jp 

- 新規作成のため、空です。以下の内容を記述・保存します。-

$TTL 1D
@        IN  SOA    dns.hoge123.dip.jp.   root.hoge123.dip.jp. (
                          2005021401  ; Serial
                          3H          ; Refresh
                          15M         ; Retr
                          1W          ; Expire
                          1D )        ; Minimum
         IN  NS     hoge123.dip.jp.
         IN  MX 10  hoge123.dip.jp.

@        IN  A      192.168.0.10 ← サーバのIPアドレスです
router   IN  A      192.168.0.1 ← ルータのIPアドレスです
dns      IN  A      192.168.0.10

hoge123.dip.jp  IN  A      192.168.0.10
www      IN  CNAME  dns
mail     IN  CNAME  dns
ftp      IN  CNAME  dns
nas      IN  CNAME  dns
server   IN  CNAME  dns
ssh      IN  CNAME  dns

0.168.192.in-addr.arpaを編集・保存します。
[root@hoge123~]# vi /var/named/0.168.192.in-addr.arpa

- 新規作成のため、空です。以下の内容を記述・保存します。-

$TTL 1D
@    IN  SOA    dns.hoge123.dip.jp.  root.hoge123.dip.jp. (
                     2005021401  ; Serial
                     3H          ; Refresh
                     15M         ; Retry
                     1W          ; Expire
                     1D )        ; Minimum
     IN   NS    hoge123.dip.jp.
     IN   PTR   hoge123.dip.jp.
     IN   A     255.255.255.0
10    IN   PTR   hoge123.dip.jp. ← 先頭の10 は、サーバのIPアドレス(192.168.0.10)の略です。


0.0.127.in-addr.arpaを編集・保存します。
[root@hoge123~]# vi /var/named/0.0.127.in-addr.arpa

- 以下の内容を記述・保存します。-

$TTL 1D
@   IN    SOA    dns.hoge123.dip.jp.    root.hoge123.dip.jp. (
                      2005021401
                      3H
                      15M
                      1W
                      1D )
    IN    NS     dns.hoge123.dip.jp.
1   IN    PTR    localhost.


localhost.zoneを編集・保存します。
[root@hoge123~]# vi /var/named/localhost.zone

$TTL 1D
$ORIGIN localhost.
@   IN    SOA    dns.hoge123.dip.jp.    root.hoge123.dip.jp. (
                      2005021401
                      3H
                      15M
                      1W
                      1D )
               IN    NS     dns.hoge123.dip.jp.
localhost.     IN    A      127.0.0.1


named.localを編集・保存します。
[root@hoge123~]# vi /var/named/named.local

$TTL    86400
@       IN      SOA     localhost. root.localhost.  (
                                      1997022700 ; Serial
                                      28800      ; Refresh
                                      14400      ; Retry
                                      3600000    ; Expire
                                      86400 )    ; Minimum
              IN      NS      localhost.

1       IN      PTR     localhost. ← 先頭の1 はルータのIPアドレス(192.168.0.1)の略です

最新版のルート情報をダウンロードして、既存のnamed.caに上書きします。
[root@hoge123~]# wget ftp://ftp.nic.ad.jp/internet/rs.internic.net/domain/named.root

[root@hoge123~]# mv named.root /var/named/named.ca

resolv.confを編集・保存します。
[root@hoge123~]# vi /etc/resolv.conf

nameserver 192.168.0.10 ← この記述だけに変更・保存します。

変更・設定が終わったのでBindを開始します。
[root@hoge123~]# /etc/rc.d/init.d/named start

- 起動エラーが出る場合、上記編集ファイルをすべて記述漏れや間違いなどがないか、見直してください

- また、下記エラーが出た場合、chown named:named /var/named/named.ca に変更してください。 could not configure root hints from 'named.ca': permission denied loading configuration: permission denied


[root@hoge123~]# chkconfig named on - サーバ再起動時も、Bindが自動起動するようにします。
[root@hoge123~]# chkconfig --list named
named           0:off   1:off   2:on    3:on    4:on    5:on    6:off
                       ↑ 2〜5までon になっていれば正常です。

ネットワークのDNS設定を変更します。ルータのアドレスから、サーバーのアドレスに書き換えます。この設定をしないと サーバが再起動・シャットダウンしたとき、クライアントパソコンからサーバにドメイン名でアクセスできなくなります。
          
[root@hoge123~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0

- DNS1のIPアドレスをサーバのIPアドレスに変更します-

# Intel Corporation 82562EZ 10/100 Ethernet Controller
DEVICE=eth0
BOOTPROTO=static
BROADCAST=192.168.0.255
HWADDR=00:13:20:11:DF:9C
IPADDR=192.168.0.10
NETMASK=255.255.255.0
NETWORK=192.168.0.0
ONBOOT=yes
TYPE=Ethernet
DNS1=192.168.0.10
NM_CONTROLLED=yes


起動に成功したら、正常動作するかサーバ側でテストします。host コマンドで問い合わせを行い、下図の 用に返答があれば、正常動作しています。
[root@hoge123~]# host localhost
localhost has address 127.0.0.1
[root@hoge123~]# host 127.0.0.1
1.0.0.127.in-addr.arpa domain name pointer localhost.
[root@hoge123~]# host 192.168.0.10
10.0.168.192.in-addr.arpa domain name pointer hoge123.dip.jp.
[root@hoge123~]# host hoge123.dip.jp
hoge123 mail is handled by 10 hoge123.dip.jp.

[root@hoge123~]#



- クライアント側設定 -

クライアントPC側からも名前解決できているか、確認します。ローカルエリア接続のプロパティを 開きます。「インターネットプロトコル」を選択して、「プロパティ」をクリックします。

1.jpg(47293 byte)


「IPアドレスを自動取得する」を選択します。(ルータのDHCP機能が有効になっている必要があります) 「優先DNSサーバ」にサーバのIPアドレスを入れて「OK」を押します。

2.jpg(43961 byte)


「ファイル名を指定して実行」をクリックします。

1.jpg(45388 byte)


「cmd」と入力して「OK」ボタンをクリックします。

3.jpg(16917 byte)


コマンドプロンプトの画面が出たらnslookup コマンドを実行して名前解決できているか確認します。 下図のように表示されれば、クライアントPCから名前解決できています。
        
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\Documents and Settings\hogehoge>nslookup
Default Server: hoge123.dip.jp
Address: 192.168.0.10

>hoge123.dip.jp
Server:  hoge123.dip.jp
Address:  192.168.0.10

Name:  hoge123.dip.jp
Address:  192.168.0.10

>192.168.0.10
Server:  hoge123.dip.jp
Address:  192.168.0.10

Name:  hoge123.dip.jp
Address:  192.168.0.10

>exit

C:\Documents and Settings\hogehoge>

これでクライアントPCからサーバのローカルIPアドレスでなく、ドメイン名でアクセスできます。 例えば、Tera Termのログイン時も、「ホスト」にhoge123.dip.jpを入力します。


自宅サーバ構築(Vine Linux6)に戻る


Copyright(C) PCDEMAGIC All Rights Reserved.