Puis-je faire en sorte que Windows 7 modifie mes paramètres de proxy en fonction de ma connexion réseau?

26

Déplacement de mon ordinateur portable entre le travail et la maison Je dois modifier mes paramètres de proxy Internet. Existe-t-il un système permettant à Windows 7 de modifier ces paramètres en fonction de mon réseau actuellement actif?

Hakan Forss
la source
1
Oh, j'aimerais tellement que mon ordinateur portable fasse de même, juste trop paresseux pour chercher la réponse :-(
Ivo Flipse

Réponses:

20

Vous pouvez configurer cela avec un PAC (script de configuration automatique du proxy). Ce sont de petits scripts écrits en Javascript qui vous permettent de spécifier différentes règles de connexion. La plupart des navigateurs Web de bureau modernes peuvent les lire sans problème, j'ai le même configuré dans Internet Explorer et Firefox.

Un fichier PAC minimal qui vous envoie toujours vers le serveur proxy proxy.companyname sur le port 81:

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

Et un exemple un peu plus compliqué de fichier PAC qui vérifie sur quel réseau vous vous trouvez en vérifiant la plage d'adresses IP que vous avez choisie. Dans cet exemple, tous les PC clients de votre entreprise reçoivent une adresse IP dans la plage 10.10. * Par DHCP et accèdent à Internet via le serveur proxy proxy.companyname sur le port 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";
     }

  }

Le script possède également un mode de débogage que vous pouvez utiliser pour tester qu'il fonctionne et quel mode (connexion PROXY ou DIRECT) il pense que votre connexion actuelle devrait être.

Vous pouvez également créer un script plus complexe qui vérifie, par exemple, si le serveur auquel vous vous connectez se trouve sur le réseau interne de votre entreprise (et souhaite donc une connexion DIRECTE, même si votre PC est actuellement sur le réseau de l'entreprise), c'est là que vous '' d mettez tout ce que vous placez normalement dans la boîte des exceptions de proxy d'IE, en l'agrandissant comme suit:

//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";
     }

  }

Utilisez ce fichier en l'enregistrant quelque part sur le lecteur C de votre PC comme quelque chose comme proxy.pac, puis pour Internet Explorer, allez dans Outils -> Options (ou Panneau de configuration -> Options Internet) puis cliquez sur l'onglet Connexions, cliquez sur le bouton Paramètres LAN . Maintenant, décochez la case "Utiliser un serveur proxy" en bas, et cochez plutôt "Utiliser le script de configuration automatique" et tapez l'adresse de votre fichier PAC en utilisant un fichier: // URL like file://C:/proxy.pac.

Paramètres du proxy IE

Sinon pour Firefox, allez dans Outils -> Options, cliquez sur l'onglet Avancé, cliquez sur l'onglet Réseau, cliquez sur le bouton Paramètres, cliquez sur le paramètre "URL de configuration automatique du proxy", en utilisant à nouveau un fichier: /// URL (notez que dans Firefox il sont 3 barres obliques après le côlon, par exemple file:///C:/proxy.pac.

Paramètres du proxy Firefox


Notez qu'Internet Explorer 11 a modifié ce comportement et que vous ne pouvez plus charger un fichier PAC à partir d'une URL 'file: //', vous devez utiliser une URL 'HTTP: //' ou 'HTTPS: //'.

Dans Internet Explorer 11, l'équipe WinINET a désactivé la prise en charge par WinINET des scripts basés sur file: // pour promouvoir l'interopérabilité entre les piles réseau. Il est conseillé aux entreprises d'héberger à la place leurs scripts de configuration de proxy sur un serveur HTTP ou HTTPS.

Il existe une solution de contournement qui peut réactiver cette fonctionnalité pour le moment, mais il n'est pas conseillé de l'utiliser, car les futures mises à jour pourraient également la désactiver.

En guise de solution temporaire, ce bloc peut être supprimé en définissant la clé de registre suivante:

Clé: HKLM \ SOFTWARE \ Policies \ Microsoft \ Windows \ CurrentVersion \ Internet Settings \
Valeur: EnableLegacyAutoProxyFeatures
Type: REG_DWORD
Données: 1

Gardez à l'esprit que cela ne devrait être qu'une mesure temporaire, car ce bloc a été introduit pour de bonnes raisons, et la suppression du bloc ne corrigera pas comme par magie vos applications basées sur WinHTTP.

Notez également qu'après avoir effectué cette modification IE11, vous devrez modifier le paramètre d'adresse de votre script de configuration automatique car IE 11 n'accepte qu'une seule syntaxe pour cela (voir le bas de l'article lié sur le blog IE Internals ci-dessous).

Cependant, comme indiqué, il est peu probable que cette solution de contournement de clé de registre continue de fonctionner dans les futures versions d'Internet Explorer, il est donc préférable de trouver un moyen de conserver le PAC sur un serveur Web. Le serveur Web IIS intégré à Windows ferait l'affaire, et il y en a plus minimes qui fonctionneraient également pour l'installation sur votre ordinateur portable.

Plus d'informations sur l'entrée de blog IE Internals Comprendre la configuration du proxy Web .

GAThrawn
la source
C'est assez cool jusqu'à ce que vous accédiez à un autre réseau sans fil public en utilisant la même plage IP privée que celle que j'utilise chez moi. :)
dannysauer
Belle publication. Bien écrit.
Jeff F.19
1
Cela ne fonctionne pas dans Windoes 8.1
Milind R
3
Pour développer le commentaire de @ MilindR ci-dessus, les fichiers PAC sont toujours dans Windows 8 / IE11, mais vous devez charger votre fichier PAC à partir d'une URL HTTP ou HTTPS, il ne peut pas simplement utiliser un chemin basé sur un fichier ou UNC. Plus d'informations de l'équipe d'Internet Explorer ici Comprendre la configuration du proxy Web et cette réponse a été mise à jour pour refléter les changements d'IE11.
GAThrawn
4

Utilisez Free IP Switcher 1.0

texte alternatif

La description:

Chaque fois qu'un utilisateur mobile se déplace vers un réseau différent, il doit changer une adresse IP particulière, une adresse de passerelle, un masque de sous-réseau, un serveur proxy et une imprimante par défaut, etc., dans un environnement réseau particulier. Pour ce faire, il doit mémoriser les informations des paramètres TCP / IP de chaque réseau. Il doit également redémarrer l'ordinateur pour l'appliquer au système et accéder à Internet.

Ne perdez pas votre temps à reconfigurer les paramètres du réseau informatique chaque fois que vous changez de lieu. Free IP Switcher est une solution parfaite pour vous. Il bascule entre les paramètres réseau préconfigurés en un seul clic et sans redémarrage. Avec Free IP Switcher, vous pouvez modifier automatiquement tous les paramètres réseau sur votre PC: adresse IP, masques réseau, passerelle par défaut, serveur DNS, serveur WINS, paramètres proxy, imprimante par défaut et plus encore.

Fonctionnalités:

  • Changer les paramètres du réseau IP "à la volée" sans redémarrer
  • Changer les paramètres du serveur proxy d'Internet Explorer
  • Changer votre imprimante par défaut
  • Changer le nom et le groupe de travail de votre ordinateur
  • Importer les paramètres réseau actuels dans le paramètre
  • Prise en charge des icônes de la barre d'état système, démarrage automatique avec Windows
  • 100% spyware GRATUIT, ne contient aucun spyware, adware ou virus
Ivo Flipse
la source
2
Je ne peux pas croire que quelque chose d'aussi utile que les profils de configuration réseau n'ait pas déjà été intégré à Windows 7. Ubuntu l'a, Mac OS X l'a. . .
dreamlax
Je sais que Dell a fait un tel outil pour mon Latitude, mais je ne l'aimais pas :-(
Ivo Flipse
La version téléchargée ne fonctionne pas pour Windows /
Hakan Forss
@IvoFlipse Vous souvenez-vous de son nom?
Matthys Du Toit
@MatthysDuToit Je ne peux pas
Ivo Flipse
3

Vous avez d'autres alternatives (payantes) pour changer de configuration réseau, comme Mobile Net Switch ou NetSetMan

t3mujin
la source
+1 pour NetSetMan, le moyen le plus simple de changer de proxy dans IE
miky