¿Puedo hacer que Windows 7 cambie la configuración de mi proxy según mi conexión de red?


26

Al mover mi LapTop entre el trabajo y el hogar, necesito cambiar la configuración del proxy de Internet. ¿Hay alguna forma de que Windows 7 cambie esta configuración en función de mi red actualmente activa?


1
Owh, me gustaría que mi computadora portátil hiciera lo mismo, demasiado vago para buscar la respuesta :-(
Ivo Flipse

Respuestas:


20

Puede configurar esto con un PAC (script de configuración automática de proxy). Son pequeños scripts escritos en Javascript que le permiten especificar varias reglas de conexión. La mayoría de los navegadores web de escritorio modernos pueden leerlos sin problemas, tengo el mismo configurado en Internet Explorer y Firefox.

Un archivo PAC mínimo que siempre lo envía al servidor proxy proxy.companyname en el puerto 81:

function FindProxyForURL(url, host)
{
     return "PROXY proxy.companyname:8080";
}

Y un ejemplo un poco más complicado de un archivo PAC que verifica en qué red se encuentra al verificar qué rango de dirección IP ha elegido. En este ejemplo, todas las PC cliente de su empresa reciben una dirección IP en el rango 10.10. * Por DHCP y acceden a Internet a través del servidor proxy proxy.companyname en el puerto 81.

//Turn debug mode on by setting debug variable to any non-empty string
//Note that "" is an empty string, and that "0", "1" & "test" are not empty strings.


function FindProxyForURL(url, host)
  {
    var ip = myIpAddress();
    var debug = "";

    if(debug)
    {
        alert("proxy.pac IP=" + ip + "  HOST=" + host + "  URL=" + url);
    }

      // All client PCs on the internal network will have a 10.10.x.x address, check if I have this
     if (shExpMatch(ip, "10.10.*"))
     {
             if(debug)
          {
                 alert("Proxy for " + url);
             }
     return "PROXY proxy.companyname:81";
     }

     // If you have a different IP then this isn't the company network
     else 
     {
             if(debug)
          {
      alert("You are not at CompanyName so going direct for " + url);
             } 
            return "DIRECT";
     }

  }

El script también tiene un modo de depuración que puede usar para probar que está funcionando y qué modo (PROXY o conexión directa) cree que debería ser su conexión actual.

También podría hacer un script más complejo que verifique cosas como si el servidor al que se está conectando está en la red interna de su empresa (y por lo tanto quiere una conexión DIRECTA, aunque su PC esté actualmente en la red de la empresa) aquí es donde usted ' d ponga todo lo que normalmente pone en el cuadro de excepciones de proxy de IE, expandiéndolo así:

//Turn debug mode on by setting debug variable to any non-empty string
//Note that "" is an empty string, and that "0", "1" & "test" are not empty strings.


function FindProxyForURL(url, host)
  {
    var ip = myIpAddress();
    var debug = "";

    if(debug)
    {
        alert("proxy.pac IP=" + ip + "  HOST=" + host + "  URL=" + url);
    }

    // Detect if trying to connect to internal/intranet host
    if(isPlainHostName(host) || dnsDomainIs(host, "intranet.companyname"))
    {
 if(debug)
 {
            alert("Direct for " + url);    
     }
    return "DIRECT";   
    }

    // Detect if trying to connect to URLs on the internal network via internal DNS suffix or IP address
    if(shExpMatch(url, "*.companyname") || shExpMatch(host, "10.100.*"))
    {
 if(debug)
 {
     alert("Direct for " + url);
 } 
        return "DIRECT";    
    } 

     // All client PCs on the internal network will have a 10.10.x.x address, check if I have this
     if (shExpMatch(ip, "10.10.*"))
     {
             if(debug)
          {
                 alert("Proxy for " + url);
             }
     return "PROXY proxy.companyname:8080";
     }

     // If you have a different IP then this isn't the company network
     else 
     {
             if(debug)
          {
      alert("You are not at CompanyName so going direct for " + url);
             } 
            return "DIRECT";
     }

  }

Use este archivo guardándolo en algún lugar de la unidad C de su PC como algo así como proxy.pac, luego para Internet Explorer, vaya a Herramientas -> Opciones (o Panel de control -> Opciones de Internet) y luego haga clic en la pestaña Conexiones, haga clic en el botón Configuración de LAN . Ahora quite la marca de la casilla "Usar un servidor proxy" en la parte inferior y, en su lugar, marque "Usar secuencia de comandos de configuración automática" y escriba la dirección de su archivo PAC usando un archivo: // URL como file://C:/proxy.pac.

Configuración de proxy IE

Alternativamente para Firefox, vaya a Herramientas -> Opciones, haga clic en la pestaña Avanzado, haga clic en la pestaña Red, haga clic en el botón Configuración, haga clic en la configuración "URL de configuración automática del proxy", nuevamente usando un archivo: /// URL (tenga en cuenta que en Firefox existe son 3 barras después del colon, por ejemplo file:///C:/proxy.pac.

Configuración de proxy de Firefox


Tenga en cuenta que Internet Explorer 11 ha cambiado este comportamiento y ahora no puede cargar un archivo PAC desde una URL 'file: //', debe usar una URL 'HTTP: //' o 'HTTPS: //'.

En Internet Explorer 11, el equipo de WinINET ha deshabilitado el soporte de WinINET para los scripts basados ​​en file: // para promover la interoperabilidad entre las pilas de red. Se aconseja a las empresas que alojen sus scripts de configuración de proxy en un servidor HTTP o HTTPS.

Existe una solución alternativa que puede volver a habilitar esta función por el momento, pero no se recomienda usarla, ya que las actualizaciones futuras también podrían desactivarla.

Como solución temporal, este bloqueo se puede eliminar configurando la siguiente clave de registro:

Clave: HKLM \ SOFTWARE \ Políticas \ Microsoft \ Windows \ CurrentVersion \ Configuración de Internet \
Valor: EnableLegacyAutoProxyFeatures
Tipo: REG_DWORD
Datos: 1

Tenga en cuenta que esto solo debería ser una medida temporal, ya que este bloque se introdujo por buenas razones, y la eliminación del bloque no solucionará mágicamente sus aplicaciones basadas en WinHTTP.

Tenga en cuenta también que después de realizar este cambio IE11, deberá cambiar la configuración de dirección para su secuencia de comandos de configuración automática, ya que IE 11 solo acepta una sintaxis para esto (consulte la parte inferior del artículo vinculado en el blog IE Internals a continuación).

Sin embargo, como se señaló, es poco probable que esta solución alternativa de la clave del registro continúe funcionando en futuras versiones de Internet Explorer, por lo que es mucho mejor encontrar una manera de mantener el PAC en un servidor web. El servidor web IIS incorporado de Windows funcionaría, y hay otros más mínimos que también funcionarían para la instalación en su computadora portátil.

Más información en la entrada del blog IE Internals Comprender la configuración del proxy web .


Eso es genial hasta que accedes a otra red inalámbrica pública que usa el mismo rango de IP privado que uso en mi casa. :)
dannysauer

Buen post. Bien escrito.
Jeff F.

1
Esto no funciona en Windows 8.1
Milind R

3
Para ampliar el comentario anterior de @ MilindR, los archivos PAC todavía están en Windows 8 / IE11, pero necesita cargar su archivo PAC desde una URL HTTP o HTTPS, no puede usar una ruta basada en archivos o UNC. Más información del equipo de Internet Explorer aquí Comprensión de la configuración del proxy web y esta respuesta se ha actualizado para reflejar los cambios de IE11.
GAThrawn

4

Utilice Free IP Switcher 1.0

texto alternativo

Descripción:

Cada vez que el usuario móvil se muda a una red diferente, tiene que cambiar la dirección IP particular, la dirección de la puerta de enlace, la máscara de subred, el servidor proxy y la impresora predeterminada, etc., a un entorno de red particular. Para hacerlo, debe recordar la información de configuración de TCP / IP de cada red. Además, tiene que reiniciar la computadora para aplicarla al sistema y acceder a Internet.

No pierda su tiempo reconfigurando la configuración de red de la computadora cada vez que cambie su ubicación. Free IP Switcher es una solución perfecta para ti. Cambia entre configuraciones de red preconfiguradas con un solo clic y sin ningún reinicio. Con Free IP Switcher puede cambiar automáticamente todas las configuraciones de red en su PC: dirección IP, máscaras de red, puerta de enlace predeterminada, servidor DNS, servidor ganador, configuración de proxy, impresora predeterminada y más.

caracteristicas:

  • Cambie la configuración de red IP "sobre la marcha" sin reiniciar
  • Cambiar la configuración del servidor proxy de Internet Explorer
  • Cambie su impresora predeterminada
  • Cambie el nombre de su computadora y grupo de trabajo
  • Importe la configuración de red actual a la configuración
  • Soporte de iconos de la bandeja del sistema, inicio automático con Windows
  • 100% Spyware GRATIS, NO contiene ningún Spyware, Adware o Virus

2
No puedo creer que algo tan útil como los perfiles de configuración de red no haya sido incluido en Windows 7. Ubuntu lo tiene, Mac OS X lo tiene. . .
dreamlax

Sé que Dell hizo una herramienta de este tipo para mi latitud, pero no me gustaba que :-(
Ivo Flipse

La versión de descarga no funciona para Windows /
Hakan Forss

@IvoFlipse ¿Puedes recordar cómo se llamaba?
Matthys Du Toit

@MatthysDuToit No puedo
Ivo Flipse

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.