Hinweise zum Active Directory-Design für Multihomed-Server

10

Ich wurde von einem Kunden beauftragt, ein funktionierendes Active Directory-Design für ein Szenario mit den folgenden Anforderungen zu erstellen (vereinfacht, sie sind tatsächlich viel schlimmer):

  • Es gibt ein Subnetz für Client-Systeme.
  • Es gibt ein Subnetz für Serversysteme.
  • Die beiden Netzwerke sind nicht verbunden.
  • Jeder Server sollte über zwei Netzwerkkarten verfügen, eine im Netzwerk des Servers und eine im Netzwerk des Clients.
  • Der Datenverkehr zwischen Clients und Servern sollte nur im Netzwerk der Clients fließen.
  • Der Datenverkehr zwischen Servern sollte nur im Netzwerk der Server fließen.
  • Dies sollte auch für Domänencontroller gelten.

Es ist unnötig zu erwähnen, dass dies nicht sehr gut dazu passt, wie Active Directory DNS zum Auffinden von Domänencontrollern verwendet. Jeder mögliche Ansatz würde zu einem der folgenden Szenarien führen:

  • DCs registrieren ihre "clientseitige" IP-Adresse im Domain-DNS. Clients sprechen mit ihnen über diese Adresse, aber auch Server und AD-Replikationsdatenverkehr.
  • DCs registrieren ihre "serverseitige" IP-Adresse im Domain-DNS. Server werden mit ihnen unter Verwendung dieser Adresse kommunizieren und der Replikationsverkehr wird in diesem Netzwerk fließen, aber Clients können sie nicht erreichen.
  • DCs registrieren beide IP-Adressen im Domain-DNS. Es ist jedermanns Vermutung, was ein System tun wird, um sie zu erreichen.

Natürlich sind diese Anforderungen völlig verrückt und können nicht alle gleichzeitig erfüllt werden, es sei denn, Sie verwenden verrückte Lösungen wie die Aufteilung des DNS-Dienstes in die beiden Netzwerke und das manuelle Auffüllen der SRV-Einträge (argh) oder das Auffinden der Server DCs, die DNS verwenden, und die Clients suchen DCs mithilfe von WINS (double-argh).

Die Lösung, die ich mir ausgedacht habe, besteht darin, zwei DCs im "Server" -Netzwerk und zwei DCs im "Client" -Netzwerk zu haben, zwei AD-Standorte zu definieren und die Grenze zwischen den beiden Netzwerken nur mit DC-Replikationsverkehr zu überschreiten. Dies erfordert weiterhin eine gewisse DNS-Verwaltung, da jeder Server weiterhin über zwei Netzwerkkarten verfügt (abgesehen von den beiden serverseitigen Domänencontrollern und den reinen Back-End-Servern), aber zumindest einige Arbeitschancen hat.

Irgendwelche Ratschläge, außer so schnell wie möglich zu fliehen?

Massimo
quelle
7
Flieh schneller ... wenn du kannst ...
SpacemanSpiff
1
Nun, ich nehme an, es gibt keinen Grund, warum Sie nicht zwei Domänen einrichten und sie dann in einen Baum / Wald werfen und es einen Tag nennen können. Dann könnten Sie das integrierte Material verwenden, um die meisten Probleme zu verwalten. Trotzdem muss jemand das Dumme aus ihnen herausschlagen. Dies ist keine Möglichkeit, ein Netzwerk aufzubauen.
Satanicpuppy
1
Haben diese Leute nicht von Routing gehört? "MORE NICS !! 1" macht keine Netzwerksicherheit. Das heißt, geteiltes DNS mit manuellen SRV-Einträgen klingt nicht besonders böse.
Shane Madden
2
Ihr Kunde versteht die Praktikabilität eindeutig nicht. Ich empfehle, sie so häufig und reichlich wie möglich abzurechnen, wenn Sie nicht einfach weglaufen können.
Evan Anderson
1
Feuern Sie den Client ab.
GWaldo

Antworten:

5

Lassen Sie mich zunächst sagen, dass ich vielen anderen zustimme - entweder den Kunden anderweitig überzeugen oder ausführen.

Angesichts Ihrer aufgeführten Anforderungen (es gibt viele nicht aufgeführte) kann ich mir jedoch zumindest die Grundlagen dafür vorstellen (und diese teilweise testen), um dies zu erreichen.

Es gibt mehrere spezifische Aspekte, die berücksichtigt werden müssen.

  1. Replikation von Active Directory-Domänendiensten
  2. DC Locator-Prozess von Clients / Mitgliedsservern
  3. Namensauflösung und Datenverkehr für Nicht-AD-DS-Dienste

Eins und zwei haben viel gemeinsam - im Allgemeinen sind wir in dieser Hinsicht auf die Laune von Microsoft und müssen im Rahmen der AD DS-Prozesse von Microsoft arbeiten.

Nummer drei, mit dem wir ein bisschen arbeiten können. Wir können die Bezeichnungen auswählen, die für den Zugriff auf Dienste verwendet werden (Dateien, Datenbankinstanzen usw.).

Folgendes schlage ich vor:

Erstellen Sie Ihre Domänencontroller (DC)

  • Wahrscheinlich mindestens zwei.
  • Jeder DC verfügt über zwei Netzwerkkarten, eine in jedem IP-Netzwerk / AD DS-Standort, die vorerst als clt und srv bezeichnet werden.
  • Nur so konfigurieren , ein NIC jetzt in jedem DC in den SRV - Netzwerk.

Konfigurieren Sie AD-Sites und -Dienste ordnungsgemäß

  • srv site und subnetz
  • CLT-Site und Subnetz
  • Deaktivieren Sie "Alle Site-Links überbrücken " unter "Sites -> Transporte zwischen Standorten -> Klicken Sie mit der rechten Maustaste auf" IP ".
  • Löschen Sie den DEFAULTIPSITELINK, wenn er vorhanden ist (oder wenn Sie ihn umbenannt haben), sodass keine Site-Links konfiguriert sind. Beachten Sie, dass dies für mich unbekannt ist. KCC wird wahrscheinlich Fehler in das Verzeichnisdienst-Ereignisprotokoll speichern, die besagen, dass die beiden Standorte (srv und clt) nicht in unterschiedlichen Intervallen verbunden sind. Die Replikation zwischen den beiden Domänencontrollern wird jedoch fortgesetzt, da sie sich über die IP-Adressen am selben Standort gegenseitig kontaktieren können.

Konfigurieren Sie eine zusätzliche Zone in AD DS Integrated DNS

  • Wenn Ihre AD DS-Domäne acme.local ist , erstellen Sie eine zweite integrierte primäre AD-Zone mit aktivierten dynamischen Updates mit dem Namen clt.acme.local .

Konfigurieren Sie die zweiten Netzwerkkarten auf Ihren Domänencontrollern

  • Diese Netzwerkkarten sind die Netzwerkkarten im CLT-Netzwerk / Standort.
  • Stellen Sie ihre IPs ein
  • Hier ist der magische Teil - Adaptereigenschaften -> IPv4-Eigenschaften -> Erweitert -> Registerkarte DNS -> Setzen Sie das DNS-Suffix für diese Verbindung auf clt.acme.local -> aktivieren Sie Diese Verbindung registrieren ... -> Aktivieren Sie diese Verbindung verwenden DNS-Suffix ... -> OK bis zum Ende.
  • ipconfig / registerdns
  • Dadurch wird die Clt-NIC-IP in der Zone clt.acme.local registriert. Auf diese Weise können wir steuern, welche IP / welches Netzwerk später verwendet wird.

Konfigurieren Sie die NICs der Mitgliedsserver

  • Für NICs von Mitgliedsservern auf der CLT-Site müssen das DNS-Suffix und die Kontrollkästchen entsprechend wie oben festgelegt sein.
  • Diese Einstellungen können mit statischen und DHCP verwendet werden, spielt keine Rolle.

Konfigurieren Sie das DNS [Stub] Resolver-Verhalten auf den Sites

  • DCs -> Konfigurieren Sie die DC-srv-Netzwerkkarte so, dass sie sich selbst und andere IP-srv-Netzwerkkarten-IPs verwendet. Lassen Sie DC clt NIC DNS leer (statische IP ist jedoch erforderlich). (Der DC-DNS-Server überwacht standardmäßig weiterhin alle IP-Adressen.)
  • Mitgliedsserver -> Konfigurieren Sie die srv-Netzwerkkarte des Mitgliedsservers für die Verwendung der IP-Adressen der DC-srv-Site. Lassen Sie den Mitgliedsserver clt NIC DNS leer (statische IP kann verwendet werden).
  • Clients / Workstations -> Konfigurieren Sie DNS (entweder über DHCP oder statisch) für die Verwendung der Clt-NIC-IPs des DC.

Konfigurieren Sie Zuordnungen / Ressourcen entsprechend

  • Wenn Server miteinander kommunizieren, stellen Sie sicher, dass Sie .acme.local verwenden -> wird in srv-Netzwerk-IP aufgelöst.
  • Wenn Clients mit Servern sprechen, stellen Sie sicher, dass Sie .clt.acme.local verwenden -> wird in clt network IP aufgelöst.

Worüber rede ich?

  • Die AD DS-Replikation wird weiterhin durchgeführt, da sich DCs gegenseitig auflösen und eine Verbindung herstellen können. Die Bereiche acme.local und _msdcs.acme.local enthalten nur die AD DS-Replikation der DC-srv-Netzwerkkarte. Die AD DS-Replikation findet nur im srv-Netzwerk statt.
  • Der DC-Locator-Prozess für Mitgliedsserver und Workstations funktioniert - obwohl die Möglichkeit von Verzögerungen an verschiedenen Stellen verschiedener AD DS-Prozesse besteht, wenn der Standort unbekannt ist, wenn mehrere DC-IPs zurückgegeben werden -, werden sie versucht, schlagen fehl und gehen weiter bis man arbeitet. Die Auswirkungen auf DFS-N wurden ebenfalls nicht vollständig evaluiert - werden aber weiterhin funktionieren.
  • Nicht-AD DS-Dienste funktionieren einwandfrei, wenn Sie die oben genannten Bezeichnungen .acme.local und .clt.acme.local wie beschrieben verwenden.

Ich habe dies nicht vollständig getestet, da es ziemlich lächerlich ist. Der Sinn dieser (wow, langwierigen) Antwort besteht jedoch darin, zu bewerten, ob dies möglich ist oder nicht - nicht, ob dies getan werden sollte.

@Bemerkungen

@Massimo 1/2 Verwechseln Sie nicht mehrere AD DS-Sites in der acme.local-Zone und damit SRV-Datensätze, die von DCs an diesen Sites in der acme.local-Zone gefüllt werden, mit der Notwendigkeit von SRV-Datensätzen in der clt.acme.local-Zone. Das primäre DNS-Suffix des Clients (und die Windows-Domäne, zu der er gehört) ist weiterhin acme.local. Der Client / die Workstations haben nur eine einzige Netzwerkkarte, deren primäres DNS-Suffix wahrscheinlich von DHCP abgeleitet ist und auf acme.local festgelegt ist.

Die Zone clt.acme.local benötigt keine SRV-Datensätze, da sie nicht im DC-Locator-Prozess verwendet wird. Es wird nur von Clients / Workstations verwendet, um mithilfe der IP-Adressen des Mitgliedsservers im CLT-Netzwerk eine Verbindung zu den Nicht-AD-DS-Diensten des Mitgliedsservers herzustellen. AD DS-bezogene Prozesse (DC-Locator) verwenden nicht die Zone clt.acme.local, sondern die AD DS-Sites (und Subnetze) in der Zone acme.local.

@Massimo 3

Es wird SRV-Datensätze sowohl für clt- als auch für srv-AD-DS-Sites geben - nur dass sie in der acme.local-Zone vorhanden sind - siehe Hinweis oben. Die Zone clt.acme.local benötigt keine DC-bezogenen SRV-Datensätze.

Kunden können eine DC-Geldstrafe finden. Client-DNS-Server verweisen auf die CLT-IPs der DCs.

Wenn der DC-Locator-Prozess auf dem Client gestartet wird

  • Wenn der Client seine Site kennt, lautet die DNS-Frage _ldap._tcp. [Site] ._ sites.dc._msdcs.acme.local SRV. Dadurch werden die standortspezifischen Domänencontroller zurückgegeben, für die SRV-Einträge registriert sind.
  • Wenn der Client seine Site nicht kennt, lautet die DNS-Frage _ldap._tcp.dc._msdcs.acme.local SRV. Dadurch werden alle DCs zurückgegeben. Der Client versucht, eine Verbindung zum LDAP von DC herzustellen, bis er eine Antwort findet. Wenn der Client einen findet, führt er eine Standortsuche durch, um den Standort des Clients zu ermitteln, und speichert den Standort in der Registrierung zwischen, damit zukünftige DC-Locator-Instanzen schneller ausgeführt werden können.

@Massimo 4

Ugh, schöner Fang. So wie ich es sehe, gibt es zwei Möglichkeiten, um dieses Problem zu umgehen.

  1. Die geringere Auswirkung (im Vergleich zu 2 unten) besteht darin, einen Eintrag in der Hosts-Datei auf den Clients / Workstations für dc1.acme.local und dc2.acme.local zu erstellen, der auf die Clt-NIC-IPs der DCs verweist.

oder

  1. Erstellen Sie die erforderlichen SRV-Datensätze manuell in der Datei netlogon.dns auf jedem der Domänencontroller. Dies hat wahrscheinlich einige Konsequenzen für das Servernetzwerk. Mitgliedsserver können manchmal mit den Domänencontrollern im CLT-Netzwerk kommunizieren, wenn dies konfiguriert ist.

Alles in allem ist nichts davon hübsch, aber das ist nicht unbedingt das Endziel. Vielleicht testet der Kunde nur Ihre technischen Fähigkeiten. Stellen Sie es auf den Konferenztisch und sagen Sie ihnen: "Hier wird dies funktionieren, aber ich berechne Ihnen das 4-fache meines normalen Tarifs, um es zu konfigurieren und zu unterstützen. Sie können es auf das 1,5-fache meines normalen Tarifs reduzieren - 0,5-fache PITA-Gebühr, indem Sie dies tun." [richtige Lösung]. "

Wie bereits erwähnt, empfehle ich, anders zu überzeugen oder zu rennen. Aber es ist sicher eine lustige kleine Übung in lächerlich. :) :)

Weber
quelle
Das ist interessant, ich habe nicht darüber nachgedacht, zwei unterschiedliche DNS-Namespaces zu verwenden. Aber ich kann hier verschiedene Probleme sehen ... 1) Es gibt keine DC-Locator-Datensätze für die clt.acme.local-Zone; Wie werden die Kunden DCs finden? 2) Das primäre DNS-Suffix der Clients lautet weiterhin acme.local, da sie Domänenmitglieder sind. Ich denke, sie werden immer noch nach DC-Locator-Einträgen in dieser Zone suchen, auch wenn das DNS-Suffix ihrer Netzwerkkarte anders ist. 3) Auf jeden Fall gibt es keinen registrierten DC für den Client-Standort, sodass Clients keinen finden können.
Massimo
Das wahrscheinlichste Ergebnis ist, dass Clients entweder überhaupt keinen DC finden können (WINS ist hier nicht vorhanden und Netzwerke werden geroutet), oder sie versuchen, eine Verbindung zur serverseitigen IP-Adresse der DCs herzustellen, was nicht der Fall ist erreichbar.
Massimo
@Massimo - Auf Kommentare am Ende des Beitrags geantwortet.
Weber
Aber wenn der Client einen SRV-Datensatz mit der Aufschrift "your DC it dc1.acme.local" (unabhängig von der Site) erhält, würde er dann nicht versuchen, ihn über seinen vollqualifizierten Domänennamen zu kontaktieren? Ich denke nicht, dass es sich überhaupt um das DNS-Suffix seiner Netzwerkkarte kümmern wird, dh ich denke nicht, dass es denken wird, dass "dc1.acme.local nicht antwortet, versuchen wir es mit" dc1.clt.acme.local " Versuchen Sie nur dc1.acme.local, das der serverseitigen IP-Adresse des DC zugeordnet ist ... und es wird fehlschlagen. Oder fehlt mir hier etwas?
Massimo
@Massimo - Auf Kommentare am Ende des Beitrags geantwortet.
Weber
3

Am Ende habe ich mich für die Lösung mit zwei Standorten entschieden:

  • Zwei DCs für das Netzwerk "Server", zwei DCs für das Netzwerk "Clients".
  • Zwei AD-Standorte, einer für die "Server" -Netzwerke und einer für "Clients".
  • Auf DCs im "Server" -Netzwerk befindet sich nur eine Netzwerkkarte (Clients werden überhaupt nicht mit ihnen sprechen). Dies ist also einfach.
  • DCs in der Zone "Clients" haben zwei, registrieren jedoch nur ihre clientseitigen im DNS.
  • Server sprechen mit ihren DCs, Clients sprechen mit ihren.

Dies bedeutet natürlich, dass der Replikationsverkehr zwischen den beiden Netzwerken aktiviert wird. Auf den Domänencontrollern im "Client" -Netzwerk befindet sich weiterhin eine Netzwerkkarte im "Server" -Netzwerk. Da diese jedoch nicht im DNS registriert wird, werden sie von den Domänencontrollern in diesem Netzwerk über ihre clientseitigen IP-Adressen kontaktiert. Damit die Netzwerkkarte tatsächlich völlig unbrauchbar wird und einige Firewall-Ports geöffnet werden müssen. Die einzige andere Möglichkeit wäre, die hostsDateien der DCs zu entstellen , aber hoffen wir, dass dies vermieden werden kann.

Nun, ich denke, dies ist das Beste, was getan werden kann, um so viele (verrückte) Anforderungen wie möglich zu erfüllen.

Danke für alle Ratschläge :-)

Massimo
quelle
2

Wenn wir unseren Kunden Dienstleistungen anbieten, sollten wir uns zunächst fragen, welche Anforderungen sie haben. Damit der Client verstehen kann, dass seine Komplexität nicht erforderlich ist.

  • Wie viele Kunden gab es?
  • Das ist alles interner Verkehr?
  • Was ist die Funktionsebene der Domains?
  • Wird das TLS-Protokoll verwendet?

Verwenden der KISS- Methode - Würde zwei VLANs "SVR" und "CLT" erstellen, die SSL / TLS aktivieren und es einen Tag nennen ....

Steven - TechToolbox
quelle