# rm-rf.es | Administración de sistemas

Bitácora personal de un SysAdmin Gnu/Linux, Windows, BSD...

Windows Server 2003: no funciona la resolución DNS


Parece ser que es un problema bastante común pero que a mi personalmente me ha dado algún que otro dolor de cabeza. El fallo consiste en que en Windows 2003 Server no funciona la resolución de nombres DNS, por lo que no podemos navegar de forma correcta, realizar actualizaciones, etc.

Pero el fallo realmente está localizado en la instalaciónes realizadas a través de una imagen del sistema, clon, etc. En mi situación el problema se reproducía con una imagen de Altiris HP Deployment Server. Los sintomas son los siguientes:

  • Hay conectividad a redes públicas (ping 8.8.8.8) pero no resolución DNS (ping google.com).
  • La resolución de nombres a través de nslookup funciona correctamente.
  • Tampoco funciona la resolución DNS añadiendo los dominios al fichero hosts (en \Windows\system32\drivers\etc\).

El problema tiene su origen en que al restaurar estas imágenes se borra una entrada del registro de Windows, la culpable de estos errores. El valor del registro se encuentra en:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]

La solución pasa por revisar que exista la entrada “Domain” del tipo REG_SZ:

Windows regedit

Si no existe, creadla. En cuanto la creéis la resolución DNS debería volver a funcionar de forma instantanea, sin necesidad de reinicio. Hay casos en los que también hay que recrear la entrada “NV Domain” o “NV Hostname”, cuyo valor es el hostname de la máquina. En mi caso únicamente fue necesario regenerar la variable “Domain” para que todo funcionara bien.

Cómo instalar ionCube Loader en Windows


Con la instalación de IonCube loader tendremos la posibilidad de visualizar páginas php con contenido codificado con ionCube. La instalación es sumamente sencilla en Windows (en este caso 2003 Server con php 5.2.X):

En primera instancia descargamos la extensión/módulo desde el sitio web de ioncube:

http://www.ioncube.com/loaders.php

Posteriormente, procedemos a descomprimir el fichero, dentro del cual encontraremos las versiones de los módulos para cada versión de PHP y dos scripts php para testear que la instalación se ha realizado correctamente:

ioncube_loader_win_4.1.dll
ioncube_loader_win_4.2.dll
ioncube_loader_win_4.3.dll
ioncube_loader_win_4.4.dll
ioncube_loader_win_5.0.dll
ioncube_loader_win_5.1.dll
ioncube_loader_win_5.2.dll
ioncube-loader-helper.php
ioncube-encoded-file.php

Bien, llegados a este punto debemos copiar el módulo correspondiente a nuestra versión de php en la carpeta donde guardemos todos los módulos de php, normalmente “ext” dentro de la carpeta PHP.

Posteriormente, llamamos al módulo desde el fichero de configuración php.ini añadiendo la siguiente línea, que hace referencia al módulo comentado antes:

zend_extension_ts = "c:\carpeta_php\ext\ioncube_loader_win_5.2.dll"

Guardamos y testeamos con un navegador si la instalación se ha realizado correctamente, ejecutando el script ioncube-encoded-file.php, tendrá que mostrar lo siguiente:

This file has been successfully decoded. ionCube Loaders are correctly installed.

Bloquear direcciones IP en Windows 2003 Server


Al margen de opciones de terceros como software y aplicaciones de Firewall, disponemos de una potente y versátil opción integrada en el propio sistema operativo que nos va a permitir realizar filtrados de IP y rangos completos.

RRAS

Estoy hablando de RRAS (Servicio de enrutamiento y acceso remoto), que permite realizar configuraciones específicas para redes remotas, redes de acceso telefónico, VPN, etc. No voy a entrar en las configuraciones específicas de cada tipo de red, sino a explicaros como tener la opción de bloquear una IP o rango en Windows 2003 Server sin necesitar un software de firewall.

Para ello:

  1. Accedemos a Inicio —> Ejecutar —> MMC
  2. En el menú Archivo, añadimos un nuevo complemento, enrutamiento y acceso remoto.
  3. Una vez aparezca la sección de enrutamiento en la consola, podemos añadir el servidor, en este caso será el servidor local.
  4. Ahora hay que configurarlo y habilitar el enrutamiento. Para ello seguimos el asistente y adecuamos la configuración a la de nuestro servidor/red.
  5. Una vez realizado esto, en la pestaña general de la interfaz de red sobre la que queramos trabajar, podemos acceder a la sección de filtros de entrada y añadir las IPs o rangos que queremos bloquear según los criterios especificados.
  6. Una vez realizadas las configuraciones, arrancamos el “servidor” en la consola para que surtan efecto todas las configuraciones.

IIS: Imposible ejecutar perl o php con Application Pool Isolation


Es posible que tengáis un servidor Windows 2003 server con IIS funcionando correctamente, los websites ejecutan sin problemas php o perl, pero en el momento que aislamos un website (Application Pool Isolation) tanto PERL como PHP dejan de funcionar, dando normalmente el siguiente error:

HTTP Error 403 – Forbidden: Access is denied

Este problema es debido a que cada identidad de application pool (usuario configurado en la aplicación para ejecución de scripts, php, etc) debe ser miembro del grupo IIS_WPG de modo que nos aseguremos que tenga permisos para ejecutar php o perl.

Realizaremos las siguientes modificaciones en las políticas de seguridad para solventar el problema, iremos a:

START > Administrative Tools > Local Security Policy

Seleccionamost Local Policies > User Rights Assignment

En el listado que aparezca, buscamos Adjust memory quotas for a process y pinchamos en las propiedades. Posteriormente Add User or Group > Object Types marcando la casilla de  Groups y OK the Object Types dialogue. Ahora en la ventana Enter the object names to select introduce IIS_WPG y pincha OK.

El mismo proceso debe ser ejecutado en Replace a process level token. Reiniciaremos la máquina y ya debería funcionar correctamente. Todos los miembros de IIS_WPG pueden ejecutar aplicaciones CGI sin problemas.

Vía | Asimo Support