- ベストアンサー
Windows ServerのDNS動的更新とは?停止方法は?
- Windows Server 2008で、LANとWANのIPアドレスを持つ場合、DNSのAレコードに自動でIPアドレスを登録してしまう問題があります。特にLAN内で名前解決に使用している場合、グローバルアドレスを引き当てることで問題が発生することがあります。
- クライアント側のAレコードの自動更新は設定で停止することができますが、サーバ側の自動更新は別の仕組みで行われています。具体的な方法については分かっていません。
- Windows ServerのDNS動的更新を停止する方法について、経験のある方の知識を求めています。特にLANとWANのIPアドレスを持つ場合の問題について詳しく教えてもらえると助かります。
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
#5の追加情報としてお受けください。 Windows Server 2008 R2でチェックしてみました。 アクチブディレクトリのDNSに新しいホストを静的に登録できます。(エイリアスで別名登録は無意味でした) 名前:ftp 完全修飾ドメイン:lan.foo IPアドレス:(pc1234のローカルアドレス) この登録をすることによって、下記のようになるはずです。 ftp.lan.foo ---- ローカルアドレスのみにIPアドレス変換される pc1234.lan.foo ---- ローカルIPアドレスとグローバルIPアドレスに変換される(私のチェックで確認されていません) 同一IPアドレスで別な名前を登録してもシステムに異常が発生することはありません。 この手法であなたが目指しておられる、前方参照ゾーンにServerの動的レコードがあってもグローバルIPアドレスを参照しないようにすることが出来ます。 サーバ名の変更をご検討下さい。 影響が少ないと思われる変更例 質問のServerの名前:pc1234 → ad-server等 接続要求のSVの名前:pc1234 (従来のまま) 尚、Microsoft Loopback Adapteの追加については機能が見つかりませんでした。
その他の回答 (6)
- bunjii
- ベストアンサー率43% (3589/8249)
>WAN側もLAN側も固定IPアドレスであるサーバのDNS情報を動的に更新する必要性が全くないにも関わらず、動的に更新してしまうなどいう不必要な動きをする事が問題なのですから、こんな不必要な機能は、ばっさりと止める方法が知りたいなと考えている次第です。 あなたが不満に思うのも分かりますが、Microsoftのサポート窓口にこの点について質問されたでしょうか? 私の見方はあなたの知識で希望する設定が出来ないのであれば機能が備わっていないと判断します。 DNSの動的設定が行われても影響を回避する対策を考えれば宜しいのではありませんか? 1.エイリアスを利用する 2.Microsoft Loopback Adapterを使ってftp等のサーバを別の名前で別のIPアドレスを静的登録する 現時点ではこの2点しか考えられません。
- bunjii
- ベストアンサー率43% (3589/8249)
質問の回答にならないことは承知の上ですが、VPN対応のルーターが安価に入手出来ますので、セキュリティを高める意味で、pc1234をGW兼用からLAN側のみに移行する考えは出来ませんか? 可能ならば問題点が無くなると思います。 尚、pc1234(質問のServer)のWAN側は固定IPアドレスではないのですか?
補足
お金を使わずに解決できる内容にお金が出せるような会社ではありません。 Windows Serverは、「とてつもなく」高いと認識されていますから、そのとてつもなく高いサーバに機能が付いているにも関わらず、それを使わずに更に別の機器を購入するのは無理でしょうね。 今回は、たまたまWAN側の用途がVPNだというだけで、別の用途であっでも発生する問題ですから、たまたまVPNだからVPNルータに逃げようなど言う考えは安直だと言われて終わりでしょう。 それに、Windows ServerのVPNなら「誰にVPN接続を許可するか」などという内容もActive DirectoryとPolicyで統一管理できて便利ですし、私としても気乗りがしないです。本人的には、このサーバーをVPN専用にするのが理想ですが、とてつもなく高いサーバーを、外出した時にだけ使う用途に限定するなどと言ったら、張り倒されそうなので言えません(苦笑)。 そもそも、問題を回避するだけであれば、ややこしい事は考える必要がなく、ftpなどで接続するときに、ホスト名ではなくpc1234のローカルIPアドレスを直接指定してもらうか、IPアドレスを入力するのが面倒だとのたまわるユーザに対しては、hostsファイルにpc1234のローカルIPアドレスを登録してあげれば済んでしまいます(現に今は、そうしてしのいでいます)。 ですから、その手の回避手段が知りたいわけではなく、本質的な解決手段、つまり、本質的には、WAN側もLAN側も固定IPアドレスであるサーバのDNS情報を動的に更新する必要性が全くないにも関わらず、動的に更新してしまうなどいう不必要な動きをする事が問題なのですから、こんな不必要な機能は、ばっさりと止める方法が知りたいなと考えている次第です。
- bunjii
- ベストアンサー率43% (3589/8249)
LAN側のネットワークが理解出来ました。また、問題点も見えてきました。 > pc1234.lan.foo IN A グローバルアドレス > pc1234.lan.foo IN A ローカルアドレス pc1234は質問のServerですね? アクチブディレクトリのDNSにServerのみ静的登録し、他のPCを動的に登録出来る機能が無ければ、質問の目的は達成出来ません。 >グローバルアドレスですから、クライアント→デフォルトGW(WANに接続しているルータ)→The Internet→pc1234のWAN側のNICという経路が選択されて、pc1234に到達はしますが、pc1234は「WAN側からはVPN接続しか認めない」という設定をされていますから、接続が拒否される、という現象が発生します。 この問題はルーターへ静的ルーティングを追加することで解決できます。 pc1234のWAN側のIPアドレスは固定のアドレスですね? ルーターにpc1234のWAN側アドレス宛のパケットをpc1234のLAN側へ向け、その他をWAN側のデフォルトGWへ向けます。pc1234のLAN側のデフォルトGWはlocalhost(127.0.0.1)又は自身のWAN側IPアドレスとします。 これで解決出来ない場合はpc1234のWAN側からのアクセスを自社のルーターからのみアクセスを許可して下さい。 クライアントPC→自社ルーター1→インターネット→pc1234 (許可) 他の事業所のPC→自社ルーター2→インターネット→pc1234 (許可) 第三者のPC→第三者ルーター→インターネット→pc1234 (接続拒否) 一般的には危険回避の観点からLAN側のサーバにVPN用のGWを構築することを避けるようです。
お礼
>アクチブディレクトリのDNSにServerのみ静的登録し、他のPCを動的に登 >録出来る機能が無ければ、質問の目的は達成出来ません。 はい。そういういう事で、その方法を質問しております。具体的にはサーバの動的登録止める方法を質問していますが、動的登録を止めた後放置したらDNSのAレコードがなくなってしまいますから、止めた後に静的に登録する事を意図しています。 クライアントの動的登録を止める機能があるのですから、サーバの動的登録を止める方法も必ずあるはずだと思っていますが? > ルーターにpc1234のWAN側アドレス宛のパケットをpc1234のLAN側へ > 向け、その他をWAN側のデフォルトGWへ向けます。 この方法は無理でした。グローバルアドレス宛てのパケットをLAN側にルーティングしても、受け取るのはLAN側のNICで、ここにはローカルアドレスが設定されていますから、自分宛のパケットではないと判断して捨ててしまうようです。 > これで解決出来ない場合はpc1234のWAN側からのアクセスを自社の > ルーターからのみアクセスを許可して下さい。 この方法は原理的には可能なのですが、残念なことにルータのアドレスは固定IPではありません。この回線は発信専用なので固定IPにする必然性もなく、安い回線を選んで使っています。 という事で、サーバの動的更新を停止させる方法に関する回答を引き続きお待ちしたいと思います。 ありがとうございました。
- bunjii
- ベストアンサー率43% (3589/8249)
質問のServerでインターネットのDNS(Bind等)は稼働していますか? クライアントPCのTCP/IP設定でDNSの指定は質問のServerになっていて、「クライアントPCがLAN側のftpサーバーをアクセスしたいのにWAN側に接続しようとしてエラーになる」と云う現象が起こるのですか? 或いは、「質問のServerがLAN側のftpサーバーをアクセスしたいのにWAN側に接続しようとしてエラーになる」と云うことですか? >サーバマシンのAレコードの自動更新だけを止めたいと考えています。 質問のServerのLAN側のIPアドレスは固定ですよね? 「サーバマシン」は質問のServerとは別のマシンでしょうか? 考え方が飛躍すると言われるかも知れませんが、質問のServerのTCP/IPの設定を以下のようにして見ることをご検討ください。 WAN側 IPアドレス:プロバイダー指定のIPアドレス DNSのIPアドレス:プロバイダー指定のDNSのIPアドレス LAN側 IPアドレス:ServerのLAN側のIPアドレス DNSのIPアドレス:ServerのLAN側のIPアドレス 2枚のEthernetインターフェースにループバッ127.0.0.1(localhost)を指定すると厳密にLAN側とWAN側を区別出来なくなるように思いますので、明示的に各々のIPアドレスを指定する方が良いと思います。
補足
例えば、ADドメインがlan.fooで、サーバーのホスト名がpc1234であったとすると、ADドメインのDNS情報が動的に更新され、ローカルアドレスとグローバルアドレスが両方登録される結果としてイメージ的には、下記のような2つのDNSレコードが生成されます。 pc1234.lan.foo IN A グローバルアドレス pc1234.lan.foo IN A ローカルアドレス このDNSに対して、クライアントがpc1234.lan.fooのアドレスを問い合わせると、大抵はローカルアドレスを応答してくれますが、まれに(なぜ、まれに、なのかは分かっていませんが)グローバルアドレスが応答されます。 例えば、クライアントがftpでpc1234.lan.fooに接続するためにDNS問合せを行っていた場合だと、グローバルアドレスが応答されれば、クライアントはこのグローバルアドレスに対してftp接続を試みます。 グローバルアドレスですから、クライアント→デフォルトGW(WANに接続しているルータ)→The Internet→pc1234のWAN側のNICという経路が選択されて、pc1234に到達はしますが、pc1234は「WAN側からはVPN接続しか認めない」という設定をされていますから、接続が拒否される、という現象が発生します。 正しい動作としては、lan.fooはLAN内に作られたADドメインなのですから、配下のホストは全てローカルアドレスを持っているので、"pc1234.lan.foo IN A グローバルアドレス"などというAレコードは存在せず、DNSからは必ずローカルアドレスが返されて、クライアント→LAN→pc1234のLAN側のNICという経路が選択されて接続に成功するのが正しい動作です。 動作自身には、何ら不審な点はなく、"pc1234.lan.foo IN A グローバルアドレス"が動的更新で登録されないようにする設定方法さえ分かれば、全ては解決します。 pc1234のDNSは、ADドメイン以外のゾーン情報に関しては、キャッシュサーバとして動作しているので、bindをキャッシュサーバとして動作させた時と、全く同じ動きをしていますが、上記のように、この部分は上記の不具合には全く関係していません。ADドメインのDNS情報の不具合に起因して発生しています。
- bunjii
- ベストアンサー率43% (3589/8249)
質問のServerはWAN側についてVPNの入り口であればWAN側のTCP/IPの設定でDNSサーバーのIPアドレスを設定する必要が無いと考えられます。 これをブランクにすれば質問のServerのWAN側DNSを参照出来ませんので、ここからの影響が無くなりませんか? この状態でクライアントPCがWAN側のIPアドレスを参照するとすれば他のサーバー又はルーターを参照していることになります。 >DNSはLAN内で名前解決に使用していますので、クライアント側の(例えば)ftpなどがグローバルアドレス側を引き当ててしまう事が、たまに発生して困っています。 この原因を特定するためには質問のServer以外にも要因が無いかを調べてみるべきです。 現在までの情報から思いつくアドバイスはこの程度です。 クライアントPCのTCP/IPの設定はDHCPで自動取得でしょうか? アクチブディレクトリのDNSとTCP/IPのDNSが正しく融合していないように見受けられます。 巧く処理できない場合はLAN内からインターネットへ接続するためのProxy Serverを設置しては如何ですか?
補足
WAN側のDNSサーバは、127.0.0.1、つまりこのサーバ自身を参照しています。ご指摘のように必要がない設定ですので無意味な設定ですが、気分的にそうしておりました。 試しに、ブランクにしてみると「このサーバにはDNSがインストールされているので、ローカルリンクアドレスが使用される」という趣旨の警告が表示されますので、ブランクでも127.0.0.1でも同じになるようです。 ちなみに、Active Directoryドメインは、インターネットドメインに似せて作られているので、ドメインコントローラのDNSでは統合して管理されますが、全くの別物ですから、相互に影響する状況は(同じドメイン名を使うなどの非常識な事をしなければ)考えられません。 ドメインコントローラのDNSは、ADドメインに対しては、一般的な用語でいえばダイナミックDNSのような動作をします。例えば、ドメイン内のコンピュータがDHCPでIPアドレス(当然、ローカルアドレス)を取得すると、自動的にDNSのAレコードを更新してくれます。 この時、そのコンピュータが2つのNICを持っていて、グローバルアドレスも同時に持っていると、グローバルアドレス側も(DNS自動更新を有効に設定してあれば)お構いなしにを登録してしまいます。この動作自身は仕様で、異常ではないようです。 クライアントコンピュータの場合は、この「グローバルアドレスでもお構いなしにDNSを自動更新する」という動作を停止させる方法はあるだが、同じ設定をサーバコンピュータにしても停止してくれないので、どう設定したらよいのだろう?という質問です。
- bunjii
- ベストアンサー率43% (3589/8249)
質問の主旨が読めませんので補足して下さい。 1.質問のServerはLAN内のクライアントPCに対してインターネットのルーターの役割を担っていますか? 2.LAN内にWAN(グローバルアドレス)側と同一名のServerがそんざいしますか? 3.LAN側のクライアントPCをインターネット接続禁止にしていますか? 4.質問のServer自身がインターネットから情報を受けていますか? 私はWindows Server 2008の管理を行ったことがありません。しかし、基本的な考え方から処置の仕方を導けるようアドバイスしたいと思っています。 補足があれば何かの提案ができると思います。
補足
補足します。 1.ルーターとしては動作していません。WAN回線はWAN側からのVPN接続だけ許可してあります。 2.存在しません。 3.LAN→WANへの接続は別回線のルーター経由で接続しています。 4.Active Directoryドメイン以外の情報は、キャッシュサーバとして動作しています。セカンダリサーバとしてゾーン転送はしていません。 ご質問の趣旨から推測すると、Active Directory内でのDNSの動的更新と、一般来なDNSのゾーン転送やキャッシュを混同されている様な気がしますが、質問の趣旨としてはActive Directory固有の動作のお話です(DNSでは「セキュリティで保護された更新のみ許可」つまり、概ね「ADメンバコンピュータからのでのADドメインへの更新のみ許可」に設定してありますので、一般的なDNSのゾーン情報の不正な更新は発生しません。
お礼
なるほどぉ。 別の名前をDNSに登録してそちらを参照してもらえば、hostsに登録するよりは楽ですね。 たまにしか発生しない不具合なので、発生したクライアント側をモグラ叩き的に叩いていたので、思いつきませんでした。 すっかり連休モードに入ってしまいましたので、連休が明けたら、早速に登録しておこうと思います。ありがとうございました。
補足
その後、苦心惨憺の上、下記の情報を発見しました。どなたか同様のお悩みを持った方の為に追記しておきます。 http://support.microsoft.com/kb/272294/ja Microsoftでは、NIC2枚構成のシステムを"マルチホーム"という、あまり一般的ではない名称で呼んでいるようで、この為に情報を検索してもなかなかヒットしない状態になっているようです。 上記のHPは、機械翻訳されたページの様で相当に文章が乱れていますが、キモは"DNSサーバをWAN側からの問い合わせには応答しないように設定する(=LAN側からの問い合わせのみ応答するように設定する)"の部分です。動的更新さえ止めてしまえば、ラウンドロビン機能が動いていても無関係なのでラウンドロビンをあれこれしている部分は蛇足です。 FWでWAN側からのDNSパケットを遮断して事足れりと思っていたのですが、DNSサーバの(あいるはWinodws Serverの)立場としては、「WAN側からもDNSに問い合わせがあるのだからWAN側のIPアドレスもDNS登録しなければならないのだ」と考えて動的更新する、という仕様のようです。 という事で、DNSに「WAN側から問い合わせされる事はない」と認識させてあげると、そのインタフェース側のIPアドレスは動的更新しなくなるようです。