自宅サーバ構築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側からも名前解決できているか、確認します。ローカルエリア接続のプロパティを 開きます。「インターネットプロトコル」を選択して、「プロパティ」をクリックします。
「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> |
これでクライアントPCからサーバのローカルIPアドレスでなく、ドメイン名でアクセスできます。 例えば、Tera Termのログイン時も、「ホスト」にhoge123.dip.jpを入力します。