Objetivo del documento
Explicar la migración desde un solo nodo DNS Windows 2003 a un clúster con dos nodos BIND con RedHat
Descripción
Utilizaremos la tool de Windows dnscmd.exe para exportar las zonas y tener un formato compatible que Bind entienda:
1 |
dnscmd <ServerName> /ZoneAdd <ZoneName> {/Primary|/DsPrimary|/Secondary|/Stub|/DsStub} [/file <FileName>] [/load] [/a <AdminEmail>] [/DP <FQDN>] |
This command will export all the zone records into a text file and put it in the %windir%\system32\dns folder.
Procedimiento
1.- Copiamos los ficheros de nuestro servidor Windows c:\WINDOWS\system32\dns a nuestro equipo local.
2.- Exportamos las zonas a TXT una por una a fichero con dnscmd. Se almacenarán en C:\WINDOWS\system32\dns habrá que moverlos a una carpeta que luego copiaremos en los servidores linux:
1 2 3 4 5 |
dnscmd <ServerName> /ZoneAdd <ZoneName> {/Primary|/DsPrimary|/Secondary|/Stub|/DsStub} [/file <FileName>] [/load] [/a <AdminEmail>] [/DP <FQDN>] Utilizaremos el comando: <strong>dnscmd.exe ipdnswindows /ZoneExport nombredominio.es nombredominio.es.txt</strong> |
3.- Deberemos modificar el fichero /etc/named.conf para añadir las zonas una por una que hemos exportado y que posteriormente copiaremos a la ruta adecuada para que trabaje bind con él.
Hay que modificar el named.conf tanto del DNS1 como del DNS2:
DNS1:
zone "example.com" IN {
type master;
file "example.com.zone";
allow-update { none; };
allow-transfer { 192.168.1.102; };
};
DNS2:
zone "example.com" {
type slave;
masters { 192.168.1.101; };
file "example.com.zone";
};
4.- Renombramos los TXT que hemos exportado y modificamos la extensión a ZONE con el nombre del dominio.
Deberemos modificar el fichero para que entienda BIND los datos.
El fichero zone lo deberemos copiar en el nodo 1 del DNS ya que se replicará automáticamente al nodo 2.
RUTA: # vi /var/named/chroot/var/named/example.com.zone
CONTENIDO original TXT (Ejemplo):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
; ; Database file example.com.dns for example.com zone. ; Zone version: 23 ; @ IN SOA dns1.example.com. hostmaster.example.com. ( 23 ; serial number 900 ; refresh 600 ; retry 86400 ; expire 3600 ) ; default TTL ; ; Zone NS records ; @ NS dns1.example.com. ; ; Zone records ; @ A xxx.xxx.xxx.128 @ 86400 MX 20 smtp6.example.com. @ 86400 MX 10 smtp5.example.com. @ 86400 TXT ( "v=spf1 mx -all" ) cgi 86400 A xxx.xxx.xxx.17 control 86400 A xxx.xxx.xxx.39 ftp 86400 A xxx.xxx.xxx.128 owa 86400 A xxx.xxx.xxx.38 stats 86400 A xxx.xxx.xxx.128 www 86400 A xxx.xxx.xxx.128 |
CONTENIDO fichero Zone (Ejemplo):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
<strong><em>[root@DNS1 ~]# cat /var/named/chroot/var/named/example.com.zone </em></strong>; ; Database file example.com.dns for example.com zone. ; Zone version: 23 $TTL 86400 @ IN SOA dns1.example.com. hostmaster.example.com. ( <strong>2012110623 ; Serial YYYYMMDDXX</strong> 900 ; refresh 600 ; retry 86400 ; expire 3600 ; default TTL ) ; ; Zone NS records ; @ <strong>IN</strong> NS dns1.example.com. dns1.example.com IN A 192.168.0.101 @ <strong>IN</strong> NS dns2.example.com. dns2.example.com IN A 192.168.0.102 ; ; Zone records ; @ <strong>IN</strong> A xxx.xxx.xxx.128 @ <strong>IN</strong> MX 20 smtp6.example.com. @ <strong>IN</strong> MX 10 smtp5.example.com. @ <strong>IN</strong> TXT ( "v=spf1 mx -all" ) cgi <strong>IN</strong> A xxx.xxx.xxx.17 control <strong>IN</strong> A xxx.xxx.xxx.39 ftp <strong>IN</strong> A xxx.xxx.xxx.128 owa <strong>IN</strong> A xxx.xxx.xxx.38 stats <strong>IN</strong> A xxx.xxx.xxx.128 www <strong>IN</strong> A xxx.xxx.xxx.128 |
5.- Repetimos el proceso con cada TXT
6.- Subimos los ficheros ZONE al servidor DNS1 con filezilla o winscp a la ruta /var/named/chroot/var/named
7.- Ahora paramos el servicio bind del nodo 2:
/etc/init.d/named stop
8.- Copiamos el named.conf a la ruta correcta:
cp /etc/named.conf /var/named/chroot/etc/named.conf
9.- Damos permisos de cambio en el directorio named del 2º nodo
# chmod 775 /var/named/chroot/var/named
10.- Arrancamos el servicio del nodo 2:
/etc/init.d/named start
11.- Repetimos el proceso de arranque del servicio y copia de named.conf con el nodo 1
Te ha gustado la entrada SGUENOS EN TWITTER O INVITANOS A UN CAFE?