web-dev-qa-db-ja.com

コンピュータがDCを間違ったサイトで指している

あなたの助けが必要です。私はこれに何ヶ月も苦労してきましたが、オンラインで見つけたものは何も助けになりませんでした。問題は、ドメインコンピュータが別のサイトの誤ったドメインコントローラをポイントすることがあります。 VPN経由で接続されている2つのサイトがあります:Site-A2つのドメインコントローラーとSite-B1つ。これが私の現在の設定です:

Network configuration

サイトAのコンピューターは通常SRV-1またはSRV-2のどちらかに(必要に応じて)接続しますが、サイトBのコンピューターはSRV-3に接続することはまれです。サイト間のADSL接続が非常に遅いため、間違ったサイトに接続すると、クライアントはほとんど使用できなくなります。

すべてのDCもDFSサーバーです。最大の欠点は、クライアントが間違ったDCに接続する一方で、クライアントは間違ったDFSサーバーに接続し、間違ったサイトのサーバーのみを利用可能なDFSサーバーとしてリストすることです。

WINS SRV-1上のサーバーであり、すべてのマシンがそのWINSクライアントを192.168.0.70にポイントしています。WINS =レコードは問題ないようです:

SRV-1のWINSレコード

また、すべてのサーバーでDNSレコードを調べましたが、それらは正しいようです。 サーバーはADサイトとサービスの正しいサイトにあり、正しいサブネットが割り当てられています。すべてのサーバーは、NTDS設定で相互に接続されています(双方向)。

私が行ったいくつかの観察:

サイトAのSRV-1(192.168.0.0/24):

C:\Users\Administrator>nltest /DCLIST:DOMAIN
Get list of DCs in domain 'DOMAIN' from '\\SRV-1'.
    SRV-1.domain.example.local [PDC]  [DS] Site: Site-A
    SRV-2.domain.example.local        [DS] Site: Site-A
    SRV-3.domain.example.local        [DS] Site: Site-B
The command completed successfully

C:\Users\Administrator>nltest /DSGETSITE
Site-A
The command completed successfully

C:\Users\Administrator>nltest /DSGETDC:DOMAIN
           DC: \\SRV-1
      Address: \\192.168.0.70
     Dom Guid: d8a18714-3272-4075-a5de-b1af522ec649
     Dom Name: DOMAIN
  Forest Name: domain.example.local
 Dc Site Name: Site-A
Our Site Name: Site-A
        Flags: PDC GC DS LDAP KDC TIMESERV WRITABLE DNS_FOREST CLOSE_SITE FULL_SECRET WS
The command completed successfully

C:\Users\Administrator>nltest /dsgetsitecov
Site-A
The command completed successfully

サイトAのSRV-2(192.168.0.0/24):

C:\Users\Administrator>nltest /DCLIST:DOMAIN
Get list of DCs in domain 'DOMAIN' from '\\SRV-1'.
    SRV-1.domain.example.local [PDC]  [DS] Site: Site-A
    SRV-2.domain.example.local        [DS] Site: Site-A
    SRV-3.domain.example.local        [DS] Site: Site-B
The command completed successfully

C:\Users\Administrator.DOMAIN>nltest /DSGETSITE
Site-A
The command completed successfully

C:\Users\Administrator.DOMAIN>nltest /DSGETDC:DOMAIN
           DC: \\SRV-2
      Address: \\192.168.0.71
     Dom Guid: d8a18714-3272-4075-a5de-b1af522ec649
     Dom Name: DOMAIN
  Forest Name: domain.example.local
 Dc Site Name: Site-A
Our Site Name: Site-A
        Flags: GC DS LDAP KDC TIMESERV WRITABLE DNS_FOREST CLOSE_SITE FULL_SECRET WS
The command completed successfully

C:\Users\Administrator.DOMAIN>nltest /dsgetsitecov
Site-A
The command completed successfully

サイトBのSRV-3(192.168.2.0/24):

C:\Users\Administrator>nltest /DCLIST:DOMAIN
Get list of DCs in domain 'DOMAIN' from '\\SRV-1'.
    SRV-1.domain.example.local [PDC]  [DS] Site: Site-A
    SRV-2.domain.example.local        [DS] Site: Site-A
    SRV-3.domain.example.local        [DS] Site: Site-B
The command completed successfully

C:\Users\Administrator.DOMAIN>nltest /DSGETSITE
Site-B
The command completed successfully

C:\Users\Administrator.DOMAIN>nltest /DSGETDC:DOMAIN
           DC: \\SRV-3
      Address: \\192.168.2.70
     Dom Guid: d8a18714-3272-4075-a5de-b1af522ec649
     Dom Name: DOMAIN
  Forest Name: domain.example.local
 Dc Site Name: Site-B
Our Site Name: Site-B
        Flags: GC DS LDAP KDC WRITABLE DNS_FOREST CLOSE_SITE FULL_SECRET WS
The command completed successfully

C:\Users\Administrator.DOMAIN>nltest /dsgetsitecov
Site-B
The command completed successfully

サイトBのクライアントPC(192.168.2.0/24):

C:\WINDOWS\system32>nltest /DCLIST:DOMAIN
Get list of DCs in domain 'DOMAIN' from '\\SRV-2'.
    SRV-2.domain.example.local        [DS] Site: Site-A
    SRV-1.domain.example.local [PDC]  [DS] Site: Site-A
    SRV-3.domain.example.local        [DS] Site: Site-B
The command completed successfully

C:\WINDOWS\system32>nltest /DSGETSITE
Site-A
The command completed successfully

C:\WINDOWS\system32>nltest /DSGETDC:DOMAIN
           DC: \\SRV-2
      Address: \\192.168.0.71
     Dom Guid: d8a18714-3272-4075-a5de-b1af522ec649
     Dom Name: DOMAIN
  Forest Name: domain.example.local
 Dc Site Name: Site-A
Our Site Name: Site-A
        Flags: GC DS LDAP KDC TIMESERV WRITABLE DNS_FOREST CLOSE_SITE FULL_SECRET WS
The command completed successfully

DSGETSITEおよびDSGETDCがクライアントPCで誤った値を返すことに注意してください。

おもしろいのは、クライアントが自分を指さそうとする日によって、状況が変わることです。クライアントを再起動してみましたが、役に立ちません。サーバーを1つずつ再起動してみましたが、違いはありません。どのサーバーもマルチホームではありません。

サーバーは、Windows Server 2008 R2およびクライアントWin7 Pro/Win10 Proです。

どんな助けでも大歓迎です!

5
Aleksiv95

わかりました。最終的にはネットワークの問題でした。ドメインコントローラに変更を加える必要はありません。 VPNのポリシールートは既に構成済みですが、パケットの優先順位を指定する方法を忘れていました。 LAN内トラフィック用に追加のポリシールートを追加し、cs4というDSCP値を割り当てました。トンネリングルートについては、cs5を指定しました。 DSCPについては詳しくありませんが、数値が小さいほどルートの重要性が増すことを理解しました(4と5は単なる乱数です)。以下は、ZyXEL ZyWallルーターの最終的な構成のスクリーンショットです(ペイントアートに感謝します)。

enter image description here

これが私の問題を解決した理由を私はある程度理解しています。今や主な優先事項は、ローカルネットワークにパケットを送信することであり、その後VPN経由でのみ送信されます。まだ少しわかりにくいです。サーバーとクライアントが異なるネットワークにある場合、サーバーはクライアントのIPを認識せず、ルーターの1つのIPを認識しないため、IPアドレスがどのサイトに属しているかを判断できない可能性がありますか?詳細な説明を知りたいです。

私を助けてくれた皆さんに感謝します:)

1
Aleksiv95

Pingは有用な情報を提供しません。 Pingは単純なDNSルックアップであり、DC Locatorプロセスがどのように機能するかを表すものではありません。

w32tm /query /status /verbose /computer:SRV-3 SRV-3のタイムサービスが正しく機能していることを確認します。

おそらくパケットキャプチャを行うのが最も簡単ですが、サイトBのクライアントPCで発生する状況をシミュレートすることで、プロセスが失敗している場所を手動で特定できる場合もあります。

  1. nslookup
    set type = srv
    _ ldap._tcp.dc._msdcs.domain

これにより、すべてのドメインコントローラー(DNSにAレコードが登録されている/ DNSニーモニックでフィルターされていない)のリストが返されます。

  1. 各DCにLDAPバインドを実行して、機能しているDCのリストを作成します。

  2. 最初にDCで応答すると、クライアントサイトが返され、サイトDCが含まれ、DSClosestFlag(0または1)が返されます。

  3. DCがクライアントサイトにあるか、DSClosestFlag = 1であるか、クライアントにサイトがない場合は、そのDCを使用します。そうでない場合は、以下を実行します。

    nslookup
    set type = srv
    _ ldap._tcp.sitename._sites.domain

  4. 各DCにLDAPバインドを実行して、機能しているDCのリストを作成します。

  5. それでも結果が出ない場合は、機能しているDCを使用してください。 (「次に最も近いサイトを試す」が有効になっていない限り、デフォルトでは無効になっています。).

  6. 結果としてDCが1つだけの場合は、それを使用します。複数の結果がある場合は、DC SRVの最低優先順位番号/最高重み番号に基づいて選択します。

1
Greg Askew