Configurando NICs no Windows com segurança no DSC ou Puppet

1

Estamos usando o DSC basicamente desde o lançamento do primeiro dia, mas uma coisa que nunca conseguimos fazer com sucesso (seja pelo DSC simples direto ou invocando DSC via fantoche) é configurar o sistema de rede do Windows de uma maneira que não pode causar grandes problemas ao aplicar a configuração.

A questão é esta:

Usando os módulos do Microsoft DSC (atualmente xNetworking ), você tem diretivas para:

  • xDhcpClient (isso desativou o DHCP para uma conexão)
  • xIPAddress (define um endereço IP em uma conexão)
  • xDNSServerAddress (isso define as configurações de DNS em uma conexão)
  • xDefaultGatewayAddress (isso define o gateway padrão em uma conexão)

O problema é que a aplicação de qualquer uma dessas configurações, uma por vez, faz com que a conexão de rede no host caia e tudo pára imediatamente de ser aplicado - deixando o host quebrado e incapaz de se conectar remotamente, o que significa que você precisa console na máquina.

Por exemplo:

  • xDhcpClient - definir isso como $false remove imediatamente o endereço IP, o gateway e o DNS da máquina, impedindo que ela seja contatada. E você deve definir essa propriedade, porque se a sua concessão DHCP corresponder ao endereço IP permanente desse servidor, o DSC retornará InDesiredState = true (o que é tecnicamente correto)
  • xIPAddress - definindo isso para, digamos, 172.16.110.10/23 faz com que a rede se reconecte e não deixa nenhum gateway padrão ou entradas de DNS, o que significa que, se você estiver empurrando de uma sub-rede diferente, não poderá se conectar. Além disso, como não há entradas de DNS, você não pode mais entrar em contato com os controladores de domínio para autenticar quaisquer novas solicitações
  • xDNSServerAddress - Este não é tão ruim assim, se você definir primeiro as configurações, mas ainda assim encontrar outras questões
  • xDefaultGatewayAddress - Basicamente, você nunca pode definir isso como se você definisse sem definir um endereço IP primeiro, você acabaria com um gateway, mas sem endereço IP. Se você definir isso pela última vez, ele nunca será executado, já que outra coisa atrapalha a conexão primeiro (nenhum servidor DNS, portanto, você não pode mais autenticar uma nova sessão ou o fantoche simplesmente falha) devido ao fato de não poder contatar o fantoche. mestre mais)

No Linux, você lida com isso editando o arquivo de configuração da interface e, em seguida, o puppet notifica o serviço de rede para reiniciar no final da execução do fantoche , para que todo o resto tenha a chance de terminar primeiro.

No Windows, no momento em que você aplica xDhcpClient, xDNSServerAddress ou xDefaultGatewayAddress, todo o processo é interrompido quando a rede é desconectada.

Por exemplo, é o que acontece quando se aplica um fantoche:

Notice: /Stage[main]/Stacknet::Single::Windows/Dsc_xdnsserveraddress[NY-DSCTEST01-PRI-VMNIC_DNS]/ensure: created
Notice: /Stage[main]/Stacknet::Single::Windows/Dsc_xdhcpclient[NY-DSCTEST01-PRI-VMNIC_DHCP]/ensure: created
Notice: Applied catalog in 18.40 seconds
Error: Could not send report: Failed to open TCP connection to ny-puppet.example.com:8140 (getaddrinfo: No such host is known. )

A corrida de marionetes simplesmente pára porque não pode mais se conectar ao mestre de marionetes.

Alguém configurou a rede no Windows via Puppet ou DSC? Se sim, como você está superando esses problemas?

    
por Mark Henderson 23.01.2018 / 14:37

0 respostas