« | Home | »

2004.12.28

DNSサーバの構築

DNSサーバと言っても家庭内で1つのIPアドレスしかなく全てのサービスを1つのサーバで行うより無く、しかもどこかのプロバーダー経由の接続であるから、プロバーダーの提供しているDNSサーバを頼るだけでも事は足りる。
しかし、一応DNSサーバを立てて動作させることとしたがIPアドレスが一つでの運用であるため、専ら自宅内のローカルエリアの設定であり、外にアクセスするためのDomain Nameの解決が主目的となる。
FreeBSDも5.3になって設定ファイルの置き場のnamedbの場所が/etc/namedbより
/var/named/etc/nameddbに変わたが、/etc/namedbにリンクが貼られているので従来通り/etc/namedで作業ができる。
まず最初に./make-localhostとして設定ファイルのlocalhost.revを作る。
あれー、出来ないと思ってPROTO.localhost.revを使って自分で作ろうなどと思ってはいけない(私はやってしまった)。ちゃんとmasterというフォールダ内に出来ている。
次に正引きと逆引きの記述ファイルをつくる。
ファイルの名前は何でも良いが正引きをmyhome.zone 逆引きをmyhome.revとでもして話を進める。

さて、myhome.zoneの中身の例だが、次のように書き./slave Directoryに入れる。

--------------------------------------------
; /etc/namedb/myhome.zone
; host name --> IP address for fam.cx
;
@       IN SOA uls.fam.cx. root.fam.cx. (
1999120500      ; Serial
3600                  ; Refresh
900                    ; Retry
3600000            ; Expires
3600 )                ; TTL
;
IN NS uls.fam.cx.
IN MX 10 uls.fam.cx.
uls                    IN A 192.168.1.5
uls2                  IN A 192.168.1.6
localhost           IN A 127.0.0.1
luna                  IN A 192.168.1.2
soleil                 IN A 192.168.1.4
satoru               IN A 192.168.1.10
nakamura         IN A 192.168.1.11
uls.flets.cds.ne.jp     IN CNAME uls.fam.cx.
----------------------------------------------

サーバのhostnameはプロバイダーから貰ったものとDynamicDNSに登録したのと2つあるのでどちらでも良いようにCNAMEにもう1つの名前を書いておいた。
逆引きのmyhome.revは次のように書き、./slave Drirctoryに入れる。

----------------------------------------------
; /etc/named/myhome.rev
; IP address --> host name for fam.cx
;
@       IN SOA uls.fam.cx. root.fam.cx. (
1999120500      ; Serial
3600                  ; Refresh
900                    ; Retry
3600000            ; Expires
3600 )                ; TTL
IN NS uls.fam.cx.
2       IN PTR luna.fam.cx.
4       IN PTR soleil.fam.cx.
5       IN PTR uls.fam.cx.
6       IN PTR uls2.fam.cx.
10     IN PTR satoru.fam.cx.
11     IN PTR nakamura.fam.cx.
---------------------------------------

最後にname.confを以下のように書く。

------------------------------------------
options {
directory       "/etc/namedb";
pid-file        "/var/run/named/pid";
dump-file       "/var/dump/named_dump.db";
statistics-file "/var/stats/named.stats";
forwarders {
210.254.64.10;
};
};
zone "." {
type hint;
file "named.root";
};
zone "0.0.127.IN-ADDR.ARPA" {
type master;
file "master/localhost.rev";
};
zone "fam.cx" {
type slave;
file "slave/myhome.zone";
masters {
192.168.1.5;
};
allow-transfer {192.168.1/24;
127.0.0.1;};
allow-query {192.168.1/24;
127.0.0.1;};
};
zone "1.168.192.in-addr.arpa" {
type slave;
file "slave/myhome.rev";
masters {
192.168.1.5;
};
allow-transfer {192.168.1/24;
127.0.0.1;};
allow-query {192.168.1/24;
127.0.0.1;};
};
-------------------------------------------------

ここまで、準備が出来たら/etc/rc/confにnamed_enable=”YES”を追加してサーバを
再起動すればDNSサーバが動くはずである。
nslookup www.yahoo.co.joなどとやって、IPアドレスが表示されるか試してみよう。 
また、IPアドレスから名前が引けるかも同様に確認する。

コメント

コメントはありません

コメントフィードを購読する

コメント投稿





コメント本文に次の(X)HTMLタグを使えます:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)