Consigli sulla progettazione di Active Directory per server multihomed


10

Un cliente mi ha incaricato di elaborare un progetto di Active Directory funzionante per uno scenario con i seguenti requisiti (semplificato, in realtà sono molto peggio):

  • Esiste una sottorete per i sistemi client.
  • Esiste una sottorete per i sistemi server.
  • Le due reti non sono connesse.
  • Ogni server dovrebbe avere due schede di rete, una sulla rete dei server, l'altra sulla rete dei client.
  • Il traffico tra client e server dovrebbe fluire solo sulla rete dei client.
  • Il traffico tra i server dovrebbe fluire solo sulla rete dei server.
  • Questo dovrebbe valere anche per i controller di dominio.

Inutile dire che questo non va molto bene con il modo in cui Active Directory utilizza DNS per individuare i controller di dominio; qualsiasi possibile approccio porterebbe a uno dei seguenti scenari:

  • I controller di dominio registrano il loro indirizzo IP "lato client" nel dominio DNS; i client parleranno con loro usando quell'indirizzo, ma così faranno i server e il traffico di replica AD.
  • I controller di dominio registrano il loro indirizzo IP "lato server" nel dominio DNS; i server parleranno con loro usando quell'indirizzo e il traffico di replica scorrerà su quella rete, ma i client non saranno in grado di raggiungerli.
  • I controller di dominio registreranno entrambi gli indirizzi IP nel dominio DNS; qualcuno indovina cosa farà qualsiasi sistema per raggiungerli.

Naturalmente, questi requisiti sono completamente pazzi e tutti non possono essere soddisfatti allo stesso tempo, a meno che non si utilizzino soluzioni pazze come dividere il servizio DNS sulle due reti e popolare i suoi record SRV a mano (argh) o far individuare i server I controller di dominio che utilizzano DNS e i client individuano i controller di dominio utilizzando WINS (double-argh).

La soluzione che mi è venuta in mente è avere due controller di dominio sulla rete "server" e due controller di dominio su quello "client", definendo due siti AD e attraversando il confine tra le due reti solo con traffico di replica DC. Ciò richiederà ancora qualche manipolazione del DNS, poiché ogni server avrà ancora due schede di rete (a parte i due controller di dominio lato server e i server puramente back-end), ma ha almeno alcune possibilità di funzionare.

Qualche consiglio, oltre a fuggire il più velocemente possibile?


7
Fuggi più veloce ... se puoi ...
SpacemanSpiff

1
Bene, suppongo che non ci sia motivo per cui non sia possibile impostare due domini, quindi raggrupparli in un albero / foresta e chiamarlo un giorno. Quindi è possibile utilizzare gli elementi integrati per gestire la maggior parte dei problemi. Tuttavia, qualcuno ha bisogno di schiaffeggiarli. Questo non è un modo per costruire una rete.
Satanicpuppy,

1
Queste persone non hanno sentito parlare del routing? "MORE NICS !! 1" non crea sicurezza di rete. Detto questo, dividere il DNS con i record SRV manuali non sembra terribilmente cattivo.
Shane Madden,

2
Il tuo cliente chiaramente non capisce la praticità. Ti consiglio di fatturarli il più frequentemente e abbondantemente possibile se non riesci a scappare.
Evan Anderson,

1
Lancia il client.
gWaldo,

Risposte:


5

Consentitemi di iniziare dicendo che concordo con molti degli altri - o convincere il cliente altrimenti o scappare.

Tuttavia, dati i requisiti elencati (ce ne sono molti non elencati), posso pensare (e parzialmente testato) almeno le basi per farlo accadere.

Ci sono molti aspetti specifici che devono essere considerati.

  1. Replica dei servizi di dominio Active Directory
  2. Processo di localizzazione DC di client / server membri
  3. Risoluzione dei nomi e traffico per i servizi non di dominio Active Directory

Uno e due hanno molto in comune - in generale siamo per capriccio di Microsoft su questo e dobbiamo lavorare entro i limiti dei processi di Microsoft AD DS.

Numero tre, abbiamo un po 'di spazio con cui lavorare. Possiamo scegliere le etichette utilizzate per accedere ai servizi (file, istanze di database, ecc.).

Ecco cosa propongo:

Costruisci i tuoi controller di dominio (DC)

  • Probabilmente almeno due.
  • Ogni controller di dominio disporrà di due schede NIC, una in ciascun sito di rete IP / Servizi di dominio Active Directory, chiamandole per ora clt e srv.
  • Configurare solo una scheda di rete in ogni controller di dominio in questo momento nella rete SRV.

Configurare correttamente siti e servizi AD

  • sito srv e sottorete
  • sito clt e sottorete
  • deseleziona "Collega tutti i collegamenti ai siti" da Siti -> Trasporti tra siti -> Fai clic con il pulsante destro del mouse su "IP"
  • elimina DEFAULTIPSITELINK se esiste (o se lo hai rinominato) in modo che non ci siano collegamenti al sito configurati. Si noti che questo è lo sconosciuto per me - KCC probabilmente scaricherà gli errori nel registro eventi del servizio directory dicendo che i due siti (srv e clt) non sono collegati a intervalli variabili. Tuttavia, la replica continuerà comunque tra i due controller di dominio in quanto possono contattare l'un l'altro utilizzando gli IP nello stesso sito.

Configurare la zona aggiuntiva nel DNS integrato di Servizi di dominio Active Directory

  • Se il tuo dominio di Servizi di dominio Active Directory è acme.local , crea una seconda zona integrata AD primaria con gli aggiornamenti dinamici abilitati chiamato clt.acme.local .

Configura la seconda scheda NIC sul tuo controller di dominio

  • Queste NIC saranno le NIC nella rete / sito clt.
  • Imposta i loro IP
  • Ecco la parte magica - Proprietà adattatore -> Proprietà IPv4 -> Avanzate -> Scheda DNS -> Imposta il suffisso DNS per questa connessione su clt.acme.local -> verifica Registra questa connessione ... -> Verifica Usa questa connessione Suffisso DNS ... -> OK fino in fondo.
  • ipconfig / registerdns
  • Ciò registrerà l'IP NIC clt nella zona clt.acme.local, fornendo un metodo per controllare quale IP / rete verrà utilizzata in seguito.

Configurare le schede NIC del server membro

  • Le schede NIC del server membro nel sito clt devono avere il suffisso DNS e le caselle di controllo impostate di conseguenza, come sopra.
  • Queste impostazioni possono essere utilizzate con statico e DHCP, non importa.

Configurare il comportamento del risolutore DNS [stub] nei siti

  • DC's -> Configura DC srv NIC per usare se stesso e altri DC srv NIC IP. Lascia vuoto DC clt NIC DNS (è necessario un IP statico). (Il server DNS DC ascolterà comunque tutti gli IP per impostazione predefinita).
  • Server membri -> Configurare la scheda NIC srv del server membro per utilizzare gli IP del sito DC srv. Lascia vuoto il server NTR DNS della NIC (è possibile utilizzare un IP statico).
  • Client / Workstation -> Configura DNS (tramite DHCP o statico) per utilizzare gli IP NIC della clt del controller di dominio.

Configurare le mappature / risorse in modo appropriato

  • Quando i server parlano tra loro, assicurati di usare .acme.local -> risolverà l'IP di rete srv.
  • Quando i client parlano con i server, assicurati di usare .clt.acme.local -> risolverà l'IP di rete clt.

Di cosa sto parlando?

  • La replica di Servizi di dominio Active Directory verrà comunque eseguita poiché i controller di dominio possono risolversi a vicenda e connettersi tra loro. La zona acme.local e _msdcs.acme.local conterrà solo la replica di Servizi di dominio Active Directory dell'IP di DS NIC DC srv avverrà solo sulla rete srv.
  • Funzionerà il processo di localizzazione DC per i server membri e le workstation - anche se esiste la possibilità di ritardi in varie parti di vari processi di Servizi di dominio Active Directory quando il sito è sconosciuto, se vengono restituiti più IP DC - verranno tentati, non riusciranno e proseguiranno fino a quando uno funziona. Gli effetti su DFS-N non sono stati completamente valutati, ma funzioneranno comunque.
  • I servizi non di dominio Active Directory funzioneranno correttamente se si utilizzano le etichette .acme.local e .clt.acme.local di cui sopra come descritto.

Non l'ho completamente testato in quanto è piuttosto ridicolo. Tuttavia, il punto di questa risposta (wow, lunga) è iniziare a valutare se sia possibile o meno - non se debba essere fatto.

@Commenti

@Massimo 1/2 Non confondere più siti di Servizi di dominio Active Directory nella zona acme.local, quindi i record SRV popolati dai controller di dominio in quei siti nella zona acme.local con la necessità di record SRV nella zona clt.acme.local. Il suffisso DNS primario del client (e il dominio Windows a cui sono uniti) sarà comunque acme.local. Il client / le stazioni di lavoro hanno una sola NIC, con il suffisso DNS primario probabilmente derivato da DHCP, impostato su acme.local.

La zona clt.acme.local non necessita di record SRV in quanto non verrà utilizzata nel processo di localizzazione DC. Viene utilizzato solo da client / stazioni di lavoro per connettersi ai servizi non AD DS del server membro utilizzando gli IP del server membro nella rete clt. I processi correlati a Servizi di dominio Active Directory (localizzatore DC) non utilizzeranno la zona clt.acme.local, ma i siti (e le sottoreti) di Servizi di dominio Active Directory nella zona acme.local.

@Massimo 3

Ci saranno record SRV sia per i siti di Servizi di dominio Active Directory clt che srv - solo che esisteranno nella zona acme.local - vedere la nota sopra. La zona clt.acme.local non necessita di record SRV relativi a DC.

I clienti saranno in grado di individuare una sanzione DC. I server DNS client puntano agli IP clt dei controller di dominio.

Quando inizia il processo di localizzazione DC sul client

  • Se il client conosce il suo sito, la domanda DNS sarà _ldap._tcp. [Site] ._ sites.dc._msdcs.acme.local SRV. Ciò restituirà i controller di dominio specifici del sito in cui sono registrati record SRV.
  • Se il client non conosce il suo sito, la domanda DNS sarà _ldap._tcp.dc._msdcs.acme.local SRV. Questo restituirà tutti i DC. Il client tenterà di collegarsi al LDAP di DC fino a quando non trova quello che risponde. Quando il client ne trova uno, esegue una ricerca del sito per determinare il sito del client e memorizza nella cache il sito nel registro in modo che le future istanze del localizzatore DC si verifichino più rapidamente.

@Massimo 4

Uff, bella cattura. Per come la vedo io ci sono due modi per aggirare questo problema.

  1. L'impatto minore (rispetto ai 2 seguenti) è quello di creare una voce nel file hosts sui client / workstation per dc1.acme.local e dc2.acme.local che punta agli IP NIC clt dei controller di dominio.

o

  1. Creare manualmente i record SRV necessari nel file netlogon.dns su ciascuno dei controller di dominio. Ciò probabilmente avrà delle conseguenze sulla rete del server. I server membri possono a volte comunicare con i controller di dominio sulla rete clt se questo è configurato.

Tutto sommato, non è bello, ma non è necessariamente l'obiettivo finale. Forse il cliente sta solo testando le tue costolette tecnologiche. Inseriscilo sul tavolo della conferenza e digli "Qui funzionerà, ma ti sto caricando 4 volte la mia tariffa normale per configurarla e supportarla. Puoi ridurla a 1,5 volte la mia tariffa normale - 0,5 volte la carica PITA, facendo [soluzione corretta]. "

Come notato in precedenza, la mia raccomandazione è di convincere altrimenti o correre. Ma è sicuramente un piccolo esercizio divertente in ridicolo. :)


Questo è interessante, non ho pensato di usare due spazi dei nomi DNS diversi. Ma posso vedere vari problemi qui ... 1) Non ci sono record di localizzatore DC per la zona clt.acme.local; quindi, come faranno i client a trovare i controller di dominio? 2) Il suffisso DNS primario dei client sarà ancora acme.local, poiché sono membri del dominio; Quindi, credo che essi saranno ancora essere alla ricerca di record del localizzatore DC in questa zona, anche se il suffisso DNS di loro NIC è diverso. 3) In ogni caso, non ci sarà DC registrato per il sito client, quindi i clienti non saranno in grado di trovarne.
Massimo,

Il risultato più probabile è che i client non saranno in grado di trovare un controller di dominio (WINS non è presente qui e le reti sono instradate) o tenteranno di connettersi all'indirizzo IP lato server del controller di dominio, che non sarà raggiungibile.
Massimo,

@Massimo - Ha risposto ai commenti alla fine del post.
Weaver,

Ma quando il client ottiene un record SRV che dice "il tuo DC it dc1.acme.local" (qualunque sia il sito), non proverebbe a contattarlo usando il suo FQDN? Non credo che gli interesserà affatto il suffisso DNS della sua NIC, cioè non penso che penserà che "dc1.acme.local non risponde, proviamo" dc1.clt.acme.local ". prova solo dc1.acme.local, che si collega all'indirizzo IP lato server del controller di dominio ... e non funzionerà. O mi sto perdendo qualcosa qui?
Massimo

@Massimo - Ha risposto ai commenti alla fine del post.
Weaver,

3

Alla fine sono andato con la soluzione di due siti:

  • Due controller di dominio per la rete di "server", due controller di dominio per la rete di "client".
  • Due siti AD, uno per le reti "server" e uno per "client" uno.
  • I controller di dominio nella rete dei "server" avranno solo una scheda NIC su quella (i client non parleranno affatto con loro), quindi è facile.
  • I controller di dominio nella zona "client" ne avranno due, ma registreranno nel DNS solo i loro client.
  • I server parleranno con i loro DC, i clienti parleranno con i loro DC.

Naturalmente, ciò significa abilitare il traffico di replica tra le due reti; i controller di dominio nella rete "client" disporranno comunque di una scheda NIC presente nella rete dei "server", ma poiché non verrà registrato nel DNS, i controller di dominio in quella rete li contatteranno utilizzando i loro indirizzi IP sul lato client; pertanto la scheda NIC sarà completamente inutile e sarà necessario aprire alcune porte del firewall. L'unica altra opzione sarebbe quella di alterare i hostsfile dei controller di dominio , ma speriamo che possa essere evitato.

Bene, penso che questo sia il migliore che si possa fare per soddisfare il maggior numero possibile di requisiti (folli).

Grazie per tutti i consigli :-)


2

Prima di tutto, quando forniamo assistenza ai nostri clienti, dovremmo chiederci quali siano i loro requisiti. Consentire al cliente di comprendere che il suo livello di complessità non è necessario.

  • Qual era il numero di clienti?
  • Questo è tutto il traffico interno?
  • Qual è il livello funzionale dei domini?
  • TLS Protcol è in uso?

Usando il metodo KISS - Sarebbe creare due VLAN "SVR" e "CLT" abilitando SSL / TLS e chiamandolo un giorno ....

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.