web-dev-qa-db-ja.com

会社のDNSサーバーが一部のVMのホスト名を解決できないことがある理由として考えられるものは何ですか?

私は、所属するグループのメンバーがWebアプリ、Webサービス、ビルドサーバーなどにアクセスするために使用するVMのグループを担当しています。 ITはDNSサーバーを担当しており、私はそれらにアクセスできません。

すべてのVMは同じローカルドメインの一部であり、それぞれが独自の静的IPアドレスを持つ、同じデフォルトゲートウェイ、サブネットマスク、およびdns1サーバーとdns2サーバーを使用するように構成されています。

さまざまなクライアントコンピューターから何度もテストしたので、DNSサーバーは一部のVM(WindowsサーバーVM)のホスト名の解決に失敗することはありませんが、半分の時間で解決に失敗します特定のVMセット(Windows 7 VM)のホスト名。

たとえば、マシンにアクセスしようとした直後にクライアントPCで次のコマンドを実行すると、「サーバーが見つかりません」というエラーメッセージが表示された場合、次の出力が表示されます。

ipconfig/displaydns

vm1Host.mycompany.local
----------------------------------------
Name does not exist.

nslookup vm1Host

Server:  dnsserver1.mycompany.local
Address:  <dnsserver1-ip-address>

*** dnsserver1.mycompany.local can't find vm1Host: Non-existent domain

nslookup vm1Host.mycompany.local

Server:  dnsserver1.mycompany.local
Address:  <dnsserver1-ip-address>

*** dnsserver1.mycompany.local can't find vm1Host.mycompany.local: Non-existent domain

nslookup

Server:  dnsserver1.mycompany.local
Address:  <dnsserver1-ip-address>

Name:    vm1Host.mycompany.local
Address:  <vm1-ip-address>

ping vm1Host

Ping request could not find Host vm1Host. Please check the name and try again.

ping vm1Host.mycompany.local

Ping request could not find Host vm1Host.mycompany.local Please check the name and try again.

ping

Pinging <vm1-ip-address> with 32 bytes of data:
Reply from <vm1-ip-address>: bytes=32 time=1ms TTL=127
Reply from <vm1-ip-address>: bytes=32 time<1ms TTL=127
Reply from <vm1-ip-address>: bytes=32 time=2ms TTL=127
Reply from <vm1-ip-address>: bytes=32 time<1ms TTL=127

Ping statistics for <vm1-ip-address>:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 0ms, Maximum = 2ms, Average = 0ms

私はITと問題について話し合い、問題がクライアントPCのものではないことを彼らに証明できた後、問題を解決するか、各クライアントのホストファイルを変更するか、誰かを雇うためにチケットを提出するかを選択できました。 ITから、問題のある各マシンのホスト名/ IPアドレスをマッピングするエントリをDNSサーバーに手動で追加します。

最後のアクションで現在の問題が解決する可能性がありますが、問題の原因を理解するのに近づくことも、次回の新しいITへの依存度を下げることもできません。 VMこの問題が発生します。

問題を解決するための私の側の試みには、問題のある各マシンで次のことを行うことが含まれます。

  1. ipconfig/registerdnsを実行しています

  2. ipconfig/registerdnsを定期的に呼び出すバッチスクリプトの実行

  3. マシン名の変更、ワークグループへの参加、マシンの再起動、マシン名の元の名前への変更、ローカルドメインへの再参加、マシンの再起動。

  4. 値が0x20の「DWORD」という名前のDisabledComponentsエントリを次のレジストリキーに追加します。HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters\(マシンが代わりにIPv6アドレスを誤って登録している場合) IPv4アドレスの)

手順3について、マシンをローカルドメインに再参加させると、「このコンピューターのプライマリドメインDNS名を ""に変更できませんでした」というメッセージが表示されました。

この記事によると http://support.Microsoft.com/kb/201858 メッセージの原因は次のいずれかである可能性があります。

  1. 参加しているコンピューターのIPv4プロパティで[NetBIOSover TCP/IPを無効にする]チェックボックスが無効になっています
  2. UDPポート137を介した接続は、クライアントとヘルパーの間でブロックされますDCターゲットドメインでの結合操作のサービス*
  3. TCP/IPv4プロトコルが無効になっているため、参加しているクライアント、またはLDAPBINDの対象となる宛先ドメインのDCはTCP/IPv6のみを実行しています。

いずれも当てはまらないことを確認しました。また、マシンのファイアウォールがドメインのプロファイルを使用しており、UPDポート137に関して次のルールがあることも確認しました。

ドメインインバウンドが有効:

  • -ファイルとプリンターの共有(NB-Name-In)、ローカルUPDポート137
  • -NetBIOSネームサービス、ローカルUPDポート137+ドメインのファイアウォールポリシーによって想定される特定のリモートアドレスセット

ドメインインバウンド無効:

  • -ネットワーク検出(NB-Name-In)、ローカルUPDポート137

ドメインアウトバウンド有効:

  • -ファイルとプリンターの共有(NB-Name-Out)、リモートUPDポート137

ドメインアウトバウンド無効:

  • -ネットワーク検出(NB-Name-Out)、リモートUPDポート137

また、DNSサーバーのホスト名が解決に失敗することのないWindowsServerマシンのファイアウォール設定も同様に設定されます。

私がリンクしたKB記事は、NetpCompleteOfflineDomainJoin SUCCESS: Requested a reboot :0x0エントリがC:\Windows\debug\NetSetup.LOGに表示されている限り、エラーメッセージは煩わしいものにすぎないと最終的に認めました。

話をさらに長くするために、問題がWindows 7 VMの構成方法なのかDNSサーバーなのかを判断するために、独自のDNSサーバーをセットアップし、クライアントPCにそのDNSサーバーと驚いたことに、DNSサーバーがVMのホスト名の解決に失敗することはありませんでした。残念ながら、私がITと良いニュースを共有するとすぐに、会社のDNSサーバーを台無しにする可能性があるため、削除するように言われました。

Windows 7マシンのホスト名を解決するためにDNSサーバーに二度と依存しないことを除いて(そして私はここに足を踏み入れて、問題が何らかの形で影響を受けるマシンはすべてWindows7)を実行していますが、現在の問題を解決し、将来同様の問題を防ぐために他に何ができますか?

3
J Smith

問題のあるマシンがDNSサーバーが信頼するActiveDirectoryドメインのメンバーでない場合、DNSサーバーにエントリを挿入する権限がありません。

会社のDNSサーバーが.localドメインをホストしている場合、Windows7などのOSで利用可能なmDNS/DNS-SDのzerconf機能に干渉します。

質問 Windows DNSがVMのホスト名を取得できない場合があります 同様ですが、問題のマシンはWindowsベースではありませんが、同様の問題が関係している可能性があります。

1
BeowulfNode42