- PR -

外部DNSサーバの名前変換ができない

投稿者投稿内容
naka
常連さん
会議室デビュー日: 2005/01/24
投稿数: 22
投稿日時: 2005-02-18 10:11
すいません。質問を御願いします。

DMZに外部DNSサーバをたてているのですが、うまく名前変換をしてくれません。
OSはFedoracore3、ソフトはbind9です。
また、ホスト名はlinux、ドメイン名はexample.comで記載しています。
ログを見てみると下記のようになっていてnamedはうまく起動しているようなのですが。

[root@linux var]# tail -f /var/log/messages
Feb 17 19:41:47 linux named[9996]: zone 100.168.192.in-addr.arpa/IN: loaded serial 2005012805
Feb 17 19:41:47 linux named[9996]: zone 255.in-addr.arpa/IN: loaded serial 42
Feb 17 19:41:47 linux named[9996]: zone 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa/IN: loaded serial 1997022700
Feb 17 19:41:47 linux named[9996]: zone example.com/IN: loaded serial 2005012805
Feb 17 19:41:47 linux named[9996]: zone localdomain/IN: loaded serial 42
Feb 17 19:41:47 linux named[9996]: zone localhost/IN: loaded serial 2005012805
Feb 17 19:41:47 linux named[9996]: dns_master_load: outside.net.zone:20: www.outside.net: CNAME and other data
Feb 17 19:41:47 linux named[9996]: zone outside.net/IN: loading master file outside.net.zone: CNAME and other data
Feb 17 19:41:47 linux named[9996]: running
Feb 17 19:41:48 linux htt_server[2573]: status has not been enabled yet. (1, 4)
Feb 17 19:42:07 linux htt_server[2573]: status has not been enabled yet. (1, 2)
Feb 17 19:42:09 linux htt_server[2573]: status has not been enabled yet. (1, 4)

正引き、逆引きともダメなようです。
ゾーンファイルやnamed.confファイルを記載した方がよろしければ記載いたします。

お手数をおかけしますが、何かヒントになることでもお教えいただければと思います。

よろしく御願いします。
try
常連さん
会議室デビュー日: 2004/10/22
投稿数: 38
お住まい・勤務地: 神奈川/東京
投稿日時: 2005-02-18 12:27
-----------------------------------------------------
Feb 17 19:41:47 linux named[9996]: dns_master_load: outside.net.zone:20: www.outside.net: CNAME and other data
Feb 17 19:41:47 linux named[9996]: zone outside.net/IN: loading master file outside.net.zone: CNAME and other data
-----------------------------------------------------
勉強不足であれなんですが、ここの2行のログから怪しい動きをしているように見えます。
outside.net.zoneの20行目のCNAMEに関する部分がおかしいと思われます。


named.confとzoneファイルもあった方が、指摘しやすいですね
naka
常連さん
会議室デビュー日: 2005/01/24
投稿数: 22
投稿日時: 2005-02-18 13:45
tryさま

お返事ありがとうございます。

下記にnamed.confファイルとゾーンファイルを記載いたします。
何かお気づきの点がありましたら御願いします。

ドメイン名;example.com
ホスト名;linux
DMZにあてたIPアドレス;192.168.100.〜(外部DNSサーバ兼メールサーバ、wwwサーバあり)
内部にあてたIPアドレス;192.168.1.〜
グローバルIPアドレス;200.x.x.〜

お手数をおかけして申し訳ないです。


named.confファイル

//
// named.conf for Red Hat caching-nameserver
//
// outside-net

//
// Inside-net description
//
acl localnet{
192.168.1.0/24;
127.0.0.1;
};

options {
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
version "unknown";
/*
* If there is a firewall between you and nameservers you want
* to talk to, you might need to uncomment the query-source
* directive below. Previous versions of BIND always asked
* questions using port 53, but BIND 8.1 uses an unprivileged
* port by default.
*/
// query-source address * port 53;
allow-query{ localnet; };
allow-recursion{ localnet; };
allow-transfer{ localnet; };
forwarders{
200.x.x.y;
};
};

//
// a caching only nameserver config
//
controls {
inet 127.0.0.1 allow { localhost; } keys { rndckey; };
};

//
// Inside-net zone info
//

view "lan"{
match-clients{
localnet;
};

zone "." IN {
type hint;
file "named.ca";
};

zone "localdomain" IN {
type master;
file "localdomain.zone";
allow-update { none; };
};


//
// Loopback Address SEIHIKI
//

zone "localhost" IN {
type master;
file "localhost.zone";
allow-update { none; };
};


//
// Loopback Address GYAKUHIKI
//

zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.local";
allow-update { none; };
};


zone "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN {
type master;
file "named.ip6.local";
allow-update { none; };
};

zone "255.in-addr.arpa" IN {
type master;
file "named.broadcast";
allow-update { none; };
};

zone "0.in-addr.arpa" IN {
type master;
file "named.zero";
allow-update { none; };
};

zone "100.168.192.in-addr.arpa" IN {
type master;
file "100.168.192.in-addr.arpa.rev";
allow-update { none; };
};

zone "example.com" IN {
type master;
file "example.com.zone";
allow-update { none; };
};
};

//
// Out-side zone info
//

view "external"{
match-clients{ any; };
recursion no;

zone "outside.net" IN {
type master;
file"outside.net.zone";
allow-query{ any; };
};
};

include "/etc/rndc.key";




"outside.net"ファイル
$TTL 86400
@ IN SOA linux.example.com. user.linux.example.com.(
2005020205 ;serial
7200 ; refresh
3600 ; retry
604800 ; expiry
86400 ; minimum
);

IN NS linux.example.com.
IN MX 10 mail.example.com.

localhost IN A 127.0.0.1

linux IN A 200.x.x.1
mail IN A 200.x.x.2
dns IN A 200.x.x.2
www IN A 200.x.x.3

www IN CNAME linux2



"localhost.zone"ファイル
$TTL 86400
@ IN SOA localhost. user.localhost.(
2005012805 ;serial
7200 ; refresh
3600 ; retry
604800 ; expiry
86400 ; minimum
);
IN NS localhost.

IN A 127.0.0.1



"named.local"ファイル
$TTL 86400
@ IN SOA localhost. user.localhost. (
2005012805 ; Serial
7200 ; Refresh
3600 ; Retry
604800 ; Expire
86400 ; Minimum
);

IN NS localhost.

2 IN PTR localhost.



"example.com.zone"
$TTL 86400
@ IN SOA linux.example.com. user.linux.example.com.(
2005012805 ;serial
7200 ; refresh
3600 ; retry
604800 ; expiry
86400 ; minimum
);

IN NS linux.example.com.
IN MX 10 mail.example.com.

localhost IN A 127.0.0.1

linux IN A 192.168.100.2
mail IN A 192.168.100.2
dns IN A 192.168.100.2
www IN A 192.168.100.3

firewall IN A 192.168.100.1



"100.168.192.in-addr.arpa.rev"
$TTL 86400
@ IN SOA linux.example.com. user.linux.example.com.(
2005012805 ;serial
7200 ; refresh
3600 ; retry
604800 ; expiry
86400 ; minimum
);
IN NS linux.example.com.
IN MX 10 mail.example.com.

1 IN PTR firewall.example.com.
2 IN PTR linux.example.com.
2 IN PTR mail.example.com.
2 IN PTR dns.example.com.
3 IN PTR www.example.com.

try
常連さん
会議室デビュー日: 2004/10/22
投稿数: 38
お住まい・勤務地: 神奈川/東京
投稿日時: 2005-02-18 16:25
聞き忘れてましたが、正引き逆引きが出来ないと試験したのは
どこからですか?
クライアントPCからですか?
DNSサーバにログインして?



いくつか気になった点があったので順番に行きます。


1.ログでのエラー
"outside.net"ファイルの下の方の記述ですが、

www IN A 200.x.x.3
www IN CNAME linux2

とwwwホストに対して2つあるのがおかしいかな?
それと、www.example.comの正引きをした時に
linux2.example.comを教えようとしていますが、
linux2に対してのIPアドレスがありません。




2.aclについて
localnet(127.0.0.1, 192.168.1.0/24)からの名前解決はDMZのアドレスを返すが、
DMZの他のサーバ(bindが入っているPC以外)からの名前解決はグローバルアドレスを
返してしまう。



3.named.conf
今回引けなかった原因かな?

zone "outside.net" IN {
type master;
file"outside.net.zone";
allow-query{ any; };
};

とありますが間違っています。
外向きのexample.comの正引きをしようとしていると思いますが、
outside.netの正引き設定になっています。
設定からすると、

linux.outside.net ---> 200.x.x.1
mail.outside.net ---> 200.x.x.2
dns.outside.net ---> 200.x.x.2
www.outside.net ---> 200.x.x.3

となります。


あと、localnet(127.0.0.1, 192.168.1.0/24)以外からの逆引きは
不要ですか?
naka
常連さん
会議室デビュー日: 2005/01/24
投稿数: 22
投稿日時: 2005-02-20 10:50
tryさん

お返事本当にありがとうございます。

ただいまご意見を参考に色々といじっております。

ご質問いただいた件ですが、
正引き、逆引きのテストはクライアントPC、
DNSサーバ自身の両方から行いました。

あとローカルネット以外からの逆引きについてですが
外からは不要かな、と思いまして特に作りませんでしたが
そこらへんどうなのでしょう?
やはり必要でしょうか?
あんとれ
ぬし
会議室デビュー日: 2004/01/14
投稿数: 556
投稿日時: 2005-02-20 14:56
引用:

nakaさんの書き込み (2005-02-18 13:45) より:

"outside.net"ファイル
$TTL 86400
@ IN SOA linux.example.com. user.linux.example.com.(
2005020205 ;serial
7200 ; refresh
3600 ; retry
604800 ; expiry
86400 ; minimum
);

IN NS linux.example.com.
IN MX 10 mail.example.com.

localhost IN A 127.0.0.1

linux IN A 200.x.x.1
mail IN A 200.x.x.2
dns IN A 200.x.x.2
www IN A 200.x.x.3

www IN CNAME linux2



NS で外部の linux.example.com を指定されていますが、これは存在しかつinternic(?)に登録されているホストでしょうか?
naka
常連さん
会議室デビュー日: 2005/01/24
投稿数: 22
投稿日時: 2005-02-20 15:06
あんとれさん

ご意見ありがとうございます。

グローバルアドレス200.x.x.1(2, 3)はこちらで取得しているアドレスで
firewallマシンの外部インタフェースにわりあてているアドレスのことです。
linuxはDMZにおいてあるメール兼外部DNS用マシンのホスト名のことです。
naka
常連さん
会議室デビュー日: 2005/01/24
投稿数: 22
投稿日時: 2005-02-20 15:50
tryさん
あんとれさん

お世話になってます。

名前変換の件ですが、DNSサーバ自身からは変換ができるようになりました。

tryさんのご意見を参考に書き直したところできるようになりました。
どうもありがとうございます。
で、メールを外部に送信することはできるのですが
外部からのメールを受けることができません。
これも名前変換が一部うまくいってないからなのかどうかまだわかりません。

一応下記に関連すると思われるファイルを記載いたします。
何かお気づきの点などありましたらお教えください。

[root@linux var]# tail -f /var/log/messages
Feb 20 14:55:49 linux named[2272]: zone 100.168.192.in-addr.arpa/IN: loaded serial 2005012805
Feb 20 14:55:49 linux named[2272]: zone 255.in-addr.arpa/IN: loaded serial 42
Feb 20 14:55:49 linux named[2272]: zone 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa/IN: loaded serial 1997022700
Feb 20 14:55:49 linux named[2272]: zone example.com/IN: loaded serial 2005012805
Feb 20 14:55:49 linux named[2272]: zone localdomain/IN: loaded serial 42
Feb 20 14:55:49 linux named[2272]: zone localhost/IN: loaded serial 2005012805
Feb 20 14:55:49 linux named[2272]: zone example.com/IN: loaded serial 2005020205
Feb 20 14:55:49 linux named[2272]: running
Feb 20 14:55:54 linux htt_server[2573]: status has not been enabled yet. (1, 3)
Feb 20 14:55:56 linux htt_server[2573]: status has not been enabled yet. (1, 4)




”maillog ファイル”

Feb 20 15:09:37 linux postfix/smtpd[2400]: connect from firewall.example.com[192.168.100.1]
Feb 20 15:09:37 linux postfix/smtpd[2400]: 3F642C088: client=firewall.example.com[192.168.100.1]
Feb 20 15:09:37 linux postfix/cleanup[2403]: 3F642C088: message-id=<20050220060937.3F642C088@linux.example.com>
Feb 20 15:09:37 linux postfix/smtpd[2400]: disconnect from firewall.example.com[192.168.100.1]
Feb 20 15:09:37 linux postfix/qmgr[2517]: 3F642C088: from=<user@example.com>, size=743, nrcpt=1 (queue active)
Feb 20 15:09:37 linux postfix/local[2404]: 3F642C088: to=<user@example.com>, relay=local, delay=0,
status=sent (delivered to maildir)
Feb 20 15:09:37 linux postfix/qmgr[2517]: 3F642C088: removed
Feb 20 15:12:34 linux postfix/smtpd[2422]: connect from firewall.example.com[192.168.100.1]
Feb 20 15:12:34 linux postfix/smtpd[2422]: 4C75EC088: client=firewall.example.com[192.168.100.1], sasl_method=LOGIN, sasl_username=user@linux.example.com
Feb 20 15:12:34 linux postfix/cleanup[2423]: 4C75EC088: message-id=<003b01c51711$e0b1f8d0$0201a8c0@clientPC>
Feb 20 15:12:34 linux postfix/qmgr[2517]: 4C75EC088: from=<user@linux.example.com>, size=1345, nrcpt=1 (queue active)
Feb 20 15:12:34 linux postfix/smtpd[2422]: disconnect from firewall.example.com[192.168.100.1]
Feb 20 15:12:35 linux postfix/smtp[2424]: 4C75EC088: to=<user@yahoo.co.jp>, relay=mta06.mail.yahoo.co.jp[202.93.83.236], delay=1, status=sent (250 ok dirdel)
Feb 20 15:12:35 linux postfix/qmgr[2517]: 4C75EC088: removed
Feb 20 15:13:24 linux pop3-login: Login: user [::ffff:192.168.100.1]
Feb 20 15:14:57 linux postfix/qmgr[2517]: C9B06C095: from=<user@linux.example.com>, size=1328, nrcpt=1 (queue active)
Feb 20 15:14:58 linux postfix/smtp[2431]: C9B06C095: to=<user@yahoo.co.jp>, relay=mta08.mail.yahoo.co.jp[202.93.87.210], delay=368567, status=sent (250 ok dirdel)
Feb 20 15:14:58 linux postfix/qmgr[2517]: C9B06C095: removed




”named.conf ファイル”

[root@linux etc]# more *.conf
//
// named.conf for Red Hat caching-nameserver
//
// outside-net

//
// Inside-net description
//
acl localnet{
192.168.1.0/24;
192.168.100.0/24;
127.0.0.1;
};

options {
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
version "unknown";
/*
* If there is a firewall between you and nameservers you want
* to talk to, you might need to uncomment the query-source
* directive below. Previous versions of BIND always asked
* questions using port 53, but BIND 8.1 uses an unprivileged
* port by default.
*/
// query-source address * port 53;
allow-query{ localnet; };
allow-recursion{ localnet; };
allow-transfer{ localnet; };
forwarders{
200.x.x.5;
};
};

//
// a caching only nameserver config
//
controls {
inet 127.0.0.1 allow { localhost; } keys { rndckey; };
};

//
// Inside-net zone info
//

view "lan"{
match-clients{
localnet;
};

zone "." IN {
type hint;
file "named.ca";
};

zone "localdomain" IN {
type master;
file "localdomain.zone";
allow-update { none; };
};


//
// Loopback Address SEIHIKI
//

zone "localhost" IN {
type master;
file "localhost.zone";
allow-update { none; };
};


//
// Loopback Address GYAKUHIKI
//

zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.local";
allow-update { none; };
};


zone "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN {
type master;
file "named.ip6.local";
allow-update { none; };
};

zone "255.in-addr.arpa" IN {
type master;
file "named.broadcast";
allow-update { none; };
};

zone "0.in-addr.arpa" IN {
type master;
file "named.zero";
allow-update { none; };
};

zone "100.168.192.in-addr.arpa" IN {
type master;
file "100.168.192.in-addr.arpa.rev";
allow-update { none; };
};

zone "example.com" IN {
type master;
file "in-example.com.zone";
allow-update { none; };
};
};

//
// Out-side zone info
//

view "external"{
match-clients{ any; };
recursion no;

zone "example.com" IN {
type master;
file"out-example.com.zone";
allow-query{ any; };
};
};

include "/etc/rndc.key";




”out-example.com ファイル”

$TTL 86400
@ IN SOA linux.example.com. user.linux.example.com.(
2005020205 ; serial
7200 ; refresh
3600 ; retry
604800 ; expiry
86400 ; minimum
);

IN NS linux.example.com.
IN MX 10 mail.example.com.

localhost IN A 127.0.0.1

linux IN A 200.x.x.2
linux2 IN A 200.x.x.3
mail IN A 200.x.x.2
www IN A 200.x.x.3



”in-example.com ファイル”

$TTL 86400
@ IN SOA linux.example.com. user.linux.example.com.(
2005012805 ; serial
7200 ; refresh
3600 ; retry
604800 ; expiry
86400 ; minimum
);

IN NS linux.example.com.
IN MX 10 mail.example.com.

localhost IN A 127.0.0.1

linux IN A 192.168.100.2
linux2 IN A 192.168.100.3
firewall IN A 192.168.100.1
mail IN A 192.168.100.2
www IN A 192.168.100.3



”100.168.192.in-addr.arpa.rev ファイル”

$TTL 86400
@ IN SOA linux.example.com. user.linux.example.com.(
2005012805 ;serial
7200 ; refresh
3600 ; retry
604800 ; expiry
86400 ; minimum
);
IN NS linux.example.com.
IN MX 10 mail.example.com.

1 IN PTR firewall.example.com.
2 IN PTR linux.example.com.
3 IN PTR linux2.example.com.
2 IN PTR mail.example.com.
3 IN PTR www.example.com.

お手数をおかけして大変申し訳ないです。

よろしく御願いします。

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