LANDISK HACKING DIARY | ||
Since2005/8/17 | ||
TOPへ戻る | ||
INDEX | |||||||||||||
1. LANDISKを内向けセカンダリDNSサーバーにする 2. chroot で起動させる |
|||||||||||||
LANDISKを内向けセカンダリDNSサーバーにする | |||||||||||||
|
我が家には既にFedora Core 君がプライマリDNSとして頑張ってくれている。けれども、FCを再起動した際に、一時的ではあるがインターネットに繋げなくなるのも面倒だ。その為に、Windows でセカンダリDNSを bind で立てているのだが、どうせならLANDISK君にその役割を任せたい。まず、設定ファイルの位置を確認しておきます。ソースからインストールする場合とはPATHが異なります。ファイル名も随分違うので違和感を覚えますが(名前を変えちゃっても構わないが)、db.local と db.127 が正引き/逆引きの対になっているファイルで、db.root がいわゆるヒントファイル(named.ca という名前の方がわかりやすい)となっている。rndc.key は存在するが、rndc.conf は存在しなかった。
namad.conf をセカンダリ用に編集していく。その前に、設定ファイルをバックアップしておく。ログ保存用のディレクトリも予め作成しておく。
以下のnamed.conf の例だと、kororo.jp.zone.bak と 50.16.172.in-addr.arpa.zone.bak がゾーン転送されてくれば成功である。 ◎セカンダリDNS:/etc/named.conf
次に、プライマリDNS側の named.conf で LANDISKへの転送許可を与える。また、プライマリDNSが更新したことを知らせる通知メッセージも送信するようにしておく。also-notify にはセカンダリDNSサーバーのIPアドレスを記述する。 ◎プライマリDNS:/etc/named.conf
いざ、再起動。ん?起動しなかった?
dumping master file とかいうエラーが発生している。
パーミッションエラーかと思い、db.local と db.127 の所有者を bind に変更する。お、起動した。けど、ファイルが転送されてこない。
ログファイルを見てみると…応答を受け取とろうとはしたが、パーミッションの関係で失敗しているようだ。
ええい、めんどくさい。/etc/bind ごと所有権を bind に変えてみた。
お?ひょっとして成功した? ls してみる。無事にファイルが転送されてきました。あとはWindows 側で優先DNSサーバの2番目あたりの空欄にLANDISKのIPアドレスを加えるだけだ。検証方法は、簡単だ。プライマリDNSを停止させて、インターネットに接続できればセカンダリDNSは無事に動作していることが確認できる。また、nslookup などで正引き/逆引きができ、使用しているDNSサーバーにLANDISKのIPアドレスが表示されていれば成功だ。
■プロキシを通している場合 squid を通してインターネット上にでる場合、セカンダリDNSが稼動していても名前解決ができずにレスポンスが極端に低下する場合がある。その場合は、/etc/squid/squid.conf に以下の行を加えてあげれば正常に名前解決ができるようになりインターネットにでることもできる。
また、/etc/resolve.conf にも自分を加えておこう。
|
||||||||||||
chroot で起動させる | |||||||||||||
ここまでやっておいてなんだが、bind9 をchroot させる。/etc/default/bind9 を以下のように編集する。-u は実行ユーザ、-t は chroot させるディレクトリ。
予めディレクトリを作成しておく。chroot ディレクトリは、/var/bind とする。
named.conf の directory を変更する。chroot ディレクトリからルートディレクトリを記述するので「/」で良い。また、ログのパスの位置も変更しておく。/var/bind から見た相対パスで記述する。
(筆者の環境では)起動スクリプトの編集をする必要はないので、そのままbind を起動。
残飯処理をしておく。
|
TOPへ戻る | ||
Copyright © KORO All Rights Reserved. |