Ubuntuの場合、
アンインストールの場合、/etc/bind以下の設定ファイルやゾーンファイルはそのまま残りますが、このファイル群はあらかじめバックアップしておいた方がよいと思います。また/var/cache/bindにはキャッシュサーバーを設定していた際には残骸が残ってしまうのでアンインストールの際はこれも消去。/var/lib/bindにも何か残っているかもしれません。
デフォルトでの話ですが、これらのbindの設定や運営に関係するディレクトリは、/etc/appramor.d/usr.sbin.namedに書かれています。いずれにしろアンインストールの際は自分の設定状況をよく把握しておくことが大切です。
その他のディストリビューションでもyumとかrpmとか便利なコマンドがあると思います。(ここではソースからインストールする方法は割愛)
apt-getでインストールする際にリポジトリに該当のbind9がない...というようなことを言われてインストールできない場合がありますが、この時はapt-get updateしてみてください。新しいリポジトリが更新されてインストールできるようになると思います。(Ubuntu 10.02に入れようとした時はそうでした。)
bindに限らずネットワーク設定一般に言えることですが、初心者向けのマニュアルには「後述」が多すぎると思いませんか?後述されて話を進められると初心者は困ってしまうのでできるだけ後述は避けてほしいというのが本音です。今でこそいろいろとわかってきましたが当初は大変でした。もちろんどこまでが初心者か...という問題もあるのですが、ここではできるだけ後述とあまりにも専門的な言葉を避けてbindについてのいろいろを書いてゆきたいと思っています。
bind9を設定する以前にこれらの設定をしておくことも大切です。とりあえずはそのサーバーがネットワークにクライアントとして接続されていて、外のどのネットワークにも接続できるという環境下である...という前提で話をすると、上記の3つのファイル、
インストール
# apt-get install bind9
アンインストールで大丈夫です。ここでいきなりアンインストールの方法を説明しますが、設定でどんずまったらアンインストールしてから、また再度クリーンインストールするのがいいです。
# apt-get remove bind9
アンインストールの場合、/etc/bind以下の設定ファイルやゾーンファイルはそのまま残りますが、このファイル群はあらかじめバックアップしておいた方がよいと思います。また/var/cache/bindにはキャッシュサーバーを設定していた際には残骸が残ってしまうのでアンインストールの際はこれも消去。/var/lib/bindにも何か残っているかもしれません。
デフォルトでの話ですが、これらのbindの設定や運営に関係するディレクトリは、/etc/appramor.d/usr.sbin.namedに書かれています。いずれにしろアンインストールの際は自分の設定状況をよく把握しておくことが大切です。
その他のディストリビューションでもyumとかrpmとか便利なコマンドがあると思います。(ここではソースからインストールする方法は割愛)
apt-getでインストールする際にリポジトリに該当のbind9がない...というようなことを言われてインストールできない場合がありますが、この時はapt-get updateしてみてください。新しいリポジトリが更新されてインストールできるようになると思います。(Ubuntu 10.02に入れようとした時はそうでした。)
bind9の最初の名前解決
インストールしたてのホヤホヤの段階ではbind9は起動していても何もしていません。ただ起動しているだけです。設定ファイルもデフォルトのままですし、zoneファイルもデフォルトのもの以外何もありません。唯一できることは、rootサーバーを表示してくれることぐらいです。余談ですが、ipv6(128bitのIPアドレス)が中国の人口爆発と経済発展をきっかけにどんどん普及しているらしくrootサーバーも4台だけipv6のサーバーありました。以前にbindを設定していた時にはなかったような気がします。- a.root-servers.net. 512487 IN AAAA 2001:503:ba3e::2:30
- f.root-servers.net. 512487 IN AAAA 2001:500:2f::f
- h.root-servers.net. 512487 IN AAAA 2001:500:1::803f:235
- j.root-servers.net. 512487 IN AAAA 2001:503:c27::2:30
bindに限らずネットワーク設定一般に言えることですが、初心者向けのマニュアルには「後述」が多すぎると思いませんか?後述されて話を進められると初心者は困ってしまうのでできるだけ後述は避けてほしいというのが本音です。今でこそいろいろとわかってきましたが当初は大変でした。もちろんどこまでが初心者か...という問題もあるのですが、ここではできるだけ後述とあまりにも専門的な言葉を避けてbindについてのいろいろを書いてゆきたいと思っています。
ログファイル
bindにはオリジナルのログを取る方法があったはずです。使ったことがないので詳しいことはわかりませんが、実際にbind9を運用しようと思った際には数個のログをチェックすることで充分だと思います。しかもその数個のうちはログの取り方が重複しているので見るべきところはかなり少ないです。- /var/log/messages
- /var/log/syslog
- /var/log/daemon.log
Dec 9 16:05:30 localhost named[3942]: adjusted limit on open files from 1024 to 1048576となっているはずです。(環境によって若干違うのかな...。)
Dec 9 16:05:30 localhost named[3942]: found 2 CPUs, using 2 worker threads
Dec 9 16:05:30 localhost named[3942]: using up to 4096 sockets
Dec 9 16:05:30 localhost named[3942]: loading configuration from '/etc/bind/named.conf'
Dec 9 16:05:30 localhost named[3942]: using default UDP/IPv4 port range: [1024, 65535]
...(中略)
Dec 9 16:05:30 localhost named[3942]: zone 127.in-addr.arpa/IN: loaded serial 1
Dec 9 16:05:30 localhost named[3942]: zone 255.in-addr.arpa/IN: loaded serial 1
Dec 9 16:05:30 localhost named[3942]: zone localhost/IN: loaded serial 2
Dec 9 16:05:30 localhost named[3942]: running
名前解決
bind9の役目はホストやドメインをIPアドレスに変換する仕事ですが、実際にはこれらの仕事をすべてbindが引き受けているわけじゃありません。hostsファイルやhost.conf、resolv.confなどいうファイルもそれに絡んできます。それらを全部含めてDNSというのだと思います。bind9を設定する以前にこれらの設定をしておくことも大切です。とりあえずはそのサーバーがネットワークにクライアントとして接続されていて、外のどのネットワークにも接続できるという環境下である...という前提で話をすると、上記の3つのファイル、
- /etc/hosts
- /etc/host.conf
- /etc/resolv.conf



