- - PR -
DNSにローカルIPが出る
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 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-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-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 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-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-09-08 13:31
$TTL 86400
これは、「相手のサーバに1日間キャッシュしておいてもいいですよ」という設定ですので、 反映されるには最長1日間かかることになります。 | ||||
|
投稿日時: 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に昨日書き換えたのですが今のところは変化がありません;; | ||||
|
投稿日時: 2004-09-08 13:58
こんにちわ.
ns IN A 1d 219.117.XXX.XXX とかではダメでしょうか? 「zone ごと全部」より,「変更するかもしれないところ」だけのほうが良いと愚考いたします. |