10.10.2013 Aufrufe

IP-Tunnel

IP-Tunnel

IP-Tunnel

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

<strong>IP</strong>-<strong>Tunnel</strong><br />

Niklas Meinzer<br />

Lehrstuhl für Kommunikationssysteme<br />

Zusammenfassung In dieser Proseminarausarbeitung werden die theoretischen Hintergründe<br />

und praktischen Möglichkeiten von <strong>IP</strong>-<strong>Tunnel</strong>n behandelt. Es wird beschrieben, wie<br />

sich mit Generic Routing Encapsulation(GRE) lokale Netzwerke über das Internet miteinander<br />

verbinden lassen. Dabei wird der Sicherheitsaspekt ausgeblendet, um die Funktionsweise<br />

eines einfachen <strong>Tunnel</strong>s klarer zu machen. Praktische Anwendung finden <strong>IP</strong>-<strong>Tunnel</strong> bei der<br />

Umstellung von <strong>IP</strong>v4 auf <strong>IP</strong>v6, dabei werden <strong>IP</strong>v6-Pakete durch ein bestehendes <strong>IP</strong>v4-Netz<br />

getunnelt. Darüber hinaus lassen sich mit Hilfe von <strong>Tunnel</strong>n auch Firewalls umgehen.<br />

1 Einleitung und Motivation<br />

Als <strong>Tunnel</strong> oder Kapselung wird in der Netzwerktechnik ein System bezeichnet, bei dem Pakete<br />

(oder Datagramme, Segmente) eines Protokolls als Payload eines anderen Protokolls verschickt<br />

werden. In Abbildung 1 ist anhand eines Beispiels dargestellt, wie der TCP/<strong>IP</strong>-Protokollstapel<br />

Kapselung verwendet.<br />

Anwendung<br />

Transport<br />

Netzwerk<br />

Bitübertragung<br />

SMTP (E-Mail)<br />

TCP<br />

<strong>IP</strong><br />

Ethernet<br />

Abbildung 1. Der TCP/<strong>IP</strong> Protokollstapel (links) und je ein Beispielprotokoll für jede Schicht. Für die<br />

Datenübertragung werden die Pakete eines Protokolls in Pakete des nächst tieferen eingepackt.<br />

In diesem Paper geht es um <strong>IP</strong>-<strong>Tunnel</strong> oder <strong>IP</strong>-in-<strong>IP</strong> Kapselungen, also um Systeme, bei denen<br />

die Payload eines <strong>IP</strong>-Paketes wieder ein <strong>IP</strong>-Paket ist. Übersetzt in die bekannte Postpaket-Analogie,<br />

bei der das Postpaket ein <strong>IP</strong>-Paket und sein Inhalt die Payload darstellt, würde das bedeuten, dass<br />

ein komplett versandfertiges Postpaket in ein weiteres eingepackt wird und dieses dann verschickt<br />

wird. Es gibt einige Szenarien, für die diese Konstellation Sinn ergibt:<br />

a) Ein Paket soll in eine Stadt verschickt werden, die vom lokalen Paketdienst nicht bedient wird.<br />

Das Paket könnte dann in ein weiteres Paket eingepackt und in eine dritte Stadt zu einem<br />

anderen Paketdienst geschickt werden, der die gewünschte Zielstadt bedient und das Paket<br />

schließlich dorthin verschickt.<br />

b) Der lokale Paketdienst verschickt keine Postkarten. Eine Postkarte könnte also in ein Paket<br />

eingepackt werden und an einen zweiten Paketdienst geschickt werden, der Postkarten befördert<br />

und die Postkarte aus dem Paket somit an den Empfänger zustellen kann.<br />

Analoge Probleme aus der Netzwerktechnik werden in diesem Paper behandelt. Das Beispiel a)<br />

entspricht in etwa einer Problematik, die bei der Umstellung von <strong>IP</strong>v4 auf <strong>IP</strong>v6 entstehen kann:


2 Niklas Meinzer<br />

Verschiedene <strong>IP</strong>v6-Netze sollen über das Internet, das größtenteils noch mit <strong>IP</strong>v4 funktioniert,<br />

miteinander verbunden werden. Hier besteht die Möglichkeit der <strong>IP</strong>v6-in-<strong>IP</strong>v4-Kapselung, die in<br />

Abschnitt 3 behandelt wird.<br />

Es gibt die Möglichkeit den Internetzugang eines lokalen Netzes über eine Firewall zu leiten. Dabei<br />

können bestimmte Ports gesperrt werden, um die normalerweise über diese Ports kommunizierenden<br />

Dienste nicht zuzulassen. Dieses Setup entspräche dem aus Beispiel b). <strong>IP</strong>-<strong>Tunnel</strong> können<br />

eingesetzt werden um solche Sperren zu umgehen und die gesperrten Dienste dennoch zu nutzen.<br />

Die theoretischen Grundlagen und die praktische Anwendung auf einem Linux-System werden in<br />

Abschnitt 4 betrachtet.<br />

2 Grundlagen von <strong>Tunnel</strong>n<br />

In Abbildung 2 sind zwei Netze abgebildet, die jeweils an das Internet angeschlossen sind, aber<br />

intern über private Adressen verfügen.<br />

Firmennetz A<br />

10.1.*.*<br />

Internet<br />

Firmennetz B<br />

10.2.*.*<br />

Abbildung 2. Zwei verschiedene Standorte einer Firma verfügen über ein LAN, das jeweils über einen<br />

Router per NAT an das Internet angeschlossen ist. Die Rechner aus den Netzen A und B sollen jedoch<br />

untereinander kommunizieren können.<br />

In diesem Beispiel soll der Rechner mit der Adresse 10.1.100.1 aus Netz A mit dem Rechner<br />

mit der Adresse 10.2.100.1 kommunizieren können, ohne die Verbindung über das Internet berücksichtigen<br />

zu müssen.<br />

Diese Funktion lässt sich mit dem Generic Routing Encapsulation Protokoll realisieren.<br />

2.1 Generic Routing Encapsulation (GRE)<br />

Mit Hilfe des GRE Protokolls lassen sich verschiedene Protokolle in andere einpacken. Der Header<br />

sieht folgendermaßen aus:<br />

00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31<br />

C reserved0 Ver protocol type<br />

checksum(optional) reserved1(optional)<br />

Tabelle 1. Der GRE-Header [2]: Das erste Bit (Checksum present) legt fest, ob die Felder checksum<br />

und reserved1 vorhanden sind. Die Felder reserved0 und reserved1 finden in der aktuellen Version keine<br />

Verwendung. Das version Feld beinhaltet die benutze GRE-Version und das protocol type Feld den Typ<br />

des verpackten Protokolls.<br />

In einem GRE-<strong>Tunnel</strong> wird ein Paket eines anderen Protokolls – wie in Abbildung 3 ein <strong>IP</strong>-Paket<br />

– samt Payload mit einem GRE-Header versehen und in ein <strong>IP</strong>-Paket verpackt. Im GRE-Header


<strong>IP</strong>-<strong>Tunnel</strong> 3<br />

wird der Typ des verpackten Paketes eingetragen und im <strong>IP</strong>-Paket das Feld protocol mit dem<br />

Wert 47 (GRE) belegt. Das <strong>IP</strong>-Paket wird zum Ende des <strong>Tunnel</strong>s übertragen. Dort wird der GRE-<br />

Header entfernt, eventuell eine Prüfsumme berechnet und das verpackte Paket an das in protocol<br />

type festgelegte Protokoll übergeben. Wie in Abbildung 3 anhand eines Beispiels gezeigt, wird<br />

dabei der TCP/<strong>IP</strong>-Protokollstapel durch zusätzliche Schichten ergänzt. [3] [2]<br />

SMTP (E-Mail)<br />

TCP<br />

<strong>IP</strong><br />

GRE<br />

Ethernet <strong>IP</strong><br />

SMTP (E-Mail)<br />

TCP<br />

<strong>IP</strong><br />

GRE<br />

<strong>IP</strong><br />

Ethernet<br />

Abbildung 3. Im GRE-<strong>Tunnel</strong> werden in den Protokollstapel zwei zusätzliche Schichten eingezogen.<br />

2.2 GRE <strong>Tunnel</strong> unter Linux<br />

Unter Linux lässt sich ein GRE-<strong>Tunnel</strong> (sofern das Kernelmodul ip gre geladen ist) mit Hilfe des<br />

Programmes ip einrichten. Um zum Beispiel die beiden Netzwerke aus Abbildung 2 durch einen<br />

GRE-<strong>Tunnel</strong> miteinander zu verbinden, muss wie folgt vorgegangen werden.<br />

Es wird angenommen, dass die beiden Router, die die LAN’s mit dem Internet verbinden, an der<br />

Internetschnittstelle die Adressen 172.10.100.1 (Router A) und 172.123.10.2 (Router B) haben.<br />

Konfiguration auf Router A:<br />

ip tunnel add gretunnel<br />

mode gre local 172.10.100.1 remote 172.123.10.2 ttl 64 dev eth0<br />

ip link set gretunnel up<br />

ifconfig gretunnel 10.111.111.1/24<br />

ip route add -net 10.2.0.0/16 gw 10.111.111.2 dev gretunnel<br />

Der erste Befehl erstellt einen neuen <strong>Tunnel</strong> mit dem Namen gretunnel. Dabei werden die lokale<br />

Adresse und die Adresse des <strong>Tunnel</strong>endes bezüglich des zu durchtunnelnden Netzwerkes angegeben.<br />

Weiterhin wird ein Time-to-Live-Wert festgelegt und das Interface, über das die verpackten Pakete<br />

rausgeschickt werden sollen. Die nächsten beiden Befehle aktivieren das neue Interface gretunnel<br />

und weisen diesem eine Adresse zu. Schließlich wird ein neuer Eintrag in der Routingtabelle erstellt,<br />

der Pakete an <strong>IP</strong>-Adressen der Form 10.2.*.* durch den <strong>Tunnel</strong> schickt. Dabei wird angenommen,<br />

dass das <strong>Tunnel</strong>interface auf Router B die Adresse 10.111.111.1/24 erhalten hat.<br />

Analog dazu wird Router B konfiguriert.<br />

Die Hosts aus den Netzen A und B können nun untereinander <strong>IP</strong>-Pakete austauschen, indem sie<br />

ihre lokalen <strong>IP</strong>-Adressen verwenden. Die Existenz des <strong>Tunnel</strong>s ist für sie nicht ersichtlich. Für die<br />

Knoten, die das Paket auf seinem Weg durch das Internet weiterleiten, sieht es so aus, als ob sich<br />

die Router A und B gegenseitig Pakete schicken (Abbildung 4). [4] [5]<br />

2.3 Sicherheit<br />

GRE bietet keinerlei Möglichkeiten Pakete zu verschlüsseln oder auf andere Weise vor unbefugtem<br />

Zugriff zu schützen. Auf ihrem Weg durch das Internet könnten die Pakete daher abgefangen<br />

und ausgewertet werden. Für das Verbinden verschiedener Firmennetzwerke ist GRE somit in der<br />

Praxis nicht geeignet. Eine sichere Alternative wäre ein VPN.


4 Niklas Meinzer<br />

10.1.93.13<br />

<strong>IP</strong><br />

Dest: 10.2.100.12<br />

Src: 10.1.93.13<br />

Local: 10.1.0.1<br />

Global: 172.10.100.1<br />

<strong>IP</strong><br />

Dest: 172.123.10.2<br />

Src: 172.10.100.1<br />

GRE<br />

Protocol Type: <strong>IP</strong><br />

<strong>IP</strong><br />

Dest 10.2.100.12<br />

Src: 10.1.93.13<br />

Local: 10.2.0.1<br />

Global: 172.123.10.2<br />

<strong>IP</strong><br />

Dest: 10.2.100.12<br />

Src: 10.1.93.13<br />

LAN A Internet LAN B<br />

Abbildung 4. Der Weg eines <strong>IP</strong>-Paketes von Host zu Host durch einen GRE-<strong>Tunnel</strong>.<br />

3 <strong>IP</strong>v6-in-<strong>IP</strong>v4<br />

10.2.100.12<br />

Ein wichtiges Feld, in dem <strong>IP</strong>-<strong>Tunnel</strong> praktische Anwendung finden, ist die Umstellung von <strong>IP</strong>v4<br />

auf <strong>IP</strong>v6. Als <strong>IP</strong>v6 entwickelt wurde, um <strong>IP</strong>v4 abzulösen, war der Vorgänger bereits soweit etabliert,<br />

dass ein weltweiter Umstieg bis heute nicht erfolgt ist und auch in naher Zukunft nicht zu erwarten<br />

ist. Um es einzelnen Firmen oder Privatanwendern trotzdem möglich zu machen in lokalen Netzen<br />

<strong>IP</strong>v6 zu verwenden und dennoch nicht von der Außenwelt abgeschnitten zu sein, gibt es zahlreiche<br />

Methoden die beiden <strong>IP</strong>-Versionen koexistieren zu lassen.<br />

Einige davon – insbesondere die Möglichkeit des <strong>IP</strong>v6-in-<strong>IP</strong>v4-<strong>Tunnel</strong>ings – werden im Request for<br />

Comments Nr.4213 [6] der Internet Engeneering Task Force (IETF) vorgestellt.<br />

Beim <strong>IP</strong>v6-in-<strong>IP</strong>v4 <strong>Tunnel</strong>ing werden <strong>IP</strong>v6-Pakete in <strong>IP</strong>v4-Paket eingepackt und über ein <strong>IP</strong>v4-<br />

Netzwerk versandt. Folgende Situationen sind möglich:<br />

Router to Router Ein <strong>IP</strong>-<strong>Tunnel</strong> zwischen zwei Routern könnte zum Beispiel die <strong>IP</strong>v6-Netzwerke<br />

zweier Firmenfilialen miteinander durch das Internet verbinden.<br />

Host to Router Ein Rechner in einem <strong>IP</strong>v4-Netz könnte mit Hosts aus einem <strong>IP</strong>v6-Netz hinter<br />

einem <strong>IP</strong>v4/<strong>IP</strong>v6-Router kommunizieren, indem die Pakete den Weg bis zu dem Router durch<br />

einen <strong>Tunnel</strong> zurücklegt.<br />

Host to Host Theoretisch können auch zwei Hosts durch ein <strong>IP</strong>v4-Netz kommunizieren, indem<br />

sie einen <strong>IP</strong>v6-<strong>Tunnel</strong> nutzen.<br />

Router to Host Und schließlich kann ein Router auch <strong>IP</strong>v6-Pakete aus einem <strong>IP</strong>v6-Netz durch<br />

einen <strong>Tunnel</strong> an einzelne Host in einem <strong>IP</strong>v4-Netz leiten.<br />

Für alle diese Arten von <strong>Tunnel</strong>n gilt, dass er für Sender und Empfänger “unsichtbar” ist. Das<br />

heißt, der gesamte <strong>Tunnel</strong> zählt nur als ein Hop, auch wenn er in Wirklichkeit über mehrere Hops<br />

verläuft. Die Beschaffenheit und Funktionsweise eines <strong>Tunnel</strong>s wird bestimmt durch seine beiden<br />

Endpunkte, den verpackenden und den entpackenden Knoten.


<strong>IP</strong>-<strong>Tunnel</strong> 5<br />

Der verpackende Knoten Der verpackende Knoten, also der Startknoten eines <strong>Tunnel</strong>s, hat<br />

drei Aufgaben zu erfüllen:<br />

1. Er muss ein <strong>IP</strong>v4-Paket erstellen, das ankommende <strong>IP</strong>v6-Paket darin verpacken und es an den<br />

Endpunkt des <strong>Tunnel</strong>s schicken.<br />

2. Er muss entscheiden, wie mit Fragmentierung umzugehen ist. Er könnte zum Beispiel die maximale<br />

Größe eines <strong>IP</strong>v4-Pakets (65515 Byte + 20 Byte Header) als MTU des <strong>Tunnel</strong>s festlegen.<br />

Dies würde zu hoher Fragmentierung innerhalb des <strong>Tunnel</strong>s führen und so den Endpunkt durch<br />

das Zusammenbauen des riesigen Paketes belasten. Dieses Zusammenbauen wird normalerweise<br />

durch den Empfänger erledigt, um die inneren Knoten und somit das gesamte Netz zu entlasten.<br />

Daher wird entweder ein moderater, fester MTU Wert für den <strong>Tunnel</strong> gewählt (der<br />

RFC schlägt 1280 bis 1480 Byte vor) oder per Path MTU Discovery der tatsächliche Wert des<br />

<strong>Tunnel</strong>s ermittelt, um so Fragmentierung innerhalb des <strong>Tunnel</strong>s ganz zu vermeiden.<br />

3. Er muss entscheiden, was mit ICMPv4 Messages aus dem <strong>Tunnel</strong> geschieht.Um eine ICMPv4<br />

Fehlermeldung aus dem <strong>Tunnel</strong> interpretieren zu können, muss der verpackende Knoten wissen,<br />

welches Paket sie hervorgerufen hat. Bei älteren ICMPv4 Implementierungen werden an die<br />

Fehlermeldung nur der Header des verursachenden <strong>IP</strong>v4 Paketes und die ersten 8 Byte (also<br />

64 Bit) der Payload angehängt. Im Falle eines <strong>IP</strong>v6-in-<strong>IP</strong>v4 <strong>Tunnel</strong>s also die ersten 64 Bit des<br />

<strong>IP</strong>v6 Headers. Die Adresse des Senders wird jedoch in den Bits 65 bis 192 codiert und ist somit<br />

nicht mehr enthalten. Eine solche Fehlermeldung kann also nur verworfen werden, ohne den<br />

Sender zu informieren.<br />

Sollte der Sender rekonstruierbar sein, muss der verpackende Knoten entscheiden, ob er ein<br />

ICMPv6 Paket weiterleitet und wenn ja, welches. Während destination unreachable einfach<br />

weitergeleitet werden kann, würde ein time exceeded Paket den Sender veranlassen das hop<br />

limit zu erhöhen. Da der <strong>Tunnel</strong> für das <strong>IP</strong>v6-Paket jedoch nur einen Hop darstellt, wäre dies<br />

nicht zielführend. Stattdessen könnte sich der verpackende Knoten entscheiden, ein destination<br />

unreachable-Paket an den Sender zu schicken und den TTL-Wert der <strong>Tunnel</strong>pakete zu erhöhen.<br />

Der entpackende Knoten Der entpackende Knoten eines <strong>Tunnel</strong>s, der ein <strong>IP</strong>v4-Paket mit<br />

dem Eintrag 41 im protocol Feld erhält, muss den <strong>IP</strong>v4-Header entfernen und das <strong>IP</strong>v6 Paket<br />

behandeln, als hätte er es ganz normal erhalten und es an den Empfänger weiterleiten. Um Spoofing<br />

zu verhindern, muss überprüft werden, ob der Absender des <strong>IP</strong>v4-Pakets auch tatsächlich der<br />

Anfangspunkt des <strong>Tunnel</strong>s ist. Wie das genau passiert, wird durch die jeweilige Implementierungen<br />

festgelegt. Bei GRE muss zum Beispiel das andere Ende des <strong>Tunnel</strong>s eim Einrichten mit angegeben<br />

werden.<br />

4 <strong>Tunnel</strong>n durch Firewalls<br />

Eine weitere Anwendung ist das <strong>Tunnel</strong>n durch Firewalls.<br />

Ein Beispiel: Ein Firmennetzwerk ist über einen Router mit Firewall mit dem Internet verbunden.<br />

Diese Firewall verhindert das Senden (SMTP, Port 25) und Empfangen (POP, Port 110) von<br />

E-mails, indem Pakete, in deren Header im destination port Feld der Wert 25 oder 110 steht,<br />

verworfen werden. Ist Port 22 nicht gesperrt, ist es möglich über das Secure Shell Protokoll (SSH)<br />

einen <strong>Tunnel</strong> zu einem präparierten Host aufzubauen und die SMTP bzw. POP Verbindung durch<br />

diesen hindurch aufzubauen und so die Portsperren zu umgehen. Ein weiterer Vorteil hierbei ist,<br />

dass SSH Verbindungen verschlüsselt sind, somit erreicht man ein höheres Maß an Sicherheit für<br />

den Mailverkehr. Dies gilt natürlich nur innerhalb des <strong>Tunnel</strong>s, die Verbindung vom <strong>Tunnel</strong>ausgang<br />

zum Zielserver profitiert nicht mehr von der SSH Verschlüsselung.<br />

4.1 Theorie<br />

Da ein <strong>Tunnel</strong> einen Anfangs- und Endpunkt braucht, wird ein Server benötigt, der als Endpunkt<br />

agieren kann und natürlich außerhalb des Firmennetzwerkes liegen sollte. Auf diesem Server muss


6 Niklas Meinzer<br />

ein SSH-Server laufen, um den <strong>Tunnel</strong> aufbauen zu können. Wie bei <strong>IP</strong>v6-in-<strong>IP</strong>v4-<strong>Tunnel</strong>n soll<br />

der <strong>Tunnel</strong> von “außen”, also für die beteiligten Programme, nicht sichtbar sein. Da der Mailclient<br />

für den Verbindungsaufbau einen Server mit einer bestimmten <strong>IP</strong>-Addresse anspricht, ist der SSH-<br />

Client, der den Eingang des <strong>Tunnel</strong>s darstellt, wie ein Server ansprechbar. Er öffnet einen Port auf<br />

dem lokalen Rechner, den der Mailclient dann ansprechen kann. Die übergebenen Pakete werden<br />

vom Client in verschlüsselte SSH Pakete verpackt und an den Server geschickt. Dabei wird der<br />

an SSH zugewiesene Port 22 verwendet. Der SSH-Server entpackt die Pakete wieder, ersetzt die<br />

Absenderadresse durch seine eigene und schickt sie an einen vordefinierten Zielhost. Die Antwort<br />

wird wieder durch den <strong>Tunnel</strong> geschickt und vom SSH Client an den Mailclient weitergegeben.<br />

4.2 Praxis<br />

Um einen <strong>Tunnel</strong> einzurichten, muss ein SSH-Client – wie er bei den meißten Linux-Distributionen<br />

schon vorinstalliert ist – mit folgenden Parametern aufgerufen werden.<br />

ssh -L 10025:smtp.mailserver.de:25<br />

-L 10110:pop.mailserver.de:110<br />

user@ssh-server<br />

Die beiden -L Attribute definieren je einen <strong>Tunnel</strong> für SMTP und POP. Die erste Zahl ist der<br />

Port auf dem lokalen Rechner, der den Eintrittspunkt in den <strong>Tunnel</strong> darstellt. Hier kann ein<br />

Programm Pakete an den SSH-Client übergeben, der diese dann durch den <strong>Tunnel</strong> schickt. Nach<br />

dem Doppelpunkt steht die Adresse des Servers, an den die Pakete nach dem <strong>Tunnel</strong> weitergeleitet<br />

werden sollen, in diesem Fall also die Adresse des Mailservers. Nach dem zweiten Doppelpunkt<br />

schließlich der Port des Zielrechners, an den die Pakete geschickt werden sollen.<br />

Im Mailserver müssen nun die Eingangspunkte der <strong>Tunnel</strong>, localhost:10025 und localhost:10110,<br />

als SMTP-, bzw POP-Server angegeben werden. Danach funktioniert der Mailverkehr durch den<br />

<strong>Tunnel</strong>. [7]<br />

4.3 Perspetiven<br />

Der Mailverkehr über den <strong>Tunnel</strong> sieht aus Sicht des Mailclients, der Firewall und des Mailservers<br />

wie folgt aus:<br />

Aus der Sicht des Mailclients Der Mailclient baut eine Verbindng mit den eingestellten Servern<br />

auf. Da der Eingang des SSH-<strong>Tunnel</strong>s eine <strong>IP</strong>-Adresse mit Portnummer ist, kann der Mailclient<br />

diese ganz normal ansprechen, es sind keine Plugins nötig. Die Antwort erhält er wieder vom<br />

SSH-Client, somit ist der <strong>Tunnel</strong> für ihn nicht sichtbar.<br />

Aus der Sicht der Firewall Der eigentliche Zweck des <strong>Tunnel</strong>s ist die Restriktionen der Firewall<br />

zu umgehen, für diese ist es nicht mehr ersichtlich, dass ein Mailserver angesprochen wird.<br />

Sichbar sind die Pakete, die von SSH-Client an den SSH-Server geschickt werden. Sie enthalten die<br />

Empfängeradresse des SSH-Servers und im destination port Feld des Transportschichtprotokolls<br />

(bei SSH wird TCP verwendet) steht der Wert 22. Da dieser Port von der Firewall nicht gesperrt<br />

ist, werden die Pakete ganz normal durchgelassen. Nur aus der Verwendung des Ports 22 lässt sich<br />

auch nicht die Existenz eines <strong>Tunnel</strong>s schließen, da SSH auch viele andere Zwecke erfüllen kann.<br />

Aus der Sicht des Mailsevers Am Ende des <strong>Tunnel</strong>s werden die Pakete des Mailclients entpackt<br />

und auf normalem Wege an den Mailserver geschickt. Dieser empfängt also ganz normale Pakete<br />

und antwortet entsprechend. Für ihn ist die Existenz des <strong>Tunnel</strong>s nicht erkennbar.


Literatur<br />

<strong>IP</strong>-<strong>Tunnel</strong> 7<br />

1. Ross, K.W., Kurose, J.F.: Computer Networking. 4th edn. Pearson International (2008)<br />

2. IETF: RFC 2784: Generic routing encapsulation.<br />

http://tools.ietf.org/html/rfc2784 (2000)<br />

3. IETF: RFC 1701: Generic routing encapsulation.<br />

http://tools.ietf.org/html/rfc1701 (1994)<br />

4. The Linux Foundation: <strong>Tunnel</strong>ing.<br />

http://www.linuxfoundation.org/collaborate/workgroups/networking/tunneling<br />

(Seitenaufruf 28.11.09) (2009)<br />

5. www.linuxdocs.org: GRE and other tunnels.<br />

http://www.linuxdocs.org/HOWTOs/Adv-Routing-HOWTO-5.html (Seitenaufruf: 28.11.09) (2000)<br />

6. IETF: RFC 4213: Basic ipv6 transition mechanisms.<br />

http://tools.ietf.org/html/rfc1933 (2005)<br />

7. polishlinux.org: SSH tunnels: Bypass (almost) any firewall.<br />

http://polishlinux.org/apps/ssh-tunneling-to-bypass-corporate-firewalls/<br />

(Seitenaufruf: 06.12.09) (2006)

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!