Bind DNS Serverの設定
ubuntu server で複数ホストを扱ったりローカルから外部ドメインでアクセスするためには
hostsファイルに書き足すかDNSサーバーを利用する方法がある。
hostsファイル編集の方が手軽な反面、クライアントのpcの台数が多いと全て設定しないといけないのは好ましくない。
それにWi-Fiで接続してるスマートフォン等でhostsファイルが変更できない、hostファイルがない
場合なんかに困るので内向けなDNSサーバー設定の備忘録を書いてみる
メールサーバーの設定は書いてません(メールサーバーは基本動かさない主義なので)
ちなみに以下のような内容で設定すると仮定する
サーバー機は1台のみで、固定のグローバルIPではないのでDynamicDNSサービスを利用する。
Webサーバーは同一マシン内でバーチャルドメインを使用して複数ドメインを利用
今回設定するDNSサーバーも同じサーバー機(192.168.1.2)で設定する
ホスト1:hoge.com(DynamicDNS)
ホスト2:hoge2.com(DynamicDNS)
IPアドレス:192.168.1.2
管理者メールアドレス:admin@hoge.com
/etc/bind の中は/usr/lib/named にchroot設定がしてあって設定ファイルは全てコピーしてあるとする。
1.BIND9のインストール
[text]sudo aptitude -y install bind9 bind9utils[/text]
を実行する。
2.named.conf.options の設定
[text]allow-query {
127.0.0.1;
192.168.1.0/24;
};[/text]
上記設定をすることで、ドメイン名でのリクエストか 192.168.1.* というIPアドレスでの
リクエストに対してのみ応答を受けるようにする。
3.named.conf.localの設定
named.conf.local に以下を追記する
[text]include “/etc/bind/zones.hoge";[/text]
4.zones.hogeの設定
zones.hoge という名前のファイルを作成し以下のようにして保存する
[text]zone “hoge.com" {
type master;
file “db.hoge";
};
zone “hoge2.com" {
type master;
file “db.hoge2";
};
zone “1.168.192.in-addr.arpa" {
type master;
file “db.1.168.192";
};[/text]
5.db.hogeの設定
db.hoge という名前のファイルを作成し以下のようにして保存する
[text]$TTL 86400
@ IN SOA hoge.com. root.localhost.(
2013090204 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS hoge.com.
@ IN A 192.168.1.2[/text]
6.db.hoge2の設定
db.hoge2 という名前のファイルを作成し以下のようにして保存する
[text]$TTL 86400
@ IN SOA hoge.com. root.localhost.(
2013090204 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS hoge.com.
@ IN A 192.168.1.2[/text]
7.db.1.168.192の設定
db.1.168.192 という名前のファイルを作成し以下のようにして保存する
[text]$TTL 86400
@ IN SOA hoge.com. root.localhost.(
2011090301 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS hoge.com.
IN PTR hoge.com.
IN A 255.255.255.0
2 IN PTR hoge.com.
2 IN PTR hoge2.com.[/text]
8.resolv.confの設定
/etc/resolv.conf に以下を追記する
[text]nameserver 192.168.1.2
search hoge.com hoge2.com[/text]
9.サービスの再起動
resolv.conf の設定反映は
[text]sudo /etc/init.d/networking restart[/text]
を実行する。
BIND の設定反映は
[text]sudo service bind9 restart[/text]
ローカルな環境と外部からの環境でアクセスできるかチェックして終わり