rndc を使用するに際して rndc.conf を 設定する事が 必要です。これを設 定する場合 鍵を作成しておく 必要が有ります。作成する方法として 一般に” rndc-confgen” というものと ”dnssec-keygen”というものが 使用されます。 今回は ”rndc-confgen”を 使用して 鍵を作成します。なんで 鍵がいんねん ということですが named (bind)を rndc に 依って 制御する場合 named さんが 持っている鍵 と 一致しない場合は 制御を 受けつかないように するようです。 named さんの鍵は named.conf にて 設定します。ユーザー(使用者)が 一人で インターネット 接続が IP 1個で それも 突然変化する場合には bind は 無く ても よいのです。Mac さんに あまり bind を インストール するというのは聞 いた事がない(というのは 嘘ですが サーバーなら 必要となるでしょうが)ま あ そのような ものです。固定でない IP アドレスでも 運用は出来るようです がそれでも IP アドレスが変化して その変化を 更新するまでの間は 対応仕切 れません 基本的には そういうことだと にゃんたろうは かんがえております。 例えば IP アドレスが 変化した それを 検出 そうして 反映して頂く 所に お 願いをする お願いを された所は それを 反映する。其の結果 他の お客さんが 問い合わせると 反映されたものが 他のお客さんに 連絡できる この 一連の サ イクルには 当然 なんらかの 時間が必要と なってきます。
なには ともあれ 作成してみよう
# /usr/local/sbin/rndc-confgen -b 512 -r /dev/random -k rndc-key > rndc.conf # ls -l rndc* -rw-r--r-- 1 root root 607 Apr 6 20:32 rndc.conf
中身は
# cat rndc.conf # Start of rndc.conf key "rndc-key" { algorithm hmac-md5; secret "EyneVmm+wOWNI7q9WPRLt1ihrjhVVOfXICXiXY4EJDIO7a3RoP7olpcGIOK3mdUcObhpjC/TKRUvisXhydUUtQ=="; }; options { default-key "rndc-key"; default-server 127.0.0.1; default-port 953; }; # End of rndc.conf # Use with the following in named.conf, adjusting the allow list as needed: # key "rndc-key" { # algorithm hmac-md5; # secret "EyneVmm+wOWNI7q9WPRLt1ihrjhVVOfXICXiXY4EJDIO7a3RoP7olpcGIOK3mdUcObhpjC/TKRUvisXhydUUtQ=="; # }; # # controls { # inet 127.0.0.1 port 953 # allow { 127.0.0.1; } keys { "rndc-key"; }; # }; # End of named.conf
これで 出来上がった理由です。この 内容の 趣旨といおうか 取り扱い とい おうか 処理方法ですが 行の最初に ”#”マークの ついた部分は named.conf に 其のまま コピー する という方法と 其の部分を 別の ファイルに 保存し て 呼び出して 使用する という 2通りの 方法があり お薦めでは 別の ファ イルにて 運用する事が 推奨されています。そこで そのようにするものとし ます。
では 其の部分を 取りだして ファイルの 名前を つけないと いけません そ の ファイルの 名前は rndc.key ということにします。別に 決まっているの では 無いようですが 良く使用されているようですので。そうしたら まず 区 分けして 取りだしてみよう 最初に ”#”マークの ついた部分を 取りだす。
# sed -n -e '/^#/p' rndc.conf >rndc.key_proto
内容の確認をすると
# cat rndc.key_proto # Start of rndc.conf # End of rndc.conf # Use with the following in named.conf, adjusting the allow list as needed: # key "rndc-key" { # algorithm hmac-md5; # secret "EyneVmm+wOWNI7q9WPRLt1ihrjhVVOfXICXiXY4EJDIO7a3RoP7olpcGIOK3mdUcObhpjC/TKRUvisXhydUUtQ=="; # }; # # controls { # inet 127.0.0.1 port 953 # allow { 127.0.0.1; } keys { "rndc-key"; }; # }; # End of named.conf
必要な所は 4から 7 行 までを 抜き出して 最初の 1文字を 削除 すれば 良いので
# sed -n -e 4,7p rndc.key_proto | sed -n -e 's/^.//p' >rndc.key
内容の確認をすると
# cat rndc.key key "rndc-key" { algorithm hmac-md5; secret "EyneVmm+wOWNI7q9WPRLt1ihrjhVVOfXICXiXY4EJDIO7a3RoP7olpcGIOK3mdUcObhpjC/TKRUvisXhydUUtQ=="; };
おかたずけ
# rm rndc.key_proto
さて rndc.conf ですが これも rndc.key を 呼び込むように したい あまり この様な事をしてある例は 見られないが やってみよう再掲するが コメント の 所 (最初に # マーク の所を 削除 すると )現状は
# sed -e '/^#/d' /etc/rndc.conf
key "rndc-key" {
algorithm hmac-md5;
secret "EyneVmm+wOWNI7q9WPRLt1ihrjhVVOfXICXiXY4EJDIO7a3RoP7olpcGIOK3mdUcObhpjC/TKRUvisXhydUUtQ==";
};
options {
default-key "rndc-key";
default-server 127.0.0.1;
default-port 953;
};
に なっている これの rndc-key の 部分を include するように 変更しよう まず バックアップを 取っておこう
# cp /etc/rndc.conf /etc/rndc.conf_full_bk
ほんで もって
# sed -e '/^#/d' /etc/rndc.conf | cat -n
1 key "rndc-key" {
2 algorithm hmac-md5;
3 secret "EyneVmm+wOWNI7q9WPRLt1ihrjhVVOfXICXiXY4EJDIO7a3RoP7olpcGIOK3mdUcObhpjC/TKRUvisXhydUUtQ==";
4 };
5
6 options {
7 default-key "rndc-key";
8 default-server 127.0.0.1;
9 default-port 953;
10 };
11
であるから 6行から 10行まで 有れば良い
# sed -e '/^#/d' /etc/rndc.conf | sed -n -e 6,10p options { default-key "rndc-key"; default-server 127.0.0.1; default-port 953; };
いいですな include "/etc/rndc.key" を 追記 しましょう。
# sed -e '/^#/d' /etc/rndc.conf | sed -n -e 6,10p >rndc.conf_tmp # echo 'include "/etc/rndc.key";' >>rndc.conf_tmp # mv rndc.conf_tmp rndc.conf # cat rndc.conf options { default-key "rndc-key"; default-server 127.0.0.1; default-port 953; }; include "/etc/rndc.key";
named.conf と 何方が先に作成するのか というのは 一概に言えません 普 通は named.conf 作成後に rndc.conf を 作成するのだろうが しかしながら 鍵を作成するのであれば こちらを先に 作成するのが ということです。にゃん たろうは 今まで rndc.conf を 作成した事が無く rndc は 一度も 作成した事 は無かった というのが 実状です。まあそれはさておき rndc.conf が 出来た ので 次は named.conf や zone file を 作成していきたいと おもいます。
にゃんたろう 拝!
2006年 4月13日 (木) 22:45:17 JST 作成