目次
昔閉鎖したブログから復活させた記事です
ごちゃついていますが見たい方はどうぞご覧下さい。
ひとこと
前回BIND自体は建てられたのですが、若干不足がありました。BIND以外の設定にも少し触れたいと思います。
rndcの設定
bind を遠隔操作できる奴らしいのですが、systemd のUnit定義ファイルでも使われていたようでエラーを吐いてました。active にはなっているのですが、stop しようもんなら次々にエラーを吐きます。これを解消すべく設定を行います。
rndc認証鍵の作成
それ専用のコマンドがあるみたいなので使います。
$ sudo su -
# cd /chroot/named/etc
# rndc-confgen -r /chroot/named/dev/urandom > key.txt
key.txt を開きます。
# vim key.txt
~ 省略 ~
# key "rndc-key" {
# algorithm hmac-md5;
# secret "**********************==";
# };
#
# controls {
# inet 127.0.0.1 port 953
# allow { 127.0.0.1; } keys { "rndc-key"; };
# };
:%s/# //g をしてからだとヤンクしやすいです。key と controls のブロックをすべてヤンクします。
named.conf.optionsを編集
先ほどヤンクした内容をこのファイルの先頭にペーストします。
key "rndc-key" {
algorithm hmac-md5;
secret "**********************==";
};
controls {
inet 127.0.0.1 port 953
allow { 127.0.0.1; } keys { "rndc-key"; };
};
~ 省略 ~
このとき key のブロックだけもう一度ヤンクしておきます。
rndc.keyの作成
新たにファイルを作成します。rndc コマンドで鍵を指定するために使用します。
# vim rndc.key
先ほどヤンクした内容をペーストして完了です。
systemdの設定
Unit定義ファイルを編集します。
# vim /lib/systemed/system/bind9.service
開けたら、ExecReload と ExecStop だけ以下のように書き換えてます。
[Unit]
Description=BIND Domain Name Server
Documentation=man:named(8)
After=network.target
Wants=nss-lookup.target
Before=nss-lookup.target
[Service]
EnvironmentFile=/etc/default/bind9
ExecStart=/usr/sbin/named -f $OPTIONS
# ココの2行(以下は書き換え後)
ExecReload=/usr/sbin/rndc -k /chroot/named/etc/rndc.key reload
ExecStop=/usr/sbin/rndc -k /chroot/named/etc/rndc.key stop
[Install]
WantedBy=multi-user.target
ここまで出来たらbind9を再起動しましょう。
# systemctl restart bind9
特にエラーなど出ていなければ成功です。
セカンダリネームサーバーの設置
お名前.com でドメインを取得したのですが、こちらがセカンダリを無料で貸してくれるそうなのでありがたく使わせて頂きます。
お名前.com での操作
まずお名前.com でログインします。画像などはありませんがそれほど難しくないので言葉だけで説明します。
DNS のタブをクリック。
↓
ドメインのDNS関連機能設定 を選択のうえ次へをクリック
↓
設定したいドメインを選択して次へをクリック
↓
セカンダリDNS(Slave)を利用する で設定するをクリック
↓
ここで自分の建てたDNSサーバーのIPアドレスを登録します。
named.conf.external-zonesの編集
セカンダリDNS へのゾーン転送を許可する必要があります。
view "external" {
zone "kusshie.com" {
type master;
file "kusshie.com.wan";
# ここから追記
allow-transfer {
# セカンダリのIPアドレス
163.44.76.202;
};
allow-notify {
# セカンダリのIPアドレス
163.44.76.202;
};
# 追記ここまで
};
~ 省略 ~
};
NSレコードの追記
正引き情報と逆引き情報のそれぞれにNSレコードを追記します。
IN NS 2nd.dnsv.jp.
/chroot/named/etc/namedb にある正引きと逆引きの2つのファイルにそれぞれ追記する必要があります。
ネームサーバーの登録
レジストラにネームサーバーを登録しなければ誰にも認知されませんから、自分の建てたDNSが機能することはありません。したがって、ネームサーバーの登録を行います。
先ほどセカンダリの設定をしたページの左にある縦に長いメニューにDNS設定/転送設定と書かれている場所があるのでそこをクリックします。
そうするとドメインを選ぶ画面に戻ってくるのでもう一度設定したいドメインを選択して次へをクリックします。
セカンダリの設定の下に「ネームサーバー名としてホスト登録を行う」と書かれたところがあると思います。
そこをクリックしてネームサーバーのホスト名を登録して下さい。
自分のネームサーバーのIPアドレスが 10.0.0.1 で、ns.example.com というドメイン名を付けていたとします。
自分の建てたDNSには登録されているかもしれませんが、現時点では誰もそれを知りません。したがって、少なくともお名前.com には認識してもらえるようにIPアドレスと一緒に登録を行うわけです。
これでお名前.comは ns.example.com を認識できるようになりました。
ここまで出来たらあとは簡単です。
左の縦長メニューにあるネームサーバーの変更からプライマリとセカンダリを登録して完了です。
まとめ
スクショとるのが面倒で最後の方は雑な説明になりました。こんな感じで独自DNSサーバーを稼働させられます。こんな面倒なことするより、お名前.com とかそれ以外のDNSサーバーを間借りさせてもらう方が簡単で速いです。しかし、苦労して構築することでDNSの仕組みについても考えるきっかけになるので悪くないのではと思います。暇な人はやってみて下さい。
疲れた。