Como colocar zonas DNS no Windows Server 2012R2 sob git Version Control

4

Atualmente, usamos o Windows Server 2012 R2 como nosso servidor DNS. Eu gostaria de colocar todos os arquivos de zona sob controle de versão. Eu encontrei esta pergunta que mostra como exportar as zonas via PowerShell. Mas não parece exportar de uma forma que eu possa reimportá-lo mais tarde.

Eu também li sobre o comando DnsCmd, mas ele está obsoleto.

Então: Como faço para exportar as zonas armazenadas no Active Directory em arquivos de texto, de modo que eu possa colocá-las em controle git / version e ( importante ), que eu possa reimportar mais tarde uma versão mais antiga, se necessário?

    
por Wilbert 18.10.2016 / 10:01

2 respostas

4

Um dos problemas que você terá aqui é que uma zona do Active Directory é muito mais do que apenas um arquivo de zona normal, como você poderia esperar com bind . Quero dizer, sim, é uma zona normal, mas também tem permissões integradas que não podem ser prontamente copiadas para backup em um formato de texto simples.

(Eu suponho que você esteja atrás de algo em texto simples devido à menção do git, e eu estou supondo que você queira diferenciar a zona do AD em momentos diferentes)

Mas se você estiver decidido a fazer isso, a maneira de exportar seu arquivo de zona é usar Export-DnsServerZone

Export-DnsServerZone -Name ad.example.com -FileName ad.example.com.zone

Agora, a documentação diz que você pode especificar um caminho de arquivo para -FileName , mas no meu teste eu realmente não consegui fazer isso. Isso significa que esse arquivo vai acabar em %WinDir%\System32\dns . Você vai querer pegá-lo de lá e movê-lo para o seu repositório git e cometer isso.

Recuperar o arquivo de zona quando quiser restaurá-lo, no entanto, não é exatamente o mesmo. Não parece haver um bom wrapper PowerShell para isso (provavelmente porque não é algo que a Microsoft quer que você faça com uma zona integrada do AD):

dnscmd /ZoneAdd ad.example.com /Primary /File ad.example.com.zone /load

Note que ao fazer essa restauração, você perderá todas as permissões na zona - mas você terá seus dados brutos e poderá diferenciá-los no git.

    
por 25.10.2016 / 14:47
0

Você está usando uma zona integrada do Active Directory? não é elegante, mas você pode adicionar um servidor DNS secundário para sua zona e, em seguida, você teria acesso a um arquivo txt da zona.

    
por 18.10.2016 / 19:08