今年は寒かったせいか、寝床で布団をかぶってノートパソコンをいじっていることが多かった。ここ数日、なにやらカチッ、カチッという音がノートパソコンから響いてくる。この音は・・この音はもしかして・・誰か住んでいるのか?
DNSサーバを立ててみた
自宅のWebサーバは192.168.~というIPアドレスでアセスしていたが、ドメイン名でアクセスしたい要件が出てきたため、BINDでLAN内用のDNSサーバを立ててみた。
作業メモ
・rndcによってリモート機能ができるよう共有秘密鍵をつくる
→/usr/sbin/rndc-confgen でrndc.confを作成する
rncd.confの後半に作成されたキーの部分を別のファイルにコピーする
(後でnamed.confにこのファイルをインクルードする)
セキュリティ上からみれば不必要なリモート操作はやらないに越したことはない..
・named.confを作成する
ひとまず、options句には最低限でも..
LAN外からの問い合わせには応答しないようにする
例 : allow-query { 192.168.1.0/24; 127.0.0.1; };
転送先も制限した方がいいのか?
例; allow-transfer { none; };
BINDのバージョンを表示させない
例: version “”;
IPv6の問い合わせはないし、レスポンスが悪くなるかもということでIPv6はリッスンさせない
例: listen-on-v6 { none; };
リッスンするのはLAN内のみ
例: listen-on { 192.168.1.0/24; 127.0.0.1; };
・次の4つのゾーンファイルを作成する
localホストの正引き定義
localホストの逆引き定義
LAN内Webサーバの正引き定義
LAN内Webサーバの逆引き定義
・ルートドメインのファイル(ex. named.root)を「ftp://ftp.rs.internic.net/domain/」から頂いてくる
・named-checkconfコマンドでnamed.confの設定に間違いがないかチェックする
・named-checkzoneコマンドでゾーンファイルに記述ミスがないかチェックする
・/etc/resolv.confを編集する
domain ドメイン名
search ドメイン名
nameserver 0.0.0.0 ←(127.0.0.1の替わりに、0.0.0.0を定義する)
nameserver 210.xxx.xxx.xxx ←プロバイダのDNSサーバ(LAN外はここからひいてくる)
・/etc/init.d/named startでnamedを起動する
・/var/log/messagesを確認してゾーンファイルが正しく読み込まれていることを確認する
May 20 10:06:01 xxxx named[3976]: zone 0.0.127.IN-ADDR.ARPA/IN: loaded serial 2005051601
May 20 10:06:01 xxxx named[3976]: zone 1.168.192.IN-ADDR.ARPA/IN: loaded serial 2006051601
May 20 10:06:01 xxxx named[3976]: zone hoge.com/IN: loaded serial 2006051601
May 20 10:06:01 xxxx named[3976]: zone localhost/IN: loaded serial 2005051601
という感じのメッセージの替わりにfatalがでていないこと
・digコマンドでいろいろと調べる
dig 127.0.0.1とか、dig ドメイン名
・別のクライアントからWebサーバにドメイン名でアクセスできることを確認する
ネットワークのプロパティで優先DNSを今回設置したDNSサーバのアドレス、代替DNSをプロバイダのDNSサーバのアドレスに変更して自宅Webサーバアクセス。
→apache(Webサーバ)のhttpd.confのServernameにちゃんとしたドメイン名が書かれていること
と、いう感じで完了。でも、ボチボチやってたんで1週間くらいかかってしまったけど。
次は、chroot仕様に変更するなどセキュリティに関する設定の見直しをやればできあがりそうだ。
現在の問題点..
/etc/init.d/named stopで停止させようとしたら、[失敗]となること。
namedプロセスが残っている場合もあるし、プロセスが無くなっている場合もある。
なんでだろう?