先月メールサーバを立てたが,先に DNSサーバを動かさないといろいろ面倒. この数ヶ月,とくにメール鯖を立てた先月からものすごーく面倒なことになっていた.
DNS っちゅうのは「ドメイン・ネーム・システム」の略.
「www.google.co.jp」とブラウザに打つと「216.239.53.99 につないでね」と教えてくれて,実際は 216.239.53.99 にアクセスするシステム.
つまりドメイン名「www.google.co.jp 」をIP「216.239.53.99」に解決してくれるシステムで,「名前解決!」
このサーバは「www.google.co.jp ←→ 216.239.53.99」の対応表を持っているからできる.
いままで,uja.jp の名前解決には,自宅外にあるMini DNSなどの無料サーバ借りて使っていた.
これで,uja.jp がどのサーバに対応表を載せているかがわかる. ([Name Server] ってのがそれ.)
外のサーバは当然自宅LAN の中の名前は解決してくれないから, 自宅と自宅外ではいろいろ変えなければならないことがあって,今まで面倒だった.
1.WEB ページの面倒
外のサーバは「uja.jpは219.117.205.53だよー」と答えるが, LAN内部はルータでアドレス変換をしてしまうので, 自宅でつなぐとそれではルータにつながってしまう. 外のサーバはLAN 内部まで名前解決してくれない.
したがって,自宅で自分のサイトを見るには
(2) 外部のプロクシサーバを経由する.
(3) アナログモデムなど違う経路で接続(これは電話代など余計に金がかかるのでありえん)
これらを一気に解決するには自宅LAN内に名前を解決する DNS 鯖を立てるしかない. っちゅうことで,今日,午後からとりかかり完成. (午前中は部活だった.せっかく晴れたので朝からツーリングにでも行きたかったのだが)
忘れてしまわないように.メモをする.
BIND のインストール
フリーのネームサーバ BIND をインストール. CDROM をマウントして,
最終行以下に次のもの追加した.
仮にサーバマシン uhauha.uja.jp のプライベート IP は 192.168.0.123 として進める.
zone "uja.jp" IN {
type master;
file "uja.jp.db";
allow-update { none; };
};
zone "0.168.192.in-addr.arpa" IN {
type master;
file "0.168.192.in-addr.arpa.db";
allow-update { none; };
};
zone "53.205.117.219.in-addr.arpa" IN {
type master;
file "53.205.117.219.in-addr.arpa.db";
allow-update { none; };
};
/etc/named.conf に出てくる3つのファイルを以下のように作成しなければならない.
/var/named/53.205.117.219.in-addr.arpa.db の作成
仮に ISP のスレーブDNSサーバを slave.purobaida.ne.jp とする.ちなみに slave は奴隷のこと.自宅の設定は mastar(主人).この用語,なんとかならんのかね.
$TTL 86400
53.205.117.219.in-addr.arpa. IN SOA uhauha.uja.jp. root.uja.jp. (
2004061201 ;Serial
3600 ;Refresh
3600 ;Retry
604800 ;Expire
86400 ; Minimum TTL
)
IN NS uhauha.uja.jp.
IN NS slave.purobaida.ne.jp.
53 IN PTR uhauha.uja.jp.
$TTL 86400
@ IN SOA uhauha.uja.jp. root.uja.jp. (
2003061201 ;Serial
3600 ;Refresh
3600 ;Retry
604800 ;Expire
86400 ; Minimum TTL
)
IN NS uhauha.uja.jp.
IN NS slave.purobaida.ne.jp.
123 IN PTR uhauha.uja.jp.
/var/named/uja.jp.db の作成
$TTL 86400
uja.jp. IN SOA uhauha.uja.jp. root.uja.jp.(
2004061201 ;Serial
3600 ;Refresh
3600 ;Retry
604800 ;Expire
86400 ; Minimum TTL
)
IN NS uhauha.uja.jp.
IN NS slave.purobaida.ne.jp.
IN MX 10 uhauha
uhauha IN A 192.168.0.123
IN MX 10 uhauha
www IN CNAME uhauha
named の起動
DNS (BIND) を起動する.
/etc/resolv.conf の変更
(123.45.67.89 は slave.purobaida.ne.jp の IP とする.)
namesaver 127.0.0.1
namesaver 123.45.67.89
ルータの設定変更
DNS の参照先を 192.168.0.123 (自宅 DNS サーバ)に変更する.
あと,DNS を外からアクセスできるようにするにはルータに穴を開けなければならないけど,外からの参照は今までどおり無料 DNS で十分だし,穴はセキュリティホールになりかねないから,やらない. 具体的には53番(TCP/UDP) ポートへのアクセスを 192.168.0.123 にアドレス変換するように設定変更を変更する.
外から参照するにはドメイン登録も変更しなければならない. これはドメイン登録業者に変更を依頼して, JPRS(レジストリ)のデータベース,つまり「IPドメインサーチ」で表示される[Name Server] のところが自宅アドレスに更新されれば,uja.jp の参照が自宅になる.(今回はセキュリティの関係でやっていない)
動作確認
コマンドラインから,windows XP などなら
Server: uhauha.uja.jp
Address: 192.168.0.123
Name: uhauha.uja.jp
Address: 192.168.0.123
Aliases: www.uja.jp
Server: uhauha.uja.jp
Address: 192.168.0.123
Name: uhauha.uja.jp
Address: 192.168.0.123
ついでに,外も参照できてキャッシングサーバになっているか確認.
Server: uhauha.uja.jp
Address: 192.168.0.123
Non-authoritative answer:
Name: www.google.akadns.net
Address: 216.239.53.99
Aliases: www.google.co.jp, www.google.com
確認できたら exit で終了.
0 件のコメント:
コメントを投稿
スパム対策のため,コメントは,承認するまで表示されません。
「コメントの記入者:」は「匿名」ではなく,「名前/URL」を選んで,なにかニックネームを入れてください.URL は空欄で構いません.