This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Proxy Auto config funktioniert nicht

Hallo,

mal wieder ein kleines Problemchen: Ich möchte die Proxy Auto config Funktion unserer ASG nutzen.

Dazu habe ich folgenden Text unter Web Security/Erweitert/Automatische Proxy-Konfiguration eingefügt:


function FindProxyForURL(url, host)
{
   //The following URLs will not be proxied
   if (shExpMatch(url, "*unseredomain.local*"))
         {return "DIRECT";}
   if (shExpMatch(url, "*192.168.x.206*"))
         {return "DIRECT";}

   // Set the desired proxy server for local addresses
   if (isInNet(myIpAddress(), "192.168.x.0", "255.255.255.0"))
         {return "PROXY 192.168.x.206:8080" ;}
   if (isInNet(myIpAddress(), "192.168.xx.0", "255.255.255.0"))
         {return "PROXY 192.168.x.206:8080" ;}
   if (isInNet(myIpAddress(), "192.168.***.0", "255.255.255.0"))
         {return "PROXY 192.168.x.206:8080" ;}

   // For all other networks, do not proxy
   return "DIRECT" ;
}


Dann hab ich in den IE-Settings den Haken bei "Atomatisches Konfigurationsskript verwenden" gesetzt und die folgende URL eingetragen:
 192.168.x.206:8080/wpad.dat


Nun läuft der Browser sich tot aber Webseiten werden trotzdem nicht geöffnet. Fehlt noch irgendwo etwas?


This thread was automatically locked due to age.
  • Hi, hier der Code der bei mir nach langem probieren funktioniert hat:

    function FindProxyForURL(url, host)
    
     {
     //The following URLs will not be proxied
     if (shExpMatch(url, "*MeineInterneDomain.local*"))
     return "DIRECT";
     if (shExpMatch(url, "*intranet*"))
     return "DIRECT";
     if (shExpMatch(url, "*sv-exchange*"))
     return "DIRECT";
     if (shExpMatch(host, "10.1.*"))
     return "DIRECT";
     if (shExpMatch(host, "10.10.*"))
     return "DIRECT";
     if (shExpMatch(host, "10.11.*"))
     return "DIRECT";
     if (shExpMatch(host, "10.99.0.*"))
     return "DIRECT";
     if (shExpMatch(host, "10.100.0.*"))
     return "DIRECT";
     if (shExpMatch(host, "*10.1.255.252*"))
     return "DIRECT";
     
    // Set the desired proxy server for local addresses
     if (isInNet(myIpAddress(), "10.10.0.0", "255.255.0.0"))
     return "PROXY 10.1.255.252:8080" ;
     
    // For all other networks, do not proxy
     return "DIRECT" ;
     } 


    Vielleicht fällt dir ja was zu meiner Frage diesbezüglich ein.

    Hallo Zusammen,
     
    die Proxy Konfig läuft bisher ohne Probleme ich hätte allerdings noch eine Frage an die Leute welche eine ähnliche Konstellation haben. 

    Im LAN läuft alles wie geschmiert, wenn jetzt allerdings ein Außendienstler bpsw. aus dem Hotel über WLAN ins Internet geht versucht der IE natürlich zuerst die WPAD.dat auf der Firewall zu finden und bricht dieses nach 5-10 sec. ab um anschließend direkt ins Internet zu gehen.
     
    Soweit so gut, weiß zufällig jemand wie ich dem IE bei bringen nicht 5-10 sec zu suchen sondern nur 1-2? Da der IE bei jedem Start das geiche verhalten an den Tag legt bekommt der user den Eindruck das, nennen wir es mal "vorher alles besser war".


    Cu, Abyss_X
  • Nein tut mir leid, weiß ich leider auch nicht.

    Der einzige Unterschied den ich entdecken kann liegt in den geschweiften Klammern beim return. Wenn ich die weglasse geht es aber auch nicht.
  • Ich hab meinen Code mal lokal als proxy.pac gespeichert und im IE eingetragen. Dort geht es einwandfrei.

    Jetzt muss ich nur noch herausfinden warum es mit der asg nicht geht. Hat noch jemand vielleicht eine Idee?
  • Hallo,

    unter "Web Protection->Web Filtering->Advanced" das Häkchen setzen und ein syntaktisch korrektes Proxy-Script hinterlegen reicht leider nicht.

    Wenn man einen DHCP Server auf der Firewall aktiviert hat, kann man dort unter Advanced den Punkt "Enable HTTP Proxy Auto Configuration" aktivieren. Das Proxy-Script findet dann aber nur der Internet Explorer unter Windows, andere Browser wie Chrome, Firefox, Safari usw. leider nicht.

    Statt dessen kann man den WPAD-Mechanismus in der DNS-Variante verwenden. Das Unterstützen alle Browser, die in ihren Optionen so etwas wie "Die Proxy-Einstellungen für dieses Netzwerk automatisch erkennen" haben.

    Siehe auch Web Proxy Autodiscovery Protocol

    Kurz:

    0. Wenn die entsprechende Option im Browser aktiviert ist, versucht der Browser, ein evtl. vorhandenes Proxy-Skript unter http://wpad/wpad.dat herunterzuladen und entsprechend auszuführen.

    1. Auf der Firewall (oder auf dem benutzten internen DNS-Server) muss es einen statischen DNS-Eintrag namens "wpad" geben, der auf die IP der Firewall auflöst. Ein "nslookup wpad" auf dem Client muss die IP der Firewall zurück geben.

    2. Weil Astaro bzw. Sophos es auch nach Jahren und entsprechenden Fehlerberichten nicht geschafft haben, das richtig zu implementieren (der WPAD-Mechanismus sucht das Proxy-Skript immer über den Port tcp/80 , die Firewall bietet es aber immer nur über den Port an, über den der Web-Proxy erreichbar ist, also standardmäßig Port tcp/8080), muss ein entsprechender NAT-Eintrag erstellt werden, der Anfragen an den Port tcp/80 auf den Port tcp/8080 umsetzt, also

    Rule Type: DNAT
    For traffic from: Internes Subnetz (Achtung, vordefinierte Subnetz-Objekt verwenden)
    Using service: HTTP
    Going to: Address of internal subnet (Achtung, vordefiniertes Subnetz-Adress-Objekt verwenden)
    Change the destination to: das gleiche wie bei "Going to"
    And the service to: HTTP Proxy (also tcp/8080)
    Automatic Firewall rule: Yes

    Vielleicht wacht bei Sophos ja irgendwann mal jemand auf, dann wird der statische DNS-Eintrag und die nötige NAT-Regel unter der Haube automatisch erstellt, sobald man die Option "Enable Proxy Auto Configuration" in den Web Proxy-Einstellungen aktiviert hat...

    MfG
    Manuel
  • Gute Tipps für Proxy-Skripts gibt es im Internet viele, aber hier werden besonders nette Schmankerl umgesetzt:

    Complex PAC File

    Aber Achtung, die Funktion Alert() funktioniert scheinbar nur mit dem Internet Explorer. Bei Firefox landen die Meldungen auf der internen Debug-Console.

    MfG
    Manuel
  • Vielen Dank für den Tip. So funktioniert es jetzt mit dem Internet Explorer. 
    Mit dem Firefox und Opera funktioniert es leider noch nicht. Auch wenn ich die URL http://wpad/wpad.dat in die jeweiligen Browser eintrage geht es nicht.

    Ist das denn wirklich so kompliziert?
  • Vielen Dank für den Tip. So funktioniert es jetzt mit dem Internet Explorer. 
    Mit dem Firefox und Opera funktioniert es leider noch nicht. Auch wenn ich die URL http://wpad/wpad.dat in die jeweiligen Browser eintrage geht es nicht.

    Ist das denn wirklich so kompliziert?


    Was ist denn die vollständige Ausgabe von "nslookup wpad" auf der Kommandozeile?

    Wenn Du im jeweiligen Browser das Häkchen "Automatische Proxy-Erkennung entfernst, kannst Du das Proxy-Skript über die Eingabe von http://wpad/wpad.dat herunterladen. Wenn das nicht geht, ist was am DNS-Eintrag bzw. an der NAT-Regel falsch.

    Poste bitte mal die vollständige nslookup-Ausgabe sowie einen Screenshot der zum Ändern geöffneten NAT-Regel.

    MfG
    Manuel
  • Ich hab mich wohl falsch ausgedrückt. Ich meinte wenn ich in die Automatische Proxy Config URL http://wpad/wpad.dat eintrage werden keine Seiten geöffnet.

    Wenn ich den Link in den Browsern eintrage kann ich die Datei herunterladen.

    Hier ist der Screenshot:


    nslookup:

    Server:  localhost
    Address:  192.168.x.215

    Name:    wpad.***.local
    Address:  192.168.x.206
  • Hm, sieht eigentlich alles gut aus. Neben dem einfachen "wpad"-Eintrag im statischen DNS trage mal bitte noch den Eintrag mit Deiner Full Qualified Domain ein, so dass

    wpad.***.local

    ebenfalls auf die IP Deiner Firewall auflöst.

    Ansonsten drauf achten, dass im Firefox nur die Option 

    "Die Proxy-Einstellungen für dieses Netzwerk automatisch erkennen" und nicht "Proxy-Einstellungen des Systems verwenden" gewählt ist.

    Aber wenn selbst der Download im Browser mit http://wpad/wpad.dat klappt, kann es eigentlich nur noch ein Syntax-Problem im Skript selber sein. Um sicher zu gehen, kannst Du ja mal den pactester von Google drüber schicken:

    pactester - A tool to test proxy auto-configuration (pac) files - Google Project Hosting

    MfG
    Manuel
  • Okay, scheinbar war ich zu ungeduldig. Ich hab den FF jetzt einfach mal rödeln lassen und nach ~2 min haben sich die Seiten tatsächlich geöffnet (Nach dem Start des Browsers). Danach gehen Seiten ganz normal auf. Nur beim Start des Browsers braucht es ewig bis es mal anfängt. Das kann doch auch nicht normal sein oder?