自宅サーバ構築MY HOME SERVER
|
- DNS(内向き名前解決)(Bind9) -
グローバルIPアドレスが固定でないことを前提に外向き名前解決は設定しません。DDNSに登録して、IP更新が常にされていれば外部ドメイン
からの名前解決はDDNSサービスが提供しています。
ローカルのクライアントPCがドメイン名でサーバにアクセスできるように内向き名前解決の設定します。bindを
インストールして、設定する必要があります。IP Filterを有効にしている場合は、プロトコル(TCP/UDP)ポート53番(DNS)を開放する必要があります。
[root@hoge123 ~]# cd /usr/ports/dns/bind98
[root@hoge123 /bind98]# make BATCH=yes install clean
[root@hoge123 /bind98]# cd
[root@hoge123 ~]# mv /etc/namedb/named.conf /etc/namedb/named.conf.org
[root@hoge123 ~]# rndc-confgen -a
wrote key file "/etc/namedb/rndc.key"
[root@hoge123 ~]# cat /etc/namedb/rndc.key > /etc/namedb/rndc.conf
[root@hoge123 ~]# cat /etc/namedb/rndc.key > /etc/namedb/named.conf
[root@hoge123 ~]# rm -f /etc/namedb/rndc.key
[root@hoge123 ~]# vi /etc/namedb/rndc.conf
key "rndc-key" {
algorithm hmac-md5;
secret "xxxxxxxxxxxxxxxxxxxxxx";
};
↓最終行に下記内容を追記します。
options {
default-key "rndc-key";
default-server 127.0.0.1;
default-port 953;
};
Server 127.0.0.1 {
key "rndc-key";
};
[root@hoge123 ~]# chmod 400 /etc/namedb/rndc.conf
[root@hoge123 ~]# chmod 600 /etc/namedb/named.conf
[root@hoge123 ~]# chown bind:wheel /etc/namedb/named.conf
|
named.confに変更を加え、保存します。0.168.192.in-addr.arpaの部分は、自分の環境に合わせます。 (ルータが192.168.1.1 なら1.168.192.in-addr.arpa、ルータが10.0.0.1なら0.0.10.in-addr.arpaとなります。) forwardersは契約IPSのプライマリ、セカンダリDNSを入力します。
[root@hoge123 ~]# vi /etc/namedb/named.conf
key "rndc-key" {
algorithm hmac-md5;
secret "xxxxxxxxxxxxxxxxxxxxxxxx";
};
↓最終行に下記内容を追記します。
controls {
inet 127.0.0.1 port 953 allow { 127.0.0.1; } keys { "rndc-key"; };
};
options {
version "unknown";
directory "/etc/namedb";
pid-file "/var/run/named/pid";
dump-file "/var/dump/named_dump.db";
statistics-file "/var/stats/named.stats";
listen-on-v6 { none; };
listen-on { localhost; localnets; };
allow-query { localhost; localnets; };
allow-recursion { localhost; localnets; };
allow-transfer { localhost; localnets; };
forwarders { xxx.xxx.xxx.xxx; xxx.xxx.xxx.xxx; };
};
view "internal"{
match-clients { localnets; };
recursion yes;
zone "." IN {
type hint;
file "named.ca";
};
zone "0.0.127.in-addr.arpa" {
type master;
file "0.0.127.in-addr.arpa";
};
zone "0.168.192.in-addr.arpa" {
type master;
file "0.168.192.in-addr.arpa";
};
zone "hoge123.dip.jp" {
type master;
file "hoge123.dip.jp.local";
};
};
|
定義ファイルの編集です。0.0.127.in-addr.arpaを編集します。
[root@hoge123 ~]# vi /etc/namedb/0.0.127.in-addr.arpa $TTL 86400 @ IN SOA hoge123.dip.jp. root.hoge123.dip.jp. ( 2012061100 ;Serial 28800 ;Refresh 7200 ;Retry 604800 ;Expire 86400 ;Minimum ) IN NS hoge123.dip.jp. 1 IN PTR localhost. |
0.168.192.in-addr.arpaの新規作成をします。(ルータが192.168.1.1 なら1.168.192.in-addr.arpa、ルータが10.0.0.1 なら0.0.10.in-addr.arpaとなります。) 10 IN PTR hoge123.dip.jpの10はサーバのローカルIPアドレス192.168.0.10 の略です。
[root@hoge123 ~]# vi /etc/namedb/0.168.192.in-addr.arpa $TTL 86400 @ IN SOA hoge123.dip.jp. root.hoge123.dip.jp. ( 2012061100 ;Serial 28800 ;Refresh 7200 ;Retry 604800 ;Expire 86400 ;Minimum ) IN NS hoge123.dip.jp. 10 IN PTR hoge123.dip.jp. |
hoge123.dip.jp.localの新規作成をします。
[root@hoge123 ~]# vi /etc/namedb/hoge123.dip.jp.local $TTL 86400 @ IN SOA hoge123.dip.jp. root.hoge123.dip.jp. ( 2012061100 ;Serial 28800 ;Refresh 7200 ;Retry 604800 ;Expire 86400 ;Minimum ) IN NS hoge123.dip.jp. IN MX 10 hoge123.dip.jp. @ IN A 192.168.0.10 hoge123 IN A 192.168.0.10 www IN A 192.168.0.10 ftp IN A 192.168.0.10 mail IN A 192.168.0.10 |
ルートゾーン(named.ca)を最新の状態にします。
|
[root@hoge123 ~]# dig . ns @198.41.0.4 > /etc/namedb/named.ca |
resolv.confを編集・保存します。
|
[root@hoge123 ~]# vi /etc/resolv.conf nameserver 127.0.0.1 ← この記述だけに変更・保存します。 |
変更・設定が終わったのでBindを開始します。
[root@hoge123 ~]# vi /etc/rc.conf 最終行に追記します。 named_enable="YES" [root@hoge123 ~]# /etc/rc.d/named start |
Bindが正常動作するかサーバ側でテストします。host コマンドで問い合わせを行い、下図の 用に返答があれば、正常動作しています。
[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.dip.jp has address 192.168.0.10 hoge123.dip.jp mail is handled by 10 hoge123.dip.jp. |
- クライアント側設定 -
クライアントPC側からも名前解決できているか、確認します。ローカルエリア接続のプロパティを 開きます。「インターネットプロトコル」を選択して、「プロパティ」をクリックします。

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

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

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

コマンドプロンプトの画面が出たら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>>exit
|
これでクライアントPCからサーバのローカルIPアドレスでなく、ドメイン名でアクセスできます。 例えば、Tera Termのログイン時も、「ホスト」にhoge123.dip.jpを入力します。




