Jump to content

WPAD und mehrere Standorte / verschiedene Proxys abhängig vom Standort


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Recommended Posts

Hallo Leute,

 

ich bin grade dabei für uns eine Proxykonfiguration mittels WPAD zu erstellen.

An sich funktioniert das auch, nur die Funktion myIpAddress will überhaupt nicht. Das Problem ist, das ich irgendwie raus finden muss in welchen Subnetz der Client sich befindet, da wir ca. 100 Standorte haben und jeder natürlich seinen eigenen Proxyserver.

Oder gibt es eine Möglichkeit, variablen wie %logonserver% in der Proxy.pac Datei zu verwenden? Damit könnte ich dann ja auch rausfinden an welchen Standort sich der entsprechende Client befindet.

Vieleicht kann mir jemand helfen, ich denke die myIpAddress funktion gibt falsche Adressen zurück (von eventuell anderen vorhanden Netzwerkkarten oder so, ka, wie kann ich das eigentlich einsehen was da zurück kommt)

 

Vielen Dank

Link to comment

Hallo,

 

also danke erstmal für eure Antworten. Aber entweder versteh ich eure Antworten falsch oder Ihr meine Frage.

Das WPAD Script funktioniert ja. Das Problem ist das ich in dem Script das Subnetz des Clients herausfinden will, da jeder Standort einen eigenen Proxyserver hat. Dementsprechend soll Client aus Subnetz A auch Proxyserver aus Subnetz A verwenden, usw.

 

Dafür gibt es die Funktion myIpAddress. Das Problem ist allerdings das diese aber mir immer eine zufällige IP-Adresse von meinen PC zurück gibt. Mit zufällig mein ich mal die IP-Adresse von den VMWare Netzwerkarten, mal von der LAN-Karte usw... Darüber findet man auch viel bei Google, da so die Funktion ja nicht nutzbar ist.

 

Ich will vom Prinzip her erreichen, das die Clients immer über den Proxy Server surfen. Auf den Clients den Proxy festeinzustellen kommt nicht in Frage wegen Mobilen Geräten, die sollen ja auch Internetzugriff außerhalb des Firmennetzes haben. Im Moment weiß ich leider nicht wie ich das realisieren kann.

 

Zur Zeit sind an den Standorten überall Transparente Proxy´s eingerichtet, was aber auch so einige Nachteile mit sich bringt. Manche Seiten klappen nicht unbedingt, interne Adressen gehen auch über den Transparenten Proxy und sind somit nicht darstellbar weil ich ja im IE dann keine Ausnahmen hinzufügen kann usw.

Link to comment
Hallo,

 

also danke erstmal für eure Antworten. Aber entweder versteh ich eure Antworten falsch oder Ihr meine Frage.

 

Nö, nur du willst es kompliziert machen. Du hast doch sicher DHCP im Einsatz. Also verwende einfach pro DHCP Zone den entsprechenden WPAD Server, dann klappt das auch.

 

 

Ich will vom Prinzip her erreichen, das die Clients immer über den Proxy Server surfen.

 

Ja, siehe oben.

 

Bye

Norbert

Link to comment

Also über DHCP hab ich es damals nicht angefangen einzurichten nachdem ich das hier auf Gruppenrichtlinien - Übersicht, FAQ und Tutorials gelesen habe:

 

Dem IE alleine würde die DHCP Lösung reichen, andere Browser wie Firefox verwenden aber eine DNS Anfrage

 

Da bei uns auch viele Leute Firefox nutzen würde das dann ja nicht klappen, oder hat sich das mittlerweile geändert? Deshalb hatte ich das per DNS bei uns eingerichtet, wpad aus der DNS Blacklist auf den DNS Servern entfernt und ein CNAME Eintrag auf einen Server der von allen erreichbar ist angelegt, auf welchem sonso der IIS läuft und die Datei bereitstellt.

 

Über die DNS Lösung kann ich, durch das ein Domänenmodell was wir bei uns haben, ja nicht abbilden richtig? Und DHCP würde Firefox und co ignorieren, richtig? Deshalb dachte ich halt an die Lösung via DNS und einem Zentralen Script was dann alles enthält, wo ich aber wegen oben genannter Probleme leider auch nicht weiter komme :-( Hast du vieleicht noch ein Tip für mich wie ich das ganze lösen könnte?

Link to comment

aber gerne doch:

 

function FindProxyForURL(url, host)
{
 var userip=myIpAddress();

 alert(userip);
 if (shExpMatch(host,"*.DOMÄNENNAME.local")) return "DIRECT";

 // wenn das Ziel im Netzbereich 192.168.0 bis 192.168.254 liegt, dann direct
 if (isInNet(host,"192.168.0.0","255.255.0.0")) return "DIRECT";


 if (isInNet(myIpAddress(), "192.168.10.0", "255.255.255.0")) return "PROXY 192.168.10.254:3128";
 return "DIRECT";
}

 

in diesem Script (da es sich ja noch im Test befindet), ist jetzt erstmal nur ein Netz angegeben, das prüfen soll ob sich der Client darin befindet. Das Problem konnte ich aber wie gesagt mit der Alert funktion ganz oben feststellen. Sind alle Netzwerkadapter in meinen Laptop aktiv (also Bluetooth, WLAN, LAN, VMware usw) dann zeigt er mir immer eine falsche IP an, und nicht die mit der ich grade im Netz bin. Meißtens zeigt er mir dann die IP von der VMWare Karte an. Deaktiviere ich alle Netzwerkadapter bis auf die LAN Verbindung zeigt er mir auch die richtigte IP an und das Script funktioniert...

Link to comment

das wird so nicht gehen.

 

wenn du verschidene Netze hast musst du das anders aufbauen.

 

Gehen wir mal davon aus, das du 3 subnette hast mmit eigenem Proxy Server.

 

Subnet1 192.168.0.0 Proxy= 192.168.0.1

Subnet2 192.168.1.0 Proxy=192.168.1.1

subnet3 192.168.2.0 Proxy=192.168.2.1

 

Damit aber Externe User mit Notebook Internet haben das du auch über Proxy gesteuert haben willst ohne das sie VPN ON ist muss man dies ebenfalls berücksichtigen.

 

Aus diesem Grund würde ich für deine Filialen andere Subnete wählen die ausserhalb der Standkonfiguration von Router und öffentlichen Netzen ist.

 

z.b

192.168.91.0 92.0 93.0.94.0.95.0 etc,

 

 


function FindProxyForURL(url, host)
{

// Admin Subnet
if (isInNet(myIpAddress(), "192.168.90.0", "255.255.255.0"))
return "DIRECT";


// alle Subnete filtern für Interne Webpags Intranet
if (isInNet(myIpAddress(), "192.168.91.0", "255.255.255.0") ||
           isInNet(myIpAddress(), "192.168.92.0", "255.255.255.0") ||
           isInNet(myIpAddress(), "192.168.93.0", "255.255.255.0") ||
           isInNet(myIpAddress(), "192.168.94.0", "255.255.255.0"))
             if (dnsDomainIs (host,".mydomain.ch") ||
                 dnsDomainIs (host,".mydomain.local"))
                 return "DIRECT";
             else

// Da Mydomain nicht in der URL enthalten ist auf Proxy Server umleiten

	if (isInNet(myIpAddress(), "192.168.91.0", "255.255.255.0"))
	   return "PROXY 192.168.91.1:8080";
       else 

              if (isInNet(myIpAddress(), "192.168.92.0", "255.255.255.0"))
	   return "PROXY 192.168.92.1:8080";
       else 

	if (isInNet(myIpAddress(), "192.168.93.0", "255.255.255.0"))
	   return "PROXY 192.168.93.1:8080";
       else 

	if (isInNet(myIpAddress(), "192.168.94.0", "255.255.255.0"))
	   return "PROXY 192.168.94.1:8080";
       else 

// Alle Anderen die nicht dem oben entsprechen 
// Fals du jetzt einen Externen Proxy verwenden willst ändere dies einfach auf die IP // oder URL des Proxserver der von Extern erreichbar ist.


return "DIRECT";



}

 

Achte aber darauf, das deine wpad.dat auch von Extern erreichbar ist.

z.b http://www.mydomain.com/wpad/wpad.dat.

 

Diesen Pfad trägst du dann ein bei den entsprechenden GPO's.

Link to comment

Vielen Dank für deine ausführliche Antwort,

aber ich glaube wir reden immernoch aneinander vorbei. Weil deine WPAD Datei würde auch nicht funktionieren, eben wegen dieser myIpAddress Funktion. Ich poste mal meine Ipconfig.

 

Drahtlos-LAN-Adapter Drahtlosnetzwerkverbindung:

  Verbindungsspezifisches DNS-Suffix:
  Beschreibung. . . . . . . . . . . : DW1520 Wireless-N Half Mini Card
  Physikalische Adresse . . . . . . : 78-E4-00-3E-FB-62
  DHCP aktiviert. . . . . . . . . . : Ja
  Autokonfiguration aktiviert . . . : Ja
  Verbindungslokale IPv6-Adresse  . : fe80::3420:c4df:4b60:317c%10(Bevorzugt)
  IPv4-Adresse  . . . . . . . . . . : 192.168.111.4(Bevorzugt)
  Subnetzmaske  . . . . . . . . . . : 255.255.255.0
  Lease erhalten. . . . . . . . . . : Mittwoch, 22. Juni 2011 10:04:40
  Lease läuft ab. . . . . . . . . . : Samstag, 25. Juni 2011 10:04:44
  Standardgateway . . . . . . . . . : 192.168.111.1
  DHCP-Server . . . . . . . . . . . : 192.168.111.1

  DNS-Server  . . . . . . . . . . . : 217.0.43.81
  NetBIOS über TCP/IP . . . . . . . : Aktiviert

Ethernet-Adapter VMware Network Adapter VMnet1:

  Verbindungsspezifisches DNS-Suffix:
  Beschreibung. . . . . . . . . . . : VMware Virtual Ethernet Adapter for VMnet
1
  Physikalische Adresse . . . . . . : 00-50-56-C0-00-01
  DHCP aktiviert. . . . . . . . . . : Nein
  Autokonfiguration aktiviert . . . : Ja
  Verbindungslokale IPv6-Adresse  . : fe80::2186:99a9:7de6:841f%17(Bevorzugt)
  IPv4-Adresse  . . . . . . . . . . : 192.168.63.1(Bevorzugt)
  Subnetzmaske  . . . . . . . . . . : 255.255.255.0
  Standardgateway . . . . . . . . . :
  DHCPv6-IAID . . . . . . . . . . . : 553668694
  DHCPv6-Client-DUID. . . . . . . . : 00-01-00-01-13-D9-3E-B5-F0-4D-A2-7D-57-3F

  DNS-Server  . . . . . . . . . . . : fec0:0:0:ffff::1%1
                                      fec0:0:0:ffff::2%1
                                      fec0:0:0:ffff::3%1
  NetBIOS über TCP/IP . . . . . . . : Aktiviert

Ethernet-Adapter VMware Network Adapter VMnet8:

  Verbindungsspezifisches DNS-Suffix:
  Beschreibung. . . . . . . . . . . : VMware Virtual Ethernet Adapter for VMnet
8
  Physikalische Adresse . . . . . . : 00-50-56-C0-00-08
  DHCP aktiviert. . . . . . . . . . : Nein
  Autokonfiguration aktiviert . . . : Ja
  Verbindungslokale IPv6-Adresse  . : fe80::d8b1:2c0a:461c:850%18(Bevorzugt)
  IPv4-Adresse  . . . . . . . . . . : 192.168.19.1(Bevorzugt)
  Subnetzmaske  . . . . . . . . . . : 255.255.255.0
  Standardgateway . . . . . . . . . :
  DHCPv6-IAID . . . . . . . . . . . : 587223126
  DHCPv6-Client-DUID. . . . . . . . : 00-01-00-01-13-D9-3E-B5-F0-4D-A2-7D-57-3F

  DNS-Server  . . . . . . . . . . . : fec0:0:0:ffff::1%1
                                      fec0:0:0:ffff::2%1
                                      fec0:0:0:ffff::3%1
  NetBIOS über TCP/IP . . . . . . . : Aktiviert

 

Im Moment bin ich grade per WLAN zuhause verbunden, aber das macht kein Unterschied. Angenommen ich wäre jetzt in der Firma per WLAN Verbunden, muss mir die myIpAddress Funktion eigentlich die IP 192.168.111.4 zurück geben. Das Problem ist aber, das die Funktion manchmal die IP 192.168.19.1, manchmal die IP 192.168.63.1 und in seltesten Fällen die IP 192.168.111.4 zurück gibt. Deaktiviere ich alle Netzwerkadapter funktioniert die Funktion, allerdings ist das ja nicht machbar. Und genau deshalb habe ich in meinen Anfangspost gefragt, ob jemand weiß ob ich das auch Variablen wie %Logonserver% verarbeiten kann, da ich so über den Domänencontroller an welchem ich angemeldet bin, herausfinden kann an welchen Standort ich mich befinde um den entsprechenden Proxy zu verwenden, da es ja über die IP-Adresse wie eben beschrieben halt nicht funktioniert.

 

Vielen Dank

ps: musste ipconfig kürzen, da ich sonst die Maximale Zeichenanzahl überschritten hab :-(

Link to comment

Das liegt ziemlich sicher daran, das deine VM in einem anderen Subnet arbeitet. Respective. du host Modus fährst. Schalte mal die VM um auf Briget Notwerk.

 

Dann bezieht die VM aus dem selben Netzwerk eine IP.

All so ohne virtuelles Netzwerk..

 

oder du trägst einfach in der Proxy Datei aller subnete ein.

 

192.168.19.0

192.168.63.0

192.168.111.0

Link to comment
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...