%20gibt%20lokale%20Adressen%20zur%C3%BCck%2C%20keine%20Ethernet-Adapter.png)
Dies ist sozusagen ein zweiter Teilvon hier.
Wenn Clients über VPN in mein Netzwerk einsteigen, wird ihnen eine IP-Adresse zugewiesen, die ihnen wiederum die Option 252 vom DHCP gibt. Die automatische Erkennung greift dann auf diese Datei zu
Was ich im Wesentlichen brauche, ist eine Möglichkeit, mit der proxy.pac herausfinden kann, ob ein Client eine VPN-Verbindung nutzt, damit es für ihn ein DIRECT auflösen kann.
Wenn ich also eine einfachevar meineIp = meineIP-Adresse()und dann muss es nur noch mit einer Liste dieser festen Adressen abgeglichen werden, dann wäre das Problem gelöst. Allerdings scheint die Funktion myIpAddress() die lokale IP des Rechners (z. B. 192.168.10.1) und nicht den Netzwerkadapter zu ermitteln. In meinem Fall ist diese lokale Adresse mein MS Loopback, das für einige meiner lokalen VMs benötigt wird. Wenn ich meinen Loopback-Adapter deaktiviere, beginnt er, die richtige Adresse aufzulösen. Dies ist kein idealer Workaround.
Wie löse ich also die gewünschte IP-Adresse vom richtigen Adapter auf?
- Ich habe diese Tests bisher von meinem lokalen Computer aus durchgeführt.
- Mir ist bewusst, dass es sich hierbei nicht um eine geschlossene VPN-Lösung handelt, sondern lediglich um das, was aktuell entschieden wurde.
Dank im Voraus...
Antwort1
Leider ist es nicht möglich, myIpAddress() in Windows dazu zu bringen, die richtige Adresse zurückzugeben.tutDies kann eine Änderung der Priorität der Netzwerkkarten erfordern (unter Windows XP befindet sich dies im Dialogfeld „Erweiterte Einstellungen ...“ des Menüs „Erweitert“ des Dialogfelds „Netzwerkverbindungen“).
Hier ist das Problem einer anderen Person, das Ihrem ähnelt:http://www.geurtsrus.com/gerke/2005/01/proxy-auto-configuration-blues.html
Möglicherweise ist es besser, die IP-Adressen zu ermitteln, die einen Proxy benötigen, und nicht die, bei denen dies nicht der Fall ist (z. B. lokale Subnetze im Unternehmen), und andernfalls von DIRECT auszugehen.
Eine andere Alternative wäre, den Clients im VPN eine andere PAC-DHCP-Option zu übergeben. Das ist möglicherweise einfach, wenn Ihre VPN-Benutzer aus einem dedizierten Subnetz kommen, aber möglicherweise nicht, wenn sie aus einem LAN-Subnetz kommen.
Antwort2
Es ist möglich, wpad.dat auf wpad.aspx umzuleiten und die IP-Adresse mit ASP zu finden:
<%
Dim strClientIP As String
strClientIP = Request.UserHostAddress()
%>
function FindProxyForURL(url, host)
{
//proxy definition
var UseProxy = "PROXY x.x.x.x:8080"
if (isPlainHostName(host)) {return "DIRECT"; }
if (isInNet("<%Response.Write(strClientIP)%>", "x.x.1.0", "255.255.255.0"))
return UseProxy;
else
return "DIRECT";
}
Antwort3
Welchen Browser verwenden Sie? Mozilla-basierte Browser hatten damit Probleme, die sich jedoch nicht einfach lösen ließen, da der Funktionsaufruf ursprünglich unter der Annahme definiert wurde, dass ein System Single-Homed ist (was völlig falsch ist, sofern Sie nicht vom physischen Netzwerk getrennt sind und nur im Loopback laufen).