2009-03-30 3 views

Antwort

7

Tunneling ist, wenn statt ein Paket direkt durch das Netzwerk senden Sie innerhalb einer anderen (oft verschlüsselten) Verbindung mit Hilfe von encapsulation. Beim SSH-Tunneling werden TCP/IP-Pakete innerhalb einer SSH-Verbindung an einen anderen Host gesendet, der dann entscheidet, wie diese Pakete zu behandeln sind (normalerweise an das interne Netzwerk weiterleiten). Die Wikipedia article about Tunnelling ist hilfreich, aber um es besser zu verstehen, sollten Sie eine grundlegende Idee haben, wie Kapselung und OSI model arbeiten.

2

SSH-Tunneling ist, soweit ich weiß, eine Möglichkeit, die Internetverbindung eines entfernten Computers ähnlich einem Proxy zu verwenden.

Im Grunde haben Sie eine Netzwerkverbindung am Basiscomputer und verwenden diese Verbindung, um sich über SSH-Tunneling mit einem Remote-Computer zu verbinden. Anstatt den Netzwerkverkehr direkt zu Ihrem Computer zu leiten, wird der Remote-Computer zuerst durchsucht. Ihr Computer wird annehmen, dass der gesamte Netzwerkverkehr von einer Verbindung (dem Remotecomputer) statt von vielen Verbindungen wie normalerweise kommt.

4

Tunneling ist ein allgemeiner Begriff, der sich auf die Kapselung eines Protokolls innerhalb eines anderen bezieht.

Normalerweise wird TCP/IP über einen unterlagerten Transport (z. B. Ethernet) transportiert. Man kann jedoch ein übergeordnetes Protokoll (wie SSH) als Basis für den Transport von TCP/IP verwenden.

Dies bedeutet, dass die Protokolle verschachtelt sind:

  • (nativ) TCP/IP transportiert SSH
  • SSH Transporte (getunnelt) TCP/IP

Diese nutzlos und komplex aussehen kann bei Erstens ermöglicht es einem, die Vorteile eines High-Level-Protokolls (zum Beispiel Verschlüsselung für SSH) unter Verwendung eines untergeordneten Protokolls (wie TCP/IP) zu nutzen.

Beachten Sie, dass VPNs normalerweise mit einer Art von Tunneling implementiert werden.

20

Nun, im Grunde haben Sie 3 Maschinen:

  • A Ihre Maschine
  • B Server
  • C Remote-Rechner

Basistunnel jede Kommunikation sein würde, an Port X von A wird an Port Y von C von B weitergeleitet. I.e. statt AC Sie haben ABC. So zu der Maschine C scheint es, dass die Kommunikation von B, nicht A kommt. Nützlich, wenn die Firewall C keine Verbindung von A (z. B. Gebiet eingeschränkt) erlaubt.So zum Beispiel mit:

ssh -L8080:www.example.com:80 your.server 

Zugriff auf localhost:8080 von Ihrem Gerät Sie tatsächlich www.example.com:80 von your.server erreichbar.


Andere Art Tunnel wäre:

  • A Maschine in lokalen Netz
  • B Server

Sie offen Port X auf dem Server B, Jede Kommunikation auf diesem Port wird an Port Y auf dem lokalen Mac weitergeleitet zurück A. Nützlich, wenn Sie hinter NAT/Firewall sind. Zum Beispiel:

ssh -R8080:192.168.1.1:80 your.server 

Wer auf your.server:8080 Zugriff zugreift tatsächlich 192.168.1.1:80 in Ihrem lokalen Netz.

+0

Haha ... mal sehen, ob die Jungs hinter SO diese Antwort sehen und eine Methode zum Anhängen von Bildern implementieren. – Eldelshell

+0

Wells Hilfe. Was ist mit HTTP-Tunneling über einen HTTP-Proxy (vielleicht mit curl?) – Hortitude

0

Was ist Tunneling (SSH-Tunneling und PPP-Tunneling)? Ich suchte in Google, aber es ist verwirrend .. kann jemand irgendein gutes Material auf diesem Tunnelthema liefern?

Um zu verstehen, was Tunneling ist, müssen Sie zuerst über die Kapselung der Pakete wissen.

Pakete können in einem anderen Paket gekapselt werden, um sie an ein anderes Protokoll oder eine andere OSI-Ebene zu senden. Zum Beispiel ist Ihre Verbindung zu dieser Website eine HTTP-Anfrage, die in eine TCP-Verbindung übersetzt wird, und TCP-Pakete werden dann in IP-Pakete gekapselt und so weiter.

Es ist überall von Ihnen überall. Wenn Sie beispielsweise von Ihrem Smartphone aus surfen, werden Ihre HTTP-Anfragen in IP-Pakete gekapselt und in WiFi 802.11-Frames gekapselt. Es ist wie die russischen Puppen, wo man in einem anderen sein wird, und es kann viele andere geben.

Sie können beispielsweise für SSH-Tunneling das Verzeichnis here verwenden und erfahren, wie Sie Ihren Datenverkehr vom lokalen PC zum Remote-Server übertragen können.

Und der beste Weg zu verstehen, was Verkapselung ist, etwas über OSI-Modell zuerst zu lesen.