Conselhos sobre o design do Active Directory para servidores com hospedagem múltipla

10

Fui encarregado por um cliente de criar um design ativo do Active Directory para um cenário com os seguintes requisitos (simplificados, eles são realmente muito piores):

  • Há uma sub-rede para sistemas clientes.
  • Existe uma sub-rede para sistemas de servidor.
  • As duas redes não estão conectadas.
  • Cada servidor deve ter duas placas de rede, uma na rede dos servidores e outra na rede dos clientes.
  • O tráfego entre clientes e servidores deve fluir apenas na rede dos clientes.
  • O tráfego entre servidores deve fluir apenas na rede dos servidores.
  • Isso deve se aplicar aos controladores de domínio também.

Desnecessário dizer que isso não funciona muito bem com o modo como o Active Directory usa o DNS para localizar controladores de domínio; qualquer abordagem possível levaria a um dos seguintes cenários:

  • Os controladores de domínio registram seu endereço IP "do lado do cliente" no DNS do domínio; os clientes conversam com eles usando esse endereço, mas o mesmo acontece com os servidores e o tráfego de replicação do AD.
  • Os controladores de domínio registram seu endereço IP "do lado do servidor" no DNS do domínio; os servidores conversarão com eles usando esse endereço e o tráfego de replicação fluirá nessa rede, mas os clientes não poderão alcançá-los.
  • Os controladores de domínio registrarão os dois endereços IP no DNS do domínio; ninguém sabe o que qualquer sistema fará para alcançá-los.

Obviamente, esses requisitos são completamente loucos e todos eles não podem ser satisfeitos ao mesmo tempo, a menos que sejam usadas soluções malucas, como dividir o serviço DNS nas duas redes e preencher seus registros SRV manualmente (argh) ou fazer com que os servidores localizem Os DCs que usam DNS e os clientes localizam os DCs usando WINS (double-argh).

A solução que encontrei foi ter dois controladores de domínio na rede "servidores" e dois controladores de domínio na rede "clientes", definindo dois sites do AD e cruzando a fronteira entre as duas redes apenas com tráfego de replicação de controladores de domínio. Isso ainda exigirá alguma manipulação de DNS, porque cada servidor ainda terá duas placas de rede (além dos dois controladores de domínio do lado do servidor e servidores puramente de back-end), mas há pelo menos algumas chances de funcionar.

Algum conselho, além de fugir o mais rápido possível?

Massimo
fonte
7
Fuja mais rápido ... se você puder ...
SpaceManSpiff
1
Bem, suponho que não haja motivo para que você não possa configurar dois domínios e, em seguida, agrupá-los em uma árvore / floresta e chamá-lo de um dia. Em seguida, você pode usar o material interno para gerenciar a maioria dos problemas. Ainda assim, alguém precisa dar um tapa neles. Esta não é uma maneira de construir uma rede.
23611 Satanicpuppy
1
Essas pessoas nunca ouviram falar de roteamento? "MORE NICS !! 1" não produz segurança de rede. Dito isso, o DNS dividido com registros SRV manuais não parece terrivelmente desagradável.
Shane Madden
2
Seu cliente claramente não entende a praticidade. Recomendo cobrá-los com a maior frequência e abundância possível, se você não conseguir fugir.
Evan Anderson
1
Dispare o cliente.
gWaldo

Respostas:

5

Deixe-me começar dizendo que concordo com muitos outros - ou convença o cliente de outra forma ou corra.

No entanto, considerando seus requisitos listados (existem muitos não listados), posso pensar em (e parcialmente testado) pelo menos a base para fazer isso acontecer.

Existem vários aspectos específicos que precisam ser considerados.

  1. Replicação de Serviços de Domínio Active Directory
  2. Processo de localizador DC de clientes / servidores membros
  3. Resolução de nomes e tráfego para serviços que não são do AD DS

Um e dois têm muito em comum - em geral, estamos à mercê da Microsoft e precisamos trabalhar dentro dos limites dos processos AD DS da Microsoft.

Número três, temos um pouco de espaço para trabalhar. Podemos escolher os rótulos usados ​​para acessar serviços (arquivos, instâncias de banco de dados, etc.).

Aqui está o que eu proponho:

Crie seus controladores de domínio (DC)

  • Provavelmente pelo menos dois.
  • Cada controlador de domínio terá duas placas de rede, uma em cada site de rede IP / AD DS - chamando-as de clt e srv por enquanto.
  • Configure apenas uma NIC em cada controlador de domínio agora na rede srv.

Configurar sites e serviços do AD corretamente

  • site e sub-rede srv
  • site e sub-rede clt
  • desmarque a opção "Ponte de todos os links do site" em Sites -> Transportes entre sites -> Clique com o botão direito em "IP"
  • exclua DEFAULTIPSITELINK se ele existir (ou se você o renomeou) para que não haja links de site configurados. Observe que isso é desconhecido para mim - o KCC provavelmente despejará erros no log de eventos do Serviço de Diretório, dizendo que os dois sites (srv e clt) não estão conectados em intervalos variados. No entanto, a replicação ainda continuará entre os dois controladores de domínio, pois eles podem entrar em contato usando os IPs no mesmo site.

Configurar zona adicional no DNS integrado do AD DS

  • Se o seu domínio do AD DS for acme.local , crie uma segunda zona integrada primária do AD com as atualizações dinâmicas ativadas chamadas clt.acme.local .

Configure a segunda placa de rede nos seus controladores de domínio

  • Essas placas de rede serão as da rede / site clt.
  • Defina seus IPs
  • Aqui está a parte mágica - Propriedades do adaptador -> Propriedades do IPv4 -> Avançado -> Guia DNS -> Defina o sufixo DNS para esta conexão como clt.acme.local -> marque Registrar esta conexão ... -> marque Usar esta conexão Sufixo DNS ... -> OK o tempo todo.
  • ipconfig / registerdns
  • Isso registrará o clt NIC IP na zona clt.acme.local - fornecendo um método para controlarmos qual IP / rede será usado posteriormente.

Configurar NICs do servidor membro

  • As NICs do servidor membro no site clt devem ter o sufixo DNS e as caixas de seleção definidas adequadamente, como acima.
  • Essas configurações podem ser usadas com estático e DHCP, não importa.

Configurar o comportamento do resolvedor DNS [stub] nos sites

  • Controladores de domínio -> Configure o DC srv NIC para usar a si próprio e outro DC srv NIC IP. Deixe o DNS da NIC do clt DC vazio (o IP estático é necessário). (O servidor DNS DC ainda escuta em todos os IPs por padrão).
  • Servidores membros -> Configure a NIC do servidor membro srv para usar os IPs do site DC srv. Deixe o servidor NIC DNS da clt do servidor membro vazio (o IP estático pode ser usado).
  • Clientes / estações de trabalho -> Configure o DNS (por DHCP ou estático) para usar os IPs de placa de rede clt do controlador de domínio.

Configurar mapeamentos / recursos adequadamente

  • Quando os servidores conversam entre si, certifique-se de usar .acme.local -> resolverá o IP da rede srv.
  • Quando os clientes conversam com os servidores, certifique-se de usar .clt.acme.local -> resolverá clt IP da rede.

Do que estou falando?

  • A replicação do AD DS ainda ocorrerá, pois os controladores de domínio podem resolver um ao outro e se conectar. A zona acme.local e _msdcs.acme.local conterá apenas a replicação do AD DS do NIC IP DC srv NIC ocorrerá apenas na rede srv.
  • O processo do localizador de DC para servidores e estações de trabalho membros funcionará - embora exista a possibilidade de atrasos em várias partes de vários processos do AD DS quando o site for desconhecido, se vários IPs de DC forem retornados - eles serão tentados, falharão e seguirão em frente até que um funcione. Os efeitos no DFS-N também não foram completamente avaliados - mas ainda funcionarão.
  • Os serviços que não são do AD DS funcionarão bem se você usar os rótulos .acme.local e .clt.acme.local mencionados anteriormente, conforme descrito.

Eu não testei completamente isso, pois é bastante ridículo. No entanto, o objetivo dessa resposta (uau, longa) é começar a avaliar se é ou não possível - e não se deve ser feito.

@Comentários

@Massimo 1/2 Não confunda vários sites do AD DS na zona acme.local e, portanto, os registros SRV preenchidos pelos DC nesses sites na zona acme.local com a necessidade de registros SRV na zona clt.acme.local. O sufixo DNS primário do cliente (e o domínio do Windows ao qual ele está associado) ainda será acme.local. As estações cliente / estação de trabalho têm apenas uma única NIC, com o sufixo DNS primário provavelmente derivado do DHCP, definido como acme.local.

A zona clt.acme.local não precisa de registros SRV, pois não será usada no processo do localizador de DC. Ele é usado apenas por clientes / estações de trabalho para conectar-se a serviços que não são do AD DS do servidor membro usando os IPs do servidor membro na rede clt. Os processos relacionados ao AD DS (localizador de DC) não usarão a zona clt.acme.local, mas os sites (e sub-redes) do AD DS na zona acme.local.

@Massimo 3

Haverá registros SRV para sites clt e srv AD DS - apenas que eles existirão na zona acme.local - veja a nota acima. A zona clt.acme.local não precisa de registros SRV relacionados ao DC.

Os clientes poderão localizar uma multa de CD. Os servidores DNS do cliente apontam para os IPs clt dos controladores de domínio.

Quando o processo do localizador DC no cliente começa

  • Se o cliente conhece seu site, a pergunta do DNS será _ldap._tcp. [Site] ._ sites.dc._msdcs.acme.local SRV. Isso retornará os controladores de domínio específicos do site que possuem registros SRV registrados.
  • Se o cliente não conhecer o site, a pergunta do DNS será _ldap._tcp.dc._msdcs.acme.local SRV. Isso retornará todos os CDs. O cliente tentará vincular ao LDAP do controlador de domínio até encontrar um que responda. Quando o cliente encontra um, ele executa uma pesquisa no site para determinar o site do cliente e o site em cache no registro para que futuras instâncias do localizador de DC ocorram mais rapidamente.

@Massimo 4

Ugh, boa captura. A meu ver, existem duas maneiras de contornar esse problema.

  1. O menor impacto (comparado a 2 abaixo) é criar uma entrada no arquivo hosts nos clientes / estações de trabalho para dc1.acme.local e dc2.acme.local, apontando para os IPs de placa de rede dos controladores de domínio.

ou

  1. Crie manualmente os registros SRV necessários no arquivo netlogon.dns em cada um dos controladores de domínio. Provavelmente, isso terá algumas consequências na rede do servidor. Às vezes, os servidores membros podem se comunicar com os controladores de domínio na rede clt, se isso estiver configurado.

No geral, nada disso é bonito, mas esse não é necessariamente o objetivo final. Talvez o cliente esteja apenas testando suas técnicas. Coloque-o na mesa de conferência e diga a eles "Aqui, isso funcionará, mas estou cobrando 4x a minha taxa normal para configurá-la e suportá-la. Você pode reduzi-la para 1,5x minha taxa normal - .5x taxa PITA, executando [solução correta]. "

Como observado anteriormente, minha recomendação é convencer o contrário ou executar. Mas com certeza é um exercício divertido e ridículo. :)

Tecelão
fonte
Isso é interessante, não pensei em usar dois namespaces DNS diferentes. Mas eu posso ver vários problemas aqui ... 1) Não há registros do localizador de DC para a zona clt.acme.local; então, como os clientes encontrarão os CDs? 2) O sufixo DNS primário dos clientes ainda será acme.local, porque eles são membros do domínio; então, acho que eles ainda estarão procurando registros de localizadores DC nesta zona, mesmo que o sufixo DNS da NIC seja diferente. 3) De qualquer forma, não haverá um controlador de domínio registrado para o site do cliente; portanto, os clientes não poderão encontrar nenhum.
Massimo
O resultado mais provável é que os clientes não conseguirão encontrar um controlador de domínio (o WINS não está aqui e as redes serão roteadas) ou tentarão se conectar ao endereço IP do servidor dos controladores de domínio, o que não será possível. alcançável.
Massimo
@Massimo - Respondeu aos comentários no final do post.
Weaver
Mas quando o cliente obtém um registro SRV dizendo "seu DC é dc1.acme.local" (qualquer que seja o site), ele não tentaria entrar em contato usando seu FQDN? Eu não acho que ele se importe com o sufixo DNS da NIC, ou seja, eu acho que "dc1.acme.local não responde", vamos tentar "dc1.clt.acme.local". Somente tente dc1.acme.local, que mapeia para o endereço IP do lado do servidor do DC ... e ele irá falhar Ou estou faltando alguma coisa aqui.?
Massimo
@Massimo - Respondeu aos comentários no final do post.
Weaver
3

No final, eu fui com a solução de dois sites:

  • Dois controladores de domínio para a rede "servidores", dois controladores de domínio para a rede "clientes".
  • Dois sites do AD, um para as redes de "servidores" e outro para os "clientes".
  • Os DCs na rede "servidores" terão apenas uma placa de rede nela (os clientes não vão falar com eles), portanto, isso é fácil.
  • Os controladores de domínio na zona "clientes" terão dois, mas somente registrarão no DNS seus do lado do cliente.
  • Os servidores conversam com seus controladores de domínio, os clientes conversam com seus controladores.

Obviamente, isso significa habilitar o tráfego de replicação entre as duas redes; os controladores de domínio na rede "clientes" ainda terão uma NIC na rede "servidores", mas como não serão registrados no DNS, os controladores de domínio nessa rede os contatarão usando seus endereços IP do lado do cliente; para que a NIC seja completamente inútil e algumas portas de firewall precisem ser abertas. A única outra opção seria manipular os hostsarquivos dos controladores de domínio , mas esperemos que isso possa ser evitado.

Bem, acho que isso é o melhor que poderia ser feito para atender ao maior número possível de requisitos (loucos).

Obrigado por todos os conselhos :-)

Massimo
fonte
2

Antes de tudo, quando prestamos serviços aos nossos clientes, devemos questionar quais são seus requisitos. Permitindo que o cliente entenda que seu nível de complexidade é desnecessário.

  • Qual era o número de clientes?
  • Isso é todo tráfego interno?
  • Qual é o nível funcional dos domínios?
  • O protocolo TLS está sendo usado?

Usando o método KISS - estaria criando duas VLANs "SVR" e "CLT", permitindo SSL / TLS e chamando-a de dia ....

Steven - TechToolbox
fonte