Configuración automática del Proxy
C@mpus - @cademia Linux

Introducción 

En muchas ocasiones es importante mantener centralizada la configuración del proxy para poder controlar quién, qué y cuándo utilizar proxy o no. Para esto es necesario la configuración del protocolo wpad que Microsoft Internet Explorer 5 o superior apoyan directamente; los navegadores como mozilla y/o konqueror muestran una variante.

La configuración de la máquina para la auto-detección del proxy requiere en ciertos casos tener permisos de administrador.


Configuración del DNS

El protocolo WPAD que maneja Internet Explorer se apoya sobre la configuración de los DNS y es importante tener las siguientes configuraciones en él:

  • CNAME o A nombrado wpad.dominio. Por ejemplo: wpad.linuxchange.com
  • Registros TXT (opcional) con el contenido siguiente: TXT "Service: wpad:http://wpad.dominio:80/wpad.dat". El puerto debe estar explícitamente especificado y el URL deberá ser absoluto. Por ejemplo: TXT "Service: wpad:http://wpad.linuxchange.com:80/wpad.dat". El nombre del archivo no podrá cambiar.
  • Registros SRV (opcional)de la siguiente manera: _wpad._tcp SRV 0 0 80 wpad.dominio. Por ejemplo: _wpad._tcp SRV 0 0 80 wpad.linuxchange.com.

Configuración de Apache

El servidor apache que responderá al nombre de wpad, sin importar si es o no un servidor virtual --aunque se recomienda que no lo sea y que el proxy corra un servidor apache en él mismo; diversas versiones de Internet Explorer en combinación con algunas versiones de Windows no realizan la resolución correcta (IE6 con Windows 98)-- deberá tener soporte a los siguientes mime-types añadiendo las líneas:

MIME's
AddType application/x-ns-proxy-autoconfig .dat
AddType application/x-ns-proxy-autoconfig .pac

Para hacer efectivo cualquier cambio a los archivos de configuración hay que reiniciar el servidor ejecutando el comando:

service httpd restart

Una vez hecho el cambio se procederá a la configuración del archivo wpad.dat que dará las instrucciones sobre el proxy.


Configuración del Script

El archivo wpad.dat es un archivo programado en JavaScript que debe contener la función FindProxyForURL(url, host). A continuación se muestra un ejemplo de cómo puede estar escrito:

Script de configuración de Proxy
function FindProxyForURL(url, host){

if (isPlainHostName(host))
return "DIRECT";

if (shExpMatch( host, "intranet*) || shExpMatch( host, "firewall*"))
return "DIRECT";

if (url.substring(0, 5) == "http:" || url.substring(0, 4) == "ftp:"|| url.substring(0, 6) == "https:"|| url.substring(0, 7) == "gopher:")
return "PROXY proxy.linuxchange.com:8080; DIRECT";
else
return "DIRECT";

}

Debido que diversos navegadores buscan también el archivo proxy.pac se recomienda altamente hacer una liga dura o copiar el archivo con el nuevo nombre.