- PR -

DNSにローカルIPが出る

投稿者投稿内容
なおと
会議室デビュー日: 2004/09/08
投稿数: 10
投稿日時: 2004-09-08 11:49
DNS関連でお手上げ状態になりここに頼らせて頂きました。

固定IP(仮)219.117.XXX.XXXを割り当てた回線にルータ1台、サーバ1台があり
サーバにはDNS、FTP、HTTPが入っておりルータ内のローカルIP(192.168.1.100)を
割り当てたサーバでDNSを立ち上げています。

そこで(仮)aaaaa.comドメインを取得し取得したドメイン業者のサイト内で
ネームサーバの申請・登録を自分の固定IPで行いました。
 ns.aaaaa.com(219.117.XXX.XXX) でプライマリDNSとして登録。

aaaaa.comのzoneファイルの内容は以下です。
$TTL 900
@ IN SOA ns.aaaaa.com. root.aaaaa.com. (
2004090811 ; Serial
1800 ; Refresh
900 ; Retry
86400 ; Expire
900 ) ; Minimum

IN A 192.168.1.100
IN NS ns.aaaaa.com.
IN NS ns2.aaaaa.com.
IN MX 10 ns.aaaaa.com.

localhost IN A 127.0.0.1

ns IN A 192.168.1.100
ns2 IN A 210.211.XXX.XXX
www IN CNAME ns
ftp IN CNAME ns
mail IN CNAME ns
* IN CNAME ns

これで暫く運用していたのですが、ある日「繋がらないときがある」と何度も
言われたので調べて見ますとDNSの正引きが時々ローカルIPの192.168.1.100が
出現します。

nslookupで何種類かのISPのDNSで試してみたところ、正しく名前解決されるところも
あればローカルIPがたまに出てくるDNSがあります。

www.aaaaa.comは219.117.XXX.XXXとグローバルIPが出ても
aaaaa.comとホスト名をなくすとローカルIPが出現します。

nslookupを利用せずWebでHOST-IP変換してくれるページを利用しても
利用サイトごとに違った動きをします。グローバルIPで解決されるところもあれば
ローカルIPで解決されてしまうところもあります。
思い当たるところは、ホスト名を抜いたaaaaa.comで名前解決をすると
ローカルIPがよく出ます。

これは私どものDNS内のみの問題で設定を正しくすれば解決される問題なのでしょうか?
どなかたこういった現象の可能性が考えられるといった点など思い当たることがありま
したら、どうかご教授願います。

「RedHat7.2」
bind-9.2.1-1.7x.2
ypbind-1.8-1
bind-utils-9.2.1-1.7x.2
bind-devel-9.2.1-1.7x.2
非武装エリア
大ベテラン
会議室デビュー日: 2004/03/03
投稿数: 202
お住まい・勤務地: 日本・たこ部屋
投稿日時: 2004-09-08 12:11
bind9を使っているなら、named.confでaclを定義して、viewによって外と中のそれぞの aaaaa.comのzone ファイルを使い分けると良いでしょう。

書き方としては、named.conf中で

-----
acl localnet {
172.0.0.1;
192.168.1.0/24;
};
view "local" {
match-clients { localnet; };
recursion yes;
zone "." {
type hint;
file "db.root";
};
zone "1.168.192.in-addr.arpa" {
type master;
file "db.192.168.1.local";
};

zone "aaaaa.com" {
type master;
file "db.aaaaa.com.local";
};
};
view "world" {
match-clients { any; };
recursion no;

zone "aaaaa.com" {
type master;
file "db.aaaaa.com";
};
};
-----

といった感じですね。(この設定はあくまでイメージなので、正確な指定はbindのドキュメントを見てください)






あんとれ
ぬし
会議室デビュー日: 2004/01/14
投稿数: 556
投稿日時: 2004-09-08 12:13
> IN A 192.168.1.100
> IN NS ns.aaaaa.com.
> ns IN A 192.168.1.100

この3つのレコードはどうしても削除することができないのでしょうか?
内向けDNSを利用しない限り、これらのレコードは不要です。
なおと
会議室デビュー日: 2004/09/08
投稿数: 10
投稿日時: 2004-09-08 12:55
早速のお返事有難う御座います。

非武装エリア様の手順は私は勉強不足で分からなかったので
調べてから試させて頂きたいと思います。

あんとれ様の方法はすぐに試してみたのですが結果は同じでした。
DNSの問い合わせはすぐに結果に反映されるのでしょうか。

下記のnslookupを使用させて頂きました。
http://www.tti.co.jp/nslookup/

結果は次のように「Address: 192.168.1.100」と出てしまいます。

Non-authoritative answer:
aaaaa.com nameserver = ns2.aaaaa.com.
aaaaa.com nameserver = ns.aaaaa.com.
Name: aaaaa.com
Address: 192.168.1.100

Authoritative answers can be found from:
aaaaa.com nameserver = ns2.aaaaa.com.
aaaaa.com nameserver = ns.aaaaa.com.
ns2.aaaaa.com internet address = 210.211.XXX.XXX
ns.aaaaa.com internet address = 219.117.XXX.XXX

comばかり複数のドメインを所有しておりますが、このような
ローカルIPが出る動きがあるのは3つだけです。共通して言える点が
以下になります。

うまくグローバルIPが表示されるzoneファイルは
■■■ccccc.com.zone■■■
$TTL 86400
@ IN SOA ns.aaaaa.com. root.aaaaa.com. (
2003022515 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum

IN A 192.168.1.100
IN NS ns.aaaaa.com.
IN NS ns2.aaaaa.com.
IN MX 10 ns.aaaaa.com.

localhost IN A 127.0.0.1

ns.aaaaa.com. IN A 192.168.1.100
ns2.aaaaa.com. IN A 210.211.XXX.XXX
www IN CNAME ns2.aaaaa.com.
ftp IN CNAME ns2.aaaaa.com.
mail IN CNAME ns.aaaaa.com.

です。殆どメインのaaaaa.com.zoneと同じ内容なのですが
こちらはうまくいっています。セカンダリDNSのns2.aaaaa.comは別回線で
データセンターに設置してあるものです。

謎である最大の点は参照DNSによって結果が違うということと
リロード(再実行)する毎にも結果が違うということです。
結果が違うというのはプライマリDNSのホスト名を抜いたIPアドレスが
グローバルIPになったりローカルIPになったりするという内容です。

何か思い当たることがありましたらどうか宜しくお願い意思ます。
非武装エリア
大ベテラン
会議室デビュー日: 2004/03/03
投稿数: 202
お住まい・勤務地: 日本・たこ部屋
投稿日時: 2004-09-08 13:19
>謎である最大の点は参照DNSによって結果が違うということと
>リロード(再実行)する毎にも結果が違うということです。

謎でもなんでもなく、DNSの正常な動作です。 NSとしてnsとns2を定義していればグローバルなネームサーバとして192.188.1.100と219.117.x.xを世界中のDNSに知らしめている事になります。 さらに ゾーンの中で 「* IN CNAME ns」とやっていれば、aaaaa.comを引いた時にローカルIPが現れてしまうのは当然ですね。

それと、相手が使っているDNSサーバには、このゾーン情報が暫く残っているので自分のDNSの情報を書き換えても相手のDNSに直ぐに反映される訳ではありません。

この辺りの動作理論については「DNS」をgoogleとかで検索すれば良い資料があると思います。
あんとれ
ぬし
会議室デビュー日: 2004/01/14
投稿数: 556
投稿日時: 2004-09-08 13:31
$TTL 86400

これは、「相手のサーバに1日間キャッシュしておいてもいいですよ」という設定ですので、
反映されるには最長1日間かかることになります。
なおと
会議室デビュー日: 2004/09/08
投稿数: 10
投稿日時: 2004-09-08 13:48
ご回答頂き本当に有難う御座います。

メインのaaaaa.comのzoneファイルを
$TTL 900
@ IN SOA ns.aaaaa.com. root.aaaaa.com. (
2004090811 ; Serial
1800 ; Refresh
900 ; Retry
86400 ; Expire
900 ) ; Minimum

IN A 192.168.1.100
IN NS ns.aaaaa.com.
IN NS ns2.aaaaa.com.
IN MX 10 ns.aaaaa.com.

localhost IN A 127.0.0.1

ns IN A 192.168.1.100
ns2 IN A 210.211.XXX.XXX
www IN CNAME ns
ftp IN CNAME ns
mail IN CNAME ns
* IN CNAME ns

から下記のように書き換えるとローカルIPが出現することは無いと言えますでしょうか?

$TTL 900
@ IN SOA ns.aaaaa.com. root.aaaaa.com. (
2004090811 ; Serial
1800 ; Refresh
900 ; Retry
86400 ; Expire
900 ) ; Minimum

IN A 219.117.XXX.XXX
IN NS ns.aaaaa.com.
IN NS ns2.aaaaa.com.
IN MX 10 ns.aaaaa.com.

localhost IN A 127.0.0.1

ns IN A 219.117.XXX.XXX
ns2 IN A 210.211.XXX.XXX
www IN CNAME ns
ftp IN CNAME ns
mail IN CNAME ns
* IN CNAME ns

内側からはDNSは参照しなくても支障はありませんので
これで問題なければグローバルIPのみを指定したいと思っています。

あと、ホスト名がないものはどこで指定されているのでしょうか。
私の場合は最終行の*がホスト名が無い場合の「aaaaa.com」の名前解決に
使われているのでしょうか?

$TTL は86400から900に昨日書き換えたのですが今のところは変化がありません;;
kaz
ぬし
会議室デビュー日: 2003/11/06
投稿数: 5403
投稿日時: 2004-09-08 13:58
こんにちわ.
引用:

なおとさんの書き込み (2004-09-08 13:48) より:

$TTL は86400から900に昨日書き換えたのですが今のところは変化がありません;;


ns IN A 1d 219.117.XXX.XXX
とかではダメでしょうか?
「zone ごと全部」より,「変更するかもしれないところ」だけのほうが良いと愚考いたします.

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