sábado, 26 de enero de 2013

Servidor virtual con Windows 2008 no acepta IP estática

Alguna vez me he encontrado con comportamientos extraños en cuanto a conservar la dirección IP v.4 en Windows Server 2008. 
Concretamente, el último caso ha sido en un proceso V2V (de Vmware Server 2.0 a Vsphere 5), al migrar de Host y de hipervisor un servidor virtual Exchange 2007 montado sobre Windows Server 2008.
Al arrancar en el nuevo hipervisor, el servidor virtual no mantiene la IP estática que le ponemos. Al hacer un IPCONFIG, nos da como dirección IP una APIPA. Si, en cambio, lo configuramos por DHCP y hacemos la reserva correspondiente en el servidor DHCP para que le asigne la dirección que nos interese, lo hace sin ningún problema. Pero, cada vez que volvemos a poner la dirección IP como fija, vuelve a tomar una dirección APIPA y, por consiguiente, a perder la conectividad con el resto de servidores de la red.

Primero pensé que podía ser problema de una tarjeta de red oculta (para eliminarla, consultar aquí), pero no, no había tarjetas de red ocultas. Tras investigar un poco descubrí la solución.

La solución pasa por resetear completamente la pila TCP/IP con el siguiente comando, que debe ejecutarse desde una cuenta con derechos administrativos:

netsh int ip reset c:\resetlog.txt

Después debemos reiniciar el equipo. El parámetro c:\resetlog.txt es simplemente para registrar los cambios hechos en un fichero, lo que sucede es que, si no lo ponemos, no funciona.

Este comando equivale a eliminar y reinstalar el protocolo TCP/IP, puesto que reescribe dos claves del registro, a saber:

SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\
SYSTEM\CurrentControlSet\Services\DHCP\Parameters\

Haciendo esto el sistema vuelve a funcionar perfectamente y a mantener la IP estática que le pongamos.