Ordnet der Proxyserver dem Client auch interne IP-Adressen zu?

3408
defalt

Der Proxyserver fügt den X-Forwarded-For-HTTP-Header in die Clientanforderung ein. Wenn XFF die Aufgabe übernimmt, die Antwort jedes Servers an den Client weiterzuleiten, müssen interne IP-Adressen zugewiesen und eine NAT-Tabelle erstellt werden. Müssen sie zum Arbeiten eine interne IP zuweisen?

0

1 Antwort auf die Frage

1
Etienne Dechamps

Ein HTTP-Proxy arbeitet auf der Anwendungsebene. NAT arbeitet auf der IP-Schicht. Dies sind zwei völlig verschiedene Dinge, die einander nicht kennen und nicht auf derselben Ebene arbeiten. Deshalb macht Ihre Frage keinen Sinn.

Wenn ein HTTP-Proxy eine Anforderung für eine Webseite empfängt (und davon auszugehen ist, dass sich die Webseite noch nicht im Cache des Proxys befindet), wird eine eigene TCP-Verbindung zum Ziel-HTTP-Server hergestellt, eine eigene HTTP-Anforderung ausgegeben, die HTTP-Antwort analysiert und anschließend die HTTP-Antwort analysiert leitet die Antwort an den Client weiter, der eine eigene TCP-Verbindung mit dem Proxy hat. Ein HTTP-Proxy versteht nur das HTTP-Protokoll und gibt kein anderes Protokoll weiter (beachten Sie, dass der Einfachheit halber ich eher verwirrende Dinge wie CONNECTMehrzweck-Proxies beiseite lasse).

NAT ist völlig anders. Wenn eine HTTP-Verbindung über ein NAT weitergeleitet wird, gibt es nur eine direkte TCP-Verbindung vom Client zum Server. NAT ist nur damit beschäftigt, den internen Endpunkt (Adresse und Port) mit welchem ​​externen Endpunkt (Adresse und Port) zu verbinden. NAT öffnet keine TCP-Verbindungen, weiß nicht, was HTTP ist, analysiert keine Anforderungen oder Antworten und speichert nichts. NAT kann jedes Protokoll (HTTP, ICMP, DNS usw.) weiterleiten, sofern es auf IP basiert, da es für den Betrieb keine Kenntnis des Protokolls benötigt.

Beachten Sie, dass ich hier nur einfache Konfigurationen beschreibe. Es gibt kompliziertere Setups, die auf den ersten Blick verwirrend sein können. Eine solche Konfiguration ist ein transparenter Proxy (auch als Intercepting Proxy bezeichnet), der sich in der Mitte des Netzwerkpfads befindet und aktiv HTTP-Verbindungen abfängt, die Clients nach außen herstellen möchten. Wenn eine solche Verbindung versucht wird, schreibt der transparente Proxy die Zieladresse neu, sodass die Verbindung stattdessen an den Proxy umgeleitet wird. Danach verhält sich alles wie oben beschrieben. Dieses Setup wird verwendet, um Clients zu zwingen, den Proxy zu durchlaufen, ohne ihre Konfiguration ändern zu müssen. In diesem Szenario ist den Clients möglicherweise nicht einmal bewusst, dass ihr HTTP-Datenverkehr weitergeleitet wird, im Gegensatz zu einfachem NAT. Weitere praktische Informationen zu Abhörproxys finden Sie in derDie Squid- Dokumentation enthält dazu viele Informationen .

Können Sie uns über transparente Proxys erklären, auch weil sie verwandt sind? Sie haben auf nichts geantwortet, weist Ihnen der Proxy-Server eine eigene IP-Adresse zu, um mit dem Benutzer zu kommunizieren? defalt vor 8 Jahren 0
@ user334283: Ich habe meine Antwort aktualisiert, um weitere Details zu transparenten Proxys zu erhalten. Etienne Dechamps vor 8 Jahren 0
@ user334283: "Sie haben auf nichts geantwortet, weist der Proxyserver Ihnen eine eigene IP-Adresse zu, um mit dem Benutzer zu kommunizieren?" > Ich habe Probleme, Ihre Frage zu verstehen. Wieder öffnet der Client seine eigene TCP-Verbindung, der Proxy, und dann öffnet der Proxy seine eigene TCP-Verbindung zum Server. Daher gibt es hier 4 Endpunkte (Adresse und Port): einen auf dem Client, zwei auf dem Proxy (einer zur Kommunikation mit dem Client, einer zur Kommunikation mit dem Server) und einer auf dem Server. Etienne Dechamps vor 8 Jahren 0