Wir versuchen, den Datenverkehr unserer virtuellen Maschine an Squid Proxy weiterzuleiten. Wenn die Anfragen von Squid Proxy weitergeleitet werden und den Proxy verlassen, werden alle Quell-IPs der Anfragen von der IP des Clients in die IP-Adresse des Squid Proxy-Servers geändert.
Unsere Anforderung ist es, sicherzustellen, dass die Anfragen SSL-geboomt werden, gleichzeitig möchten wir aber, dass die Client-IP erhalten bleibt und nicht von Squid Proxy geändert wird. Gibt es eine Möglichkeit, Tags über die Konfigurationsdatei (squid.conf) hinzuzufügen, um die Änderung der Client-IP zu verhindern?
Wir benötigen die Client-IP zur separaten Auswertung der Regeln und während wir SSL-Bump durchführen müssen, brauchen wir auch die Quell-IP des Clients als Signatur der ausgehenden Anfrage.
Antwort1
Proxyserver funktionieren, indem sie Verbindungen von Clients akzeptieren und im Namen der Clients Anfragen an die Zielserver senden.
Folgendes geschieht auf TCP-Ebene:
Client --> TCP connection --> Squid --> TCP Connection --> destination
Der Client öffnet die TCP-Verbindung zu Squid unter Verwendung seiner eigenen IP-Adresse. Squid öffnet die TCP-Verbindung zum Zielserver unter Verwendung seiner eigenen IP-Adresse.
Dies bedeutet, dass die TCP-Verbindungen vom Proxyserver immer eine eigene IP-Adresse haben. Dies ist eine grundlegende Funktionsweise des TCP/IP-Protokolls und lässt sich nicht umgehen.
Antwort2
Ich glaube, Sie möchten einen X-Forwarded-For-Header. Sie lesen dann den Header beim nächsten Hop und dieser Header enthält die ursprüngliche IP-Adresse und nicht die des Squid-Servers. Er wird die Quelle immer als seine eigene ersetzen. Aber Sie können ihn das Original als Header schreiben lassen, den Sie später abrufen können. So machen Sie das mit Web-Proxys usw.