ちょっと期間が空いてしまいましたが、がんばって作業の続きをやって行きたいと思います。
先日、プライマリDNSサーバーの設定を行ったので、次はセカンダリDNSサーバーの設定をしたいと思います。
まず、注意点として下記の点を確認してください。
プライマリDNSサーバーとセカンダリDNSサーバーは同居しない
同じ場所にでも出来ますが、同じ場所にしても全く意味が無い(サーバーがダウンしたらプライマリもセカンダリも一緒に逝ってしまいます・・・)ので、必ず別にしましょう。
あと、GMOクラウドで仮想サーバーを分ける場合にも念のためにプライマリDNSサーバーと違うIPアドレス帯域を選んだほうが良いと思われます。
分けると言う部分が表現的に微妙かもしれないので、下記に例をあげておきます。
[shell]
# プライマリDNSのIPアドレス
111.222.333.444
# セカンダリDNSのIPアドレス
111.333.444.555
[/shell]
上記の例のように、第1オクテットから第3オクテットまでが完全に違うものを選びましょうと言うことです。
と言うのも、全く違う帯域を使うことでネットワークがダウンした際に同時にダウンすることを防げるかもしれないからです。
せっかくのクラウド環境なので、ダウンさせたくない!と思うのは自分だけでは無いと思うので、ちっちゃなことですが出来ることはやっておきたいなと思います。
それでは、上記のことを踏まえて仮想サーバーを作成しましょう。
仮想サーバーの作成については、こちらの記事を参考にしてください。
GMOクラウド publicの設定 2日目(午後)
仮想サーバーの作成が出来たら、次にやることはソフトウェアのアップデートです。
アップデートでやることについては、こちらの記事を参考にしてください。
GMOクラウド publicの設定 4日目(午前)
アップデートまで終わったら、さっそくbindのインストールを行いましょう。
[shell]
yum -y install bind
[/shell]
インストールが完了したら、プライマリDNSサーバーと同様の設定をしましょう。
IPv6を利用しないなんて言ってますが、近いうちに利用することになりそうなのでやっておいた方がいいはずなんですが、今は時間がないので今度やります。(きっと)
[shell]
vi /etc/sysconfig/named
[/shell]
開いたファイルに下記の内容を追記です。
下記の内容を最下部でも、どこでもお好きなところに入れてください。
[shell]
OPTIONS=”-4″
[/shell]
ここからは、設定するDNSサーバー毎(ドメインとかIPアドレス)に内容を変えて読取る、またはコピってください。
プライマリDNSサーバーの設定の際と同じように、named.confファイルの変更を行います。
[shell]
vi /etc/named.conf
[/shell]
プライマリDNSサーバーの内容とは違うので、コピーして利用しようなんて思わないでくださいね。
[shell]
options {
version “”;
// IPv4
listen-on port 53 { any; };
// IPv6
// listen-on-v6 port 53 { ::1; };
directory “/var/named”;
dump-file “/var/named/data/cache_dump.db”;
statistics-file “/var/named/data/named_stats.txt”;
memstatistics-file “/var/named/data/named_mem_stats.txt”;
allow-query {
any;
};
allow-transfer {
yyy.yyy.yyy.yyy;
};
recursion yes;
dnssec-enable yes;
dnssec-validation yes;
dnssec-lookaside auto;
/* Path to ISC DLV key */
bindkeys-file “/etc/named.iscdlv.key”;
managed-keys-directory “/var/named/dynamic”;
};
/////////////
// logging //
/////////////
logging {
channel default_debug {
file “data/named.run”;
severity dynamic;
};
category lame-servers { null; };
};
//////////////
// hint //
//////////////
zone “.” IN {
type hint;
file “named.ca”;
};
/////////////
// primary //
/////////////
zone “xxx.xxx.xxx.in-addr.arpa” {
type master;
file “xxx.xxx.xxx.in-addr.arpa.db”;
};
/////////////
// slave //
/////////////
zone “xxxxxx.net” {
type slave;
file “slaves/xxxxxx.net.db”;
masters {
yyy.yyy.yyy.yyy;
};
};
zone “yyy.yyy.yyy.in-addr.arpa” {
type slave;
file “slaves/yyy.yyy.yyy.in-addr.arpa.db”;
masters {
yyy.yyy.yyy.yyy;
};
};
[/shell]
xxx.xxx.xxx.in-addr.arpaの部分は、セカンダリDNSを設置するサーバーのIPアドレスを逆にしたものとなります。
yyy.yyy.yyy.in-addr.arpaの部分は、プライマリDNSを設置するサーバーのIPアドレスを逆にしたものとなります。
下記に例として、100.101.102.103のアドレスを振り当てる場合の設定をあげておきます。
[shell]
zone “102.101.100.in-addr.arpa”{
type master;
file “102.101.100.in-addr.arpa.db”;
};
[/shell]
named.confでのプライマリDNSサーバーとの大きな違いが、slaveの部分に記載するmastersの箇所です。
こちらには、プライマリDNSサーバーのIPアドレスを記載します。
次に、セカンダリDNSサーバーのIPアドレスに対しての逆引きの設定をします。
[shell]
vi /var/named/xxx.xxx.xxx.in-addr.arpa.db
[/shell]
実際に記載する内容は、下記のようになります。
[shell]
$TTL 3600
;$ORIGIN xxxxxx.net
@ IN SOA ns2.xxxxxx.net. root.xxxxxx.net. (
2013030101 ; Serial
3600 ; Refresh
1800 ; Retry
2592000 ; Expire
3600 ; Minimum TTL
)
;; Authoritative name servers
IN NS ns1.xxxxxx.net.
IN NS ns2.xxxxxx.net.
;; Host record
yyy IN PTR ns2.xxxxxx.net.
;; Mail record
;; Name(cname) record
[/shell]
ここまで出来たら、セカンダリDNSの設定は完了です。
設定した内容で動作するかを確認してみましょう。
[shell]
/etc/rc.d/init.d/named start
[/shell]
この時に、別のウィンドウでログを開いておくといい感じです。
[shell]
tail -f /var/log/messages
[/shell]
プライマリDNSサーバーの確認とは違い、もう1点確認することがあります。
[shell]
cd /var/named/slaves
ls -l
[/shell]
セカンダリDNSサーバーで、上記のコマンドを実行しファイルが出来ていることを確認してください。
ここで作成されているファイルは、下記の2つとなります。
- xxxxxx.net.db
- yyy.yyy.yyy.in-addr.arpa.db
この2つのファイルが無い場合には、iptablesの設定(ポート53番が閉じている)やログの内容から状態を確認しながら進めてみてください。
コメント