Acceso lento a Windows Server desde una estación de trabajo.

En algunos casos, podemos ver que desde muchas estaciones de trabajo, especialmente Windows XP, el acceso es rápido a las carpetas compartidas, pero vemos una lentitud desde algunos equipos con Windows Vista o Windows 7.

 

Esto se debe a una característica “heuristics” de los controladores de red.

El comportamiento si lo analizamos con un packet tracer, como Wireshark, es que la información llega del servidor por partes, y aproximadamente, los paquetes son enviados con intervalos de 5 en 5 segundos.

Asimismo, podemos ver esta demora si utilizamos acceso remoto vía Terminal Services (MSTSC) porque se usa el mismo protocolo de conexión de red.

El origen del problema está usualmente en la estación de trabajo que se conecta al servidor, que tiene activada la opción de heuristics. Para desactivarla, utilizar los siguientes comandos:

netsh int tcp set heuristics disabled

netsh int tcp set global autotuninglevel=disabled

Espero que estos comandos les sean de utilidad como lo fueron para mi.

Cómo verificar si una página web está bien configurada y publicada.

A veces hacemos cambios a nivel de servidores DNS y entradas o simplemente cambios de IP que generan cambios que deben ser “propagados” a través de los servidores DNS a nivel mundial. En la mayoría de casos este tiempo varía entre 2 a 48 horas, pero si no queremos esperar este tiempo, podemos hacer la verificación de forma inmediata a través del siguiente método.

Primero, es necesario comprobar que el dominio está vigente y “asociado” a servidores DNS. Esta asociación permite que los exploradores de Internet (Chrome, Internet Explorer, Safari, etc), sepan la dirección IP a la cual contactar.

Hasta hace poco se utilizaba el comando nslookup para poder hacer consultas relacionadas con servidores DNS. Esta herramienta ha sido reemplazada  por dig. En el caso de Windows no viene como parte del sistema operativo, pero es posible descargar la última versión del paquete BIND desde la Web del Internet Systems Consortium. Puedes obtenerlo aquí, pueden descargarlo y luego descomprimirlo en una carpeta de su elección, en mi caso lo descomprimí en D:\BIND.

Por ejemplo, esta página, con URL como blog.sistemas.com.pe, tiene como nombre de dominio sistemas.com.pe y conociendo dicha información, utilizaremos el comando dig con los parámetros de nombre de dominio (sistemas.com.pe) y tipo de búsqueda NS (Name Servers). Con ello sabremos qué servidores son los que tienen la autoridad sobre este dominio, y usamos el comando dig sistemas.com.pe NS.

En la sección ANSWER, observamos que existen 2 servidores DNS a los que apunta el dominio sistemas.com.pe, que son ns1.bluehost.com y ns2.bluehost.com, así como las direcciones IP de dichos servidores.

A continuación, hacemos la consulta a uno de los servidores obtenidos como respuesta en el comando anterior, en este caso al servidor ns1.bluehost.com le consultamos acerca de la dirección IP del host “blog.sistemas.com.pe” mediante la consulta A (Address) mediante el comando dig @ns1.bluehost.com blog.sistemas.com.pe A.

Y obtenemos como resultado que el servidor DNS tiene almacenada la IP 66.147.244.154

También es posible usar dig para ubicar los servidores de correo electrónico que utiliza un determinado dominio a través de la consulta MX, como en la siguiente pantalla.

Como vemos, las entradas MX apuntan a servidores de Google Mail, ya que este dominio utiliza Google Apps para almacenar los correos electrónicos.

Luego de verificar que los DNS apuntan a la IP correcta, basta con hacer un telnet al puerto 80 del servidor que alberga nuestro website:

Nota: En Windows Vista, 7 y 2008 es necesario activar el cliente Telnet (Programas y Características – Activar / Desactivar funciones de Windows) ya que por defecto está desactivado.

Al ejecutar el comando telnet 66.147.244.154 80 veremos una pantalla en blanco, lo que nos confirmará que estamos dentro del servidor esperando comandos HTTP.

Es posible que no se vea lo que uno tipea en Telnet, para poder activar la visualización, se debe usar “set localecho” dentro de la sesión Telnet, interrumpiremos la conexión temporalmente usando la combinación de teclas “Ctrl+}”, colocar “set localecho” y luego presionar Enter, de la siguiente manera:

 

Una vez iniciada la sesión, podremos ver los resultados de una conexión HTTP mediante los siguientes comandos enviados al servidor Web:

GET / HTTP/1.1<ENTER>
Host: blog.sistemas.com.pe<ENTER>

Espero esta publicación les sea de utilidad.