shiva99
Goto Top

WPAD.DAT WPAD.PAC - Edge Chromium hat ein Problem mit myIpAddress()

Wir setzen bei uns schon seit Jahren WPAD ein, um dem Browser den richtigen Weg zum Proxy mitzuteilen. Soweit funktioniert alles. Jetzt benötigen wir konkret die Funktion myIpAddress(). Die scheint nicht zu funktionieren.
Laut dem Tester "https://thorsen.pm/proxyforurl" ist unsere WPAD sauber und liefert laut dieser Website das richtige Ergebnis, wie es sein soll.

Hintergrund: Wir haben per VPN Split-Tunneling aktiviert. Da bei uns immer die Automatische Proxy-Configuration aktiviert ist, sollen die User aus dem VPN 192.168.101.0/255.255.255.0 nicht über den internen Proxy gehen, sondern bei allgemeinen Internet-Zugriffen den direkten Weg nach draußen nehmen.
Soweit so gut. Es funktioniert nur nicht. Eine schöne Test-URL ist www.wieistmeineip.de, wo ich gleich im Browser sehe, über welche IP-Adresse ich rausgehe, über die eigene im HomeOffice oder via Firma (Proxy).

Ich habe mir eine minimale WPAD gebaut, um den Fehler einzugrenzen.
function FindProxyForURL(url, host) {
 if (isInNet(myIpAddress(), "192.168.101.0", "255.255.255.0")){ return "DIRECT"; }  
 return "PROXY proxy.meinefirma.com:3129"  
}

Mit dieser WPAD ist im Edge (100.* unter Windows 10) das Ergebnis Proxy, was falsch ist.

Und jetzt kommts:
Wenn ich bewusst einen Fehler einbaue....
function FindProxyForURL(url, host) {
 alert(Bloedsinn);
 if (isInNet(myIpAddress(), "192.168.101.0", "255.255.255.0")){ return "DIRECT"; }  
 return "PROXY proxy.meinefirma.com.com:3129"  
}

...dann verwendet Edge keinen Proxy und geht Direct raus.

Kann das jemand nachvollziehen/erklären?

Content-ID: 2550859259

Url: https://administrator.de/contentid/2550859259

Ausgedruckt am: 25.11.2024 um 11:11 Uhr

mbehrens
mbehrens 20.04.2022 um 23:37:04 Uhr
Goto Top
Zitat von @Shiva99:

Wir setzen bei uns schon seit Jahren WPAD ein, um dem Browser den richtigen Weg zum Proxy mitzuteilen. Soweit funktioniert alles. Jetzt benötigen wir konkret die Funktion myIpAddress(). Die scheint nicht zu funktionieren.

myIpAddressEx() könnte auf multi-homed Systemen zielführender sein.
Shiva99
Shiva99 22.04.2022 um 13:51:31 Uhr
Goto Top
Hallo,

habe jetzt eine Möglichkeit gefunden, um ein paar Informationen sichtbar zu machen und das ganze zu debuggen.
Im Edge: edge://net-export
Damit aktiviert man das Network-Logging in ein File.
Herausgekommen ist, dass myIpAddress() (wie auch myIpAddressEx() die richtige IP liefert, aber leider die von einem anderen Network-Interface, nicht dem virtuellen VPN-Interface.
Jetzt wäre noch die Frage, wie ich die IP vom richtigen Interface herausbekomme.
Das Problem mit der fehlerhaften Alert-Methode dürfte dann auch geklärt sein. Wenn ein Fehler auftritt ignoriert er den Rest und geht quasi ohne WPAD/PAC-Abfrage und damit DIRECT raus.
Dani
Dani 23.04.2022 um 15:56:54 Uhr
Goto Top
Moin,
spontan fällt mir nur die Metrik der Interfaces ein. Sprich die Automatic für das VPN Interface deaktivieren und die Metrik auf 1 setzen. Geht's dann?

Seitens Chromium wird das Thema wie folgt beschrieben:
https://chromium.googlesource.com/chromium/src/+/HEAD/net/docs/proxy.md# ...

Wenn ein Fehler auftritt ignoriert er den Rest und geht quasi ohne WPAD/PAC-Abfrage und damit DIRECT raus.
Work as design. Ist auch so bei Chromium dokumentiert: https://chromium.googlesource.com/chromium/src/+/HEAD/net/docs/proxy.md# ...


Gruß,
Dani