Es gibt 3 Arten von Tunneln in Linux. Diese sind IP in IP-Tunneling, GRE-Tunneling und Tunnel außerhalb des Kernels (wie zB. PPTP).
Tunnel werden verwendet um ungewöhnliche aber sehr coole Sachen zu machen. Sie können auch schief gehen, wenn du sie falsch konfigurierst. Lass nie die Standard-Route zu einem Tunnel zeigen, es sei denn du weist GENAU was du tust:-). Zusätzlich erhöhen Tunnel den Overhead, denn sie benötigen einen zusätzlichen Satz an IP-Header. Dies sind normalerweise 20 Bytes pro Paket, die normale Paketgröße (MTU) in einem Netzwerk beträgt 1500 Byte, durch einen Tunnel gesendete Pakete kann nur 1480 Bytes groß sein. Ein Problem ist es nicht unbedingt, aber du musst dir im Klaren sein, es kommt zu IP-Paketfragmentierung/rückbau (reassembly) bei großen, über Tunnel angeschlossenen, Netzwerken. Oh, und natürlich ist der schnellste Weg einen Tunnel zu graben, wenn man von beiden Seiten gräbt.