- PR -

DNSの設定についてアドバイスください

1
投稿者投稿内容
むふふ
会議室デビュー日: 2004/12/18
投稿数: 3
投稿日時: 2004-12-18 18:05
DNSサーバーの設定でつまづいてしまいました。
私の理解不足の為、ネットで情報探しても
解決が出来ませんでしたのでよろしくお願い致します。

マスターサーバーを自サーバーで構築中であり、
スレーブサーバーはhttp://www.zoneedit.comを利用しようとしてます。

【症状】
RedHatLinuxの時は問題はなかったのだが、FreeBSDだと、
マスターサーバーの情報がスレーブサーバーに転送されない。

下記の設定では不足している点があるのでしょうか?
下記に詳細を記します。

# uname
FreeBSD
# named -v
BIND 9.3.0

# cat /etc/namedb/named.conf
zone "example.jp" {
type master;
file "master/example.jp.zone";
allow-transfer {
216.110.187.226; # ns16.zoneedit.com
216.122.4.160; # ns13.zoneedit.com
};
};

# cat /etc/namedb/master/example.jp.zone
$TTL 604800
@ IN SOA ns.example.jp. postmaster.example.jp. (
2004121804 ;Serial
28800 ;Refresh 8 hour
1800 ;Retry 30 minutes
129600 ;Expire 2 weeks
3600 ;Minimum 1 hour
)
IN NS ns16.zoneedit.com.
IN NS ns13.zoneedit.com.
IN A 123.45.67.89 # 我が家のIP
IN MX 10 mail.example.jp.
ns IN A 123.45.67.89
ftp IN CNAME ns
www IN CNAME ns
mail IN CNAME ns

# /etc/rc.d/named restart
Stopping named.
Waiting for PIDS: 5061.
Starting named.

# tail -f /var/log/messages
Dec 18 17:56:41 home01 named[5169]: starting BIND 9.3.0 -u bind -t /var/named
Dec 18 17:56:41 home01 named[5169]: command channel listening on 127.0.0.1#953
Dec 18 17:56:41 home01 named[5169]: command channel listening on ::1#953

宜しくお願い致します。
kaz
ぬし
会議室デビュー日: 2003/11/06
投稿数: 5403
投稿日時: 2004-12-18 19:31
こんばんわ.

slave への転送の前に,localhost で名前解決はできているのでしょうか?
named.conf は普通
/etc/named.conf
ではないかと.
/etc/namedb/named.conf
に置いているのは意図的ですか?
導入した際に,compile option で指定するとか,
named の起動 option でもつけないと,そこは見てくれないと思います.
また,named.conf の option のなかで,
zone data はどこに指定していますか?
/etc/namedb
に置かれているようですが
/var/named
ではありませんか?

いずれにせよ,localhost で名前解決が出来ているか否か?が先でしょう.
むふふ
会議室デビュー日: 2004/12/18
投稿数: 3
投稿日時: 2004-12-18 21:13
ごめんなさい。詳細を書いてませんでした…。

localhostでは名前解決は出来ます。

Linuxでは確かに /etc/named.confなのですが、
FreeBSDでは、/etc/namedb/named.confになります。
正確には、/var/named/etc/namedb/named.confです。

# ls -la /etc | grep namedb
lrwxrwxrwx 1 root wheel 23 Dec 16 13:46 namedb -> ../var/named/etc/namedb

named.confには、下記の様に記述してます。

------------------------------------------------------
options {
directory "/etc/namedb";
pid-file "/var/run/named/pid";
dump-file "/var/dump/named_dump.db";
statistics-file "/var/stats/named.stats";

listen-on { 127.0.0.1; };
// listen-on-v6 { ::1; };
// forward only;
// forwarders { 127.0.0.1; };
// query-source address * port 53;
};

zone "." {
type hint;
file "named.root";
};

zone "localhost" {
type master;
file "master/localhost.zone";
};

zone "0.0.127.IN-ADDR.ARPA" {
type master;
file "master/localhost.rev";
};

zone "example.jp" {
type master;
file "master/example.zone";
allow-transfer {
216.110.187.226;
216.122.4.160;
};
};
------------------------------------------------------

1つ疑問なのですが、スレーブサーバーへの転送はダレがどのタイミングで行うのでしょうか?


[ メッセージ編集済み 編集者: むふふ 編集日時 2004-12-18 21:23 ]
あんとれ
ぬし
会議室デビュー日: 2004/01/14
投稿数: 556
投稿日時: 2004-12-18 23:39
> 1つ疑問なのですが、スレーブサーバーへの転送はダレがどのタイミングで行うのでしょ
> うか?

BIND は NOTIFY することにより、セカンダリサーバに変更を通知したりしますが、
基本的にはセカンダリサーバ側が定期的にプライマリサーバへの変更をチェックしに来ることにより同期を取ります。

ま、ともあれ、まずはログファイルを参照してみてください。
ログが少ないということでしたら、named.conf に以下のような設定を入れてみてください。他サーバからの問い合わせ内容が logs/querylog ファイルに出力されるようになります。これでセカンダリサーバが見に来ているかどうか、見に来ているなら、それを拒否してしまっていないかどうかが分かるかと思います。

logging {
channel defaultlog {
file "logs/defaultlog";
severity info;
print-category yes;
print-severity yes;
print-time yes;
};

channel querieslog {
file "logs/querieslog";
severity info;
print-category yes;
print-severity yes;
print-time yes;
};

category default { defaultlog; };
category queries { querieslog; };
};

下記に、DNS の同期について詳細な記述がありますので、参考にしてみて下さい。

http://www.atmarkit.co.jp/fnetwork/dnstips/033.html


[ メッセージ編集済み 編集者: あんとれ 編集日時 2004-12-18 23:41 ]
むふふ
会議室デビュー日: 2004/12/18
投稿数: 3
投稿日時: 2004-12-19 14:02
返答ありがとうございます。

関係ないですが、LinuxとFreeBSDはセキュリティポリシーが違い、
初期の段階では全て拒否する仕様らしいのでスレーブサーバーからの
問い合わせを拒否しちゃっているのでは?と思い始めました。

まずはそこからですね…。

> http://www.atmarkit.co.jp/fnetwork/dnstips/033.html

ここかなりいいですね。早速全てに目を通してみます。

ありがとうございました。
勉強し直してみます。
kaz
ぬし
会議室デビュー日: 2003/11/06
投稿数: 5403
投稿日時: 2004-12-19 15:08
こんにちわ.
引用:

むふふさんの書き込み (2004-12-19 14:02) より:

関係ないですが、LinuxとFreeBSDはセキュリティポリシーが違い、
初期の段階では全て拒否する仕様らしいのでスレーブサーバーからの
問い合わせを拒否しちゃっているのでは?と思い始めました。


FreeBSD だと /etc/rc.conf に
firewall_enable="NO"
とか
ipfilter_enable="NO"
となってませんか?
これが YES だと有効になっていると思いますけど,
default では NO になっていた記憶があります.

localhost では名前解決ができるとのことですが,
では master な DNS server を参照した client では名前解決できるのでしょうか?
それができて slave へ zone 情報が転送されないなら named の設定かも,
DNS client から普通に名前解決が出来なければ firewall の設定かも,
という切り分けができるのでは?
1

スキルアップ/キャリアアップ(JOB@IT)