Descubra 10 comandos do PowerShell para gerir o seu servidor DNS Server e controlá-lo perfeitamente, de maneira simples e investindo o menor tempo possível.
Num artigo anterior, falamos sobre os Comandos do PowerShell para implementar um servidor DNS de forma orientada, e ter assim um servidor DNS completamente funcional com pouco esforço.
Além disso, este processo pode ser estruturado em forma de guião para que possa replicá-lo rapidamente em caso de necessidade, por exemplo, para implementar noutros clientes ou para criar rapidamente um novo servidor DNS em caso de falha.
Neste artigo vamos ver como realizar algumas tarefas de manutenção do servidor DNS através de comandos do PowerShell. Escolhemos 10 comandos que são realmente úteis.
10 comandos do PowerShell para a gestão do seu Servidor DNS:
A seguir, veremos alguns cmdlets úteis para gerir o serviço DNS, que nos permitirão administrar este serviço dentro dos sistemas de servidores da Microsoft, minimizando o esforço administrativo.
Devemos dizer que todos estes comandos podem ser executados no ambiente gráfico, mas com o PowerShell é possível poupar muito tempo.
1. Parar o sistema DNS:
Uma das primeiras tarefas que precisamos de saber fazer quando mantemos um serviço é pará-lo. Assim, para interromper o serviço DNS, vamos executar o seguinte comando:
Stop-Service DNS
Este comando é comummente usado para parar serviços; com o “DNS” indicamos que queremos parar este serviço.
Este comando só funciona para servidores. Nos clientes, a cache pode ser interrompida, mas o serviço DNS não.
2. Arrancar o sistema DNS:
Da mesma forma que acontece com a paragem do serviço, ao iniciar o serviço de resolução de nomes vamos executar um comando genérico para serviços, mas adaptando-o ao serviço em questão.
O comando é muito parecido com o anterior, e basicamente só temos de mudar o “stop” para “start”:
Start-Service DNS
Normalmente, este comando não mostra nenhuma mensagem de status. Para saber se está a ser executado, pode executar o comando “Get-Service DNS” ou aceder à consola gráfica.
3. Reiniciar o sistema DNS:
Já aprendemos a iniciar e parar o serviço, mas às vezes precisamos de reiniciar, ou seja, fazer uma paragem rápida e iniciar o serviço.
Para fazer isto e forçar o ciclo de paragem e início, executamos o seguinte comando:
Restart-Service DNS
Isto, entre outras coisas, fará com que os ficheiros de configuração sejam lidos novamente e possamos carregar alterações ou resolver erros específicos.
Com estes comandos, já sabemos o básico para poder operar o serviço DNS.
4. Verificar a resolução de nomes:
Outra das tarefas mais comuns é verificar a resolução de nomes para ver se o sistema é capaz de resolver um nome específico.
O cmdlet “Resolve-DnsName” executa uma consulta DNS para o nome especificado.
Este cmdlet é funcionalmente semelhante à ferramenta nslookup que permite que os utilizadores consultem nomes.
Para executá-lo, existem duas formas que veremos agora:
- Executar o comando e dar liberdade ao sistema para resolver o nome.
- Executar o comando e forçar o sistema a resolver um servidor específico.
A seguir, veremos como executar estas duas opções.
Para o primeiro caso, vamos ver como se faz a resolução do site “www.jotelulu.com”.
Resolve-DnsName -Name www.jotelulu.com
Para o segundo caso, vamos ver como se faz a resolução do site “www.jotelulu.com” com um servidor específico.
Resolve-DnsName -Name www.jotelulu.com -Server 10.0.0.1
5. Mostrar o conteúdo da cache do DNS:
Às vezes, pode ser interessante ver o status da cache de resolução de nomes do nosso servidor ou de um cliente. Isto pode ser feito através do método tradicional CMD ou através do nosso poderoso amigo PowerShell.
Para mostrar o conteúdo da cache do servidor DNS com o PowerShell, podemos executar o seguinte comando:
Show-DnsServerCache
Isto irá mostrar-nos muitas páginas de entradas, portanto pode ser boa ideia despejar este output num documento de texto para analisá-lo com cuidado.
6. Limpar a cache do sistema DNS:
Também podemos precisar de limpar a cache do servidor DNS do nosso servidor ou do nosso cliente e, nesse caso, independentemente das opções de CMD que temos disponíveis, podemos usar o nosso próprio comando do PowerShell:
Clear-DnsServerCache
Este comando pode ser executado entre duas consultas para ver a alteração e a redução de volume das entradas.
7. Rever as estatísticas do sistema DNS:
Uma tarefa que também pode ser interessante é rever o DNS e obter estatísticas de entradas, consultas, etc.
Para fazer esta consulta, pode usar um cmdlet do PowerShell ou a interface gráfica.
O cmdlet PowerShell é o seguinte:
Get-DnsServerStatistics
Mais uma vez, pode ser interessante exportar a informação para um documento de texto para facilitar a revisão ou para fins de monitorização e auditoria.
8. Rever a configuração do sistema DNS:
Se precisarmos de consultar a configuração do nosso servidor DNS para revisão ou auditoria, também há um comando PowerShell para isso. Assim, não é preciso usar a interface gráfica.
Para exibir os detalhes de configuração do servidor DNS:
Get-DnsServer
Neste caso, também podemos exportar o output da consulta para um ficheiro de texto (.txt), o que permite analisá-lo com facilidade ou monitorizar e auditar possíveis alterações.
9. Adicionar novos registos de serviços e equipamento
Outra das tarefas típicas de qualquer infraestrutura de resolução de nomes é o registo e eliminação de registos de serviços, equipamentos e servidores.
Para isso, a primeira coisa que devemos considerar é que existem diferentes tipos de registos dentro do DNS.
Add-DnsServerResourceRecordCName -ZoneName <NOME_ZONA> -Name <ENTRADA> -HostNameAlias <ALIAS_COMPLETO>
Onde:
- Add-DnsServerResourceRecordCName: é o comando para fazer o registo do tipo CNAME.
- ZoneName <NOME_ZONA>: Identifique a zona em que vamos trabalhar.
- Name <ENTRADA>: é a entrada que queremos registar.
- HostNameAlias <ALIAS_COMPLETO>: é o alias da entrada que queremos registar.
Aqui está um exemplo:
Add-DnsServerResourceRecordCName -ZoneName jotelulu.com -Name prueba-nacho -HostNameAlias prueba-nacho-jotelulu.com
No caso do CNAME seria assim, mas isto varia para outros registos.
A seguir indicamos alguns exemplos.
Para Registo PTR (ponteiro):
Add-DNSServerResourceRecordPTR -ZoneName 1.168.192.in-jotelulu.com -Name 12 -PTRDomainName nacho1-jotelulu.com
Para Registo A:
Add-DnsServerResourceRecordA -Name puntero -IPv4Address 192.168.1.122 -ZoneName server1.jotelulu.com -TimeToLive 01:00:00
Para Registo AAA:
Add-DnsServerResourceRecordAAAA -Name “nachopc” -ZoneName “jotelulu.com” -AllowUpdateAny -IPv6Address “fff4::1” -TimeToLive 01:00:00
Para Registo MX:
Add-DnsServerResourceRecordMX -Preference 10 -Name “.” -TimeToLive 01:00:00 -MailExchange “mail.jotelulu.com” -ZoneName “jotelulu.com”
Pode ver mais exemplos na documentação do PowerShell para DNS.
10. Eliminar registos de serviços e equipamento
Caso precise de remover uma das entradas do registo de uma das zonas de resolução de nomes, deve excluir o registo DNS com o comando “Remove-DnsServerResourceRecord”. Sim, é bastante semelhante ao usado para registar a entrada, apenas muda o verbo inicial.
Remove-DnsServerResourceRecord -ZoneName <NOME_ZONA> -RRType <TIPO_REGISTO> -Name <ENTRADA> –Force
Onde:
- Remove-DnsServerResourceRecord: é o comando para eliminar um registo.
- ZoneName <NOME_ZONA>: identifica a zona na qual vamos trabalhar.
- RRType <TIPO_REGISTO>: é o tipo de registo disponível entre as várias opções (A, AAA, MX, CNAME, etc).
- Name <ENTRADA>: é a entrada que queremos eliminar.
- Force: Força a remoção.
Tal como na secção anterior, deve ser feita uma distinção para cada tipo de registo: A, AAA, MX, etc.
Aqui está um exemplo:
Remove-DnsServerResourceRecord -ZoneName jotelulu.com -RRType A -Name pc-jioller –Force
Conclusões
Como pode ver, conhecer alguns comandos do PowerShell pode ajudar a otimizar o seu servidor DNS com muita facilidade.
Quase todas as tarefas básicas de administração podem ser executadas com os cmdlets que acabamos de mostrar.
Se quiser ler mais sobre este tópico, pode ler o artigo Comandos do PowerShell para implementar um servidor DNS no nosso blog.
E se quiser ler um pouco mais sobre servidores DNS, pode consultar o artigo “O que fazer quando o Servidor DNS não responde“, também no nosso blog.
Obrigado por acompanhar-nos!