SOCKS-Clients mit 3proxy an einen HTTP-CONNECT-Parent anbinden
Erklärt ein SOCKS-seitiges Gateway mit HTTP-CONNECT-Parent und die Protokoll- und Authentifizierungsanforderungen auf jeder Strecke.
Die Anwendung benötigt SOCKS. Ihr freigegebener Upstream-Dienst akzeptiert HTTP CONNECT. Den HTTP-Endpunkt in das SOCKS-Feld der Anwendung einzutragen, übersetzt nicht zwischen den Protokollen.
Ein Gateway kann SOCKS von der Anwendung annehmen, das angeforderte Ziel lesen und beim HTTP-Parent einen CONNECT-Tunnel zu diesem Ziel anfordern. Anschließend leitet es den Datenstrom der Anwendung durch den Tunnel.
SOCKS application → SOCKS-facing gateway → HTTP CONNECT parent → destination
Jede Schnittstelle explizit machen
Für ein Gateway, das diese Anordnung unterstützt, ist der Parent-Typ entscheidend. Die 3proxy-Dokumentation unterscheidet einen connect-Parent von einem Parent, der als gewöhnlicher HTTP-Weiterleitungsproxy dient.
Mit einem vorhandenen 3proxy-Benutzer und eingerichteter Authentifizierung kann ein rein lokales Routing-Fragment so aussehen:
auth strong
allow alex
parent 1000 connect parent.example.net 8080
socks -i127.0.0.1 -p1080
Dieses Fragment setzt voraus, dass das Konto bereits definiert ist. Es fügt keine Anmeldedaten hinzu, die der HTTP-Parent selbst verlangt, und ersetzt nicht die bestehende Zugriffsrichtlinie. Für öffentliche Ziele auf einer Route, die einen nicht authentifizierten öffentlichen HTTP-Parent zulässt, bietet die HTTP-Proxy-Liste Host- und Portkandidaten. Lassen Sie die Parent-Anmeldedaten für diesen Zweig weg und bestätigen Sie die Berechtigung für das tatsächliche Ziel; das eigene Konto des Gateways bleibt lokal. Die Regel parent gehört nach dem dokumentierten Konfigurationsmodell von 3proxy zur vorangehenden allow-Regel.
Die Anwendung nutzt den lokalen SOCKS-Endpunkt. Das Gateway nutzt HTTP CONNECT zum Parent. Der Parent entscheidet weiterhin, ob der angeforderte Zielhost und -port zulässig sind.
Der sinnvolle Umfang ist hier das Tunneln gewöhnlicher TCP-Ströme. Eine SOCKS5-UDP-Assoziation wird nicht dadurch unterstützt, dass der vordere Listener SOCKS5 akzeptiert. Ein HTTP-CONNECT-Parent stellt die erforderliche UDP-Relay-Funktion nicht automatisch bereit.
HTTPS kann in diesem Pfad Ende-zu-Ende bleiben; die Übersetzung zwischen Proxyschnittstellen erfordert es nicht, die Zielwebsite nachzuahmen. Authentifizierung zum Gateway, Authentifizierung zum Parent und Website-Authentifizierung bleiben unterschiedliche Anmeldedaten und Austausche.