Come posso cercare le voci DNS integrate di dominio

Esempio:

  1. Ho un server denominato server1.domain.local
  2. Ho molte voci CNAME in varie aree di ricerca avanzate indicate a server1.domain.local
  3. Voglio decomisionare il server1 e avere un nuovo server, server2, che lo sostituirà.

Devo cambiare tutti i miei CNAME che puntano a server1.domain.local per puntare a server2.domain.local.

So che posso creare server1.domain.local come un altro CNAME, ma preferirei solo trovare tutte le voci e cambiarle individualmente.

Come posso trovare tutti i riferimenti in tutte le aree di ricerca in avanti a server.domain.local?

3 Solutions collect form web for “Come posso cercare le voci DNS integrate di dominio”

L'utilità dnscmd dagli strumenti di supporto di Windows è probabilmente la tua scommessa migliore. È ansible get un elenco di tutte le zone DNS con il command: dnscmd [servername] /EnumZones . È ansible elencare tutti i record CNAME in ciascuna zona con il command: dnscmd [servername] /EnumRecords [zone name] . /TYPE CNAME dnscmd [servername] /EnumRecords [zone name] . /TYPE CNAME .

In teoria potreste catene questi due insieme in uno script, elaborare l'output e apportre le modifiche desiderate automaticamente (anche utilizzando dnscmd con i /RecordDelete e /RecordAdd ). Questo è un esercizio che ti lascio (per ora).

Modifica: okay … non ho resistito. Ecco lo script. echo solo i comandi che effettivamente apportno modifiche. Se fa quello che vuoi, allora puoi tirare i comandi di echo e lasciarti strappare.

 @echo off set SERVER_TO_REPLACE=server1.domain.com set REPLACEMENT_VALUE=server2.domain.com rem Quick and dirty list of Primary zones that aren't Reverse zones for /F "usebackq" %%i in (`dnscmd %1 /EnumZones ^| find " Primary" ^| find /v " Rev"`) do call :process_zone %1 %%i goto end :process_zone rem Quick and dirty enumeration of all CNAME records in a zone for /F "usebackq tokens=1,3,4" %%i in (`dnscmd %1 /EnumRecords %2 . /TYPE CNAME ^| find " CNAME"`) do call :process_RR %1 %2 %%i %%j %%k goto end :process_RR rem Check a record and alter it if necessary if /I "%5" EQU "%SERVER_TO_REPLACE%" ( echo dnscmd %1 /RecordDelete %2 %3 %4 %5 /f echo dnscmd %1 /RecordAdd %2 %3 %4 %REPLACEMENT_VALUE% ) :end 

Un metodo sarebbe quello di eseguire nslookup da uno dei server DNS, o un sistema che è consentito eseguire un trasferimento di zona. Con nslookup fare un ls > file che richiederà una copia del database di zona e lo salverà in un file di text. Quindi la function di ricerca nel tuo editor di text preferito per trovare le cose da risolvere.

Sono queste zone integrate AD? In caso contrario, è ansible modificare manualmente i file di zona con block note (trovare e sostituire) e quindi ricaricare le zone.

EDIT

Colpa mia. Non ho visto nel tuo titolo che queste sono zone integrate AD. È comunque ansible utilizzare il metodo che ho inviato modificando le zone alle zone integrate non AD, modificando i file delle zone che verranno creati, quindi tornando indietro alle zone integrate AD. È un po 'un hack, quindi questo potrebbe non essere il metodo che preferisci utilizzare.

Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.