ytooyamaのブログ

サーバ構築とか、仕事で発見したこととか、趣味のこととかを書いています。

暇だったので、BINDで内部向けDNSサーバーを構築してみた

今日は暇だったので、BINDで内部向けDNSサーバーを構築してみました。
ちなみにBINDなんて動かすの、サーバー構築標準教科書を作成していた時以来ですね(すごくご無沙汰してました...)。


■構築する環境を想定する
1.構築する環境は一応こんな感じを想定しました。

centos = ntp , kvm-host
centosvm1 = www , squid
centosvm2 = bind

2.アドレスは下記のように設定することを想定しました。

router.local.tooyama.org = ルータ
ntp.local.tooyama.org = centos
www.local.tooyama.org = centosvm1 ※
ns.local.tooyama.org = centosvm2
centosvm1.local.tooyama.org = centosvm1
centosvm2.local.tooyama.org = centosvm2

Apache(ServerName)の設定+80ポート開放を忘れずに

# vim /etc/httpd/conf/httpd.conf
:
ServerName www.local.tooyama.org:80


■BIND 構築を開始!
0.BINDを動かすサーバーにCentOS 5.5を入れます(最低限だけのインストールにします。ただし、サーバー管理ツールの"system-config-securitylevel"のみ追加でインストールしておきます)。
1.構築については基本的には以下を参考にしました。
http://fedorasrv.com/bind-lan.shtml
2.逆引き、正引きの設定は以下を参考にしました。
http://www.miloweb.net/bind.html

3.自動起動設定は、ランレベル3、4、5で自動起動するように設定。

# chkconfig --level 345 named on

4.BINDを動かすサーバーでファイアウォールを設定している場合は、TCP/53 UDP/53 をそれぞれ通過するように設定。

5.正しく動いたら、各クライアントのDNSを上記のサーバーのIPに変更。
6.安定してきたら、DHCPサーバー側のDNS設定を変更。

こんな感じで構築できました。


Squidの設定ファイルを変更
ちなみに、LANでSquidを使っている場合、ポート53をSafe_portsと定義する必要がありました。

# vim /etc/squid/squid.conf
:
acl Safe_ports port 53 # bind
:
# /etc/init.d/squid reload

これを設定しないと、SquidがBINDで管理しているサーバーを通過できませんでした。

そんな感じです。
構築方法はもう少し分かりやすくまとめて、tooyama.orgにアップ予定です。

[1/10 追記]
書きました。
http://www.tooyama.org/bind-lan.html