BINDの設定をしよう!

19.05.10 / DNSって何? / Author:

今日は、レコードの勉強のため、BINDというフリーのDNSサーバソフトウェアを設定しました!
BINDを設定することで、IPアドレスとドメイン名の名前解決ができるようになります。


BINDとは、ソースコードが無料で公開されているフリーのソフトウェアで、世界でもっとも普及しているDNSサーバーです。

今回は、新しく作ったcoakuma.netというドメイン名を、小悪魔ブログのIPアドレスに対応付けして、http://coakuma.net/blog/でもこのブログが見れるようにしました。

今回はcoakuma.netというドメインを「お名前.com」さんで取得してもらい、BINDを設定する上で必要なインストールはできている状態なので、設定からスタートです*


まず、$ ssh [サーバー名] 、パスワード入力でサーバーに入り、
$ sudo bashでroot権限を得ます。

設定ファイル/etc/name.confを設定して、coakuma.netのサーバーのゾーンを設定します。

$ vi /etc/named.confで編集画面にします。
named.confにzoneステートメントをかきます。

include”/etc/rndc.key”;のまえに、

zone “coakuma.net” IN {
type master ;
file “coakuma.net.zone” ;
};
とかきます!

ここまで、まちがいがないかチェックしましょう!
$ /usr/sbin/named-checkconf /etc/named.conf    と入力して、なにもでてこなければOKです!


$ ssh [サーバー名] でサーバーに
パスワード入力
$ sudo bashでroot権限に
$ vi /etc/named.confで設定ファイル編集
iで編集モードに
zone “[ゾーン名]” IN {
type master ;
file “[ゾーンファイル名]” ;
};
escで編集終了
$ /usr/sbin/named-checkconf /etc/named.conf で間違いがないか確認

つぎにゾーンファイルをつくりましょう!
ゾーンファイルは/var/named/chroot/var/named内につくります!

ところで、chrootとはなんでしょう?

chrootはファイルシステム内の特定のサブディレクトリを、仮想的なルートディレクトリとして見せかける機能です。/etcディレクトリと/var/namedディレクトリ以下にあるBINDの設定ファイルを、/var/named/chroot以下の/etcディレクトリと/var/namedディレクトリ以下に置くことによって、権限をとられた場合でも、その被害をchrootしたファイルシステム内にとどめることができる、セキュリティ維持の仕組みです。

まず、
$ cd /var/named/ でvar/namedに移動して、
$ ls -laで/var/named/の中身を確認します。

chrootディレクトリがないので、
$ mkdir -p chroot/var/namedで、/var/named/chroot/var/namedを作成します。

$ cd chroot/var/named/で /var/named/chroot/var/namedに移動して、ゾーンファイルcoakuma.net.zoneを作成します。
$ vi coakuma.net.zoneとして編集画面に入ります。

$TTL 10800
coakuma.net. 1D IN SOA co-akuma.directorz.jp. usako.usausa.usagi.jp (
2010051301 ; serial
43200 ; refresh
5400 ; retry
3600000 ; expiry
10800 ) ; minimum
coakuma.net. 1D IN NS co-akuma.directorz.jp.
coakuma.net. 1D IN A 125.6.176.32

…と記入します。
:wqで保存し、編集を終えます。

$ cd /var/named/ でvar/namedに移動
$ mkdir -p chroot/var/namedで、/var/named/chroot/var/namedを作成
$ cd chroot/var/named/で /var/named/chroot/var/namedに移動
$ vi coakuma.net.zoneとして編集画面に
$TTL 10800
[ドメイン名]. 1D IN SOA [サーバー名]. [メールアドレス] (
[年月日]01 ; serial
43200 ; refresh
5400 ; retry
3600000 ; expiry
10800 ) ; minimum
[ドメイン名]. 1D IN NS [サーバー名]
[ドメイン名].  1D IN A [IPアドレス]
$ usr/sbin/named-checkzone coakuma.net  /var/named/coakuma.net.zoneでまちがいがないかチェックします。

ファイルを作成したらシンボリックリンクをはります。
$ ln -s /var/named/chroot/var/named/coakuma.net.zone /var/named/

これで、/var/named/chroot/var/named/coakuma.net.zoneを/var/named/にリンクされます。
/var/named/内にcoakuma.net.zoneがあるような状態になったので、これで、起動スクリプト/etc/init.d/named/ でも呼び出すことができるのです。

設定が終わったのでBINDを起動させましょう!
$/etc/init.d/named/ start

これで、coakuma.netで小悪魔ブログがみれるようになりました!


$ ssh [サーバー名] でサーバーに
パスワード入力
$ sudo bashでroot権限に
$ vi /etc/named.confで設定ファイル編集
iで編集モードに
zone “[ゾーン名]” IN {
type master ;
file “[ゾーンファイル名]” ;
};
escで編集終了
$ /usr/sbin/named-checkconf /etc/named.conf で間違いがないか確認

$ cd /var/named/ でvar/namedに移動
$ mkdir -p chroot/var/namedで、/var/named/chroot/var/namedを作成
$ cd chroot/var/named/で /var/named/chroot/var/namedに移動
$ vi coakuma.net.zoneとして編集画面に
$TTL 10800
[ドメイン名]. 1D IN SOA [サーバー名]. [メールアドレス] (
[年月日]01 ; serial
43200 ; refresh
5400 ; retry
3600000 ; expiry
10800 ) ; minimum
[ドメイン名]. 1D IN NS [サーバー名]
[ドメイン名].  1D IN A [IPアドレス]
$ usr/sbin/named-checkzone coakuma.net  /var/named/coakuma.net.zoneでまちがいがないかチェックします。

$ ln -s /var/named/chroot/var/named/coakuma.net.zone /var/named/
$/etc/init.d/named/ start

Comments: 3

[…] This post was mentioned on Twitter by paul, Shigeru Endo. Shigeru Endo said: DNSをここまで楽しくするとは・・・ http://co-akuma.directorz.jp/blog/?p=362 […]

Kondo Kenta // 12月 17th, 2010 - 9:56 PM

cacheですね

Leave a Reply

« | »