Linux / DNS


DNS (BIND)

DNS = Domain Name System
BIND = Berkeley Internet Name Domain

レジストリ − トップレベルドメイン(ゾーン)のデータファイルを管理する責任を持った組織
レジストラ − 顧客とレジストリ間の橋渡しをし、登録業務に関連する付加価値サービスを提供

ゾーン転送 = DNS AXFR

R1

Uchikoshi

2005/07/22
ゾーン転送未完
ルート参照用ファイルを消したので、入れ直し
chrootするときとしないときのセキュリティの説明
named起動時の -u <user>をしたときとRoot権限のときの権限の範囲説明

2005/08/31(Wed)
BIND設定ファイル -> /etc/named.conf (chroot未設定)

● named.conf構文チェックコマンド(named.confのディレクトリ上で行う)
linux# named-checkconf localhost named.conf
● BIND Zoneファイル構文チェックコマンド (named.confで指定したzoneファイルのディレクトリ上で実行)
linux# named-checkzone localhost zone-file

named.confの構文チェックではエラーが出なかったが逆引き参照だけがうまく行えなかったので確認したところ、zoneファイルの指定で
in-addr.arpaとするべきところをin-addr-arpaとしていたため修正後に逆引き参照も正常に行えるようになった。

MServ、BINDの設定
正引き、逆引き情報、キャッシュサーバの動作確認
DNSサーバが機能しているかどうかの確認コマンド
linux# dig @127.0.0.1 <destination name | address >

2005/09/01(THU)
Windows XPでのDNSキャッシュデータ表示コマンド
c:\> ipconfig /displaydns Windows XPでのDNSキャッシュデータ削除コマンド
c:\ ipconfig /flashdns

キャッシュサーバとしてのttlの設定値をoptions分に追加

DSNサーバ側ポート53 < - > クライアント側ポート=1024以上の任意
マスターとスレイブ間のゾーン転送でも53ポートが使われる

digなどでDNS問い合わせを行った場合、スレーブからも「Authorized Answer」が返ってくる。キャッシュサーバは「Non-Authorized Answer」を返す。

rndcコマンドを使うために/etc/rndc.confファイルを
linux# rndc-confgen > /etc/rndc.conf
コマンドで作成する

! SServでは問題なくrndcコマンド実行可能になったが、MServで実行すると
rndc: connect failed: connection refused
と表示され、named自体が起動しなくなる。一方が動いているのでバグは考えにくいが・・・マスターとスレイブでなぜ違う動作をするのかがわからない・・・

●対処案1
/etc/named.confを/etc/named.conf.bakでバックアップする。
linux#tail /etc/rndc.conf >> /etc/named.conf
で/etc/rndc.conf内容を/etc/named.confに追記コピーし、rndc.conf分の内容のうち不必要部分を削除後、必要部分のコメントアウト部分を解除してみる。

2005/09/02(FRI)
・対処案1によりrndc問題は改善。
・それ以前にrndc問題が解決する前にnamed自体が起動しなかったが、cashe用としての設定を削除したことで解決。恐らくネットにつなげていなかったので、ルートまで参照できないことが問題と思う。

・マスター・スレイブ共にrndcコマンド実行可能
・SServ側のnamed.conf内typeをスレイブとしてではなくマスタに再設定
・MServ側がマスタとしての役割をするがrsyncコマンドによりゾーンファイルを転送することで同期を取る
<注意!>両方のtypeをマスタにしてrsyncコマンドで同期をとる場合は両方の時間を合わせる
<注意!>rndcコマンドが可能になった後、OS再起動でしかnamedの再起動ができなくなった。設定の再読み込みは
linux# rndc reload
で可能。
・MServ側でゾーン転送許可をSServにのみ割り当て
・マスター・サーバのIPを偽装した「なりすましサーバ」対策としてTSIG(Transaction Signature)を実装
・TSIG設定に伴いSServのtypeを再びslaveに。

2005/09/07(WED)
・namedが起動不能になった問題についての対処(MServについて)

1. /etc/named.conf内でTSIGに関する記述。ゾーン転送に関する記述を全てコメントアウト
2. /etcディレクトリで設定ファイルの構文チェック&b; linux# named-checkconf named.conf
しかし、何も起こらないので、named.confの設定ミス以外の原因を考える。
3. 1, 2の後にservice named startを行ったが何も起こらなかったので、tail -f /var/log/messagesでログを表示しながらnamedの起動を試みたところ
MServ named[2350]: loading configuration: permission denied
MServ named[2350]: exiting (due to fatal error)
と表示されたので ls -l /etc/named.conf で設定ファイルのパーミッションを確認したところ、所有者、グループともにrootになっていたので、
linux# chown named.named /etc/named.conf
で所有者、グループともにnamedに変更することによりnamedの起動に成功。

● BIND 9のゾーン転送は差分転送がデフォルト
● 現在の/etc/named.confのアクセス権 = 600
● 今回はサブドメインの設定・委任は行わない。

 ● 次回予定
1 -> ゾーン転送の確認
2 -> chrootの設定

-> bind作業の終了

2005/09/09(Fri)
● ゾーン転送エラー -> 時刻の同期エラーによるもの
ハードウェアクロックとシステムクロックを修正することで対処

● SServからMServへのゾーン転送要求確認

● chrootのための一連のコマンド

linux# mv /var/named /var/named_org
linux# mkdir /var/named
linux# cd /var/named
linux# mkdir -p dev etc var/run/named var/log var/named
linux# cd /var/named/etc/
linux# cp /etc/named.conf .
linux# cp /etc/localtime .
linux# mv /etc/named.conf /etc/named.conf.org
linux# cd /var/named/var/named
linux# cp /var/named_org/*.* /var/named/var/named/.
linux# cd /var/
linux# chown -R named.named named
linux# chmod 700 /var/named
linux# cd /var/named/dev/
linux# mknod null c 1 3
linux# mknod random c 1 8
linux# chmod 666 *
linux# vi /etc/sysconfig/named

● /etc/sysconfig/namedへの追加

ROOTDIR="/var/named"
/etc/sysconfig/named

・ BINDバージョンの隠蔽
・ 再起問い合わせのユーザ数制限

● rndc.keyの扱いについて
・  ! /etc/named.confは誰にでも読み取り可能なのでinclude文で参照するべき

DNS / BIND Links

contents


MenuBar

  • counter: 239
  • today: 3
  • yesterday: 0
  • online: 1