IPIP-Tunnel

Aus Amateurfunk Wiki

Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

Einführung

Es gibt verschiedene Tunnelarten. Einige können nur mit IPv4 Paketen umgehen, andere können mit vielen andere Arten von Pakettypen umgehen. Der Linux Kernel kann zur Zeit drei Arten von Tunneltypen verwenden: IPIP (IPv4 in IPv4), GRE (IPv4/IPv6 over IPv4) and SIT (IPv6 over IPv4).

Tunnel werden mit dem Program ip - gehört zu iproute2 - erzeugt.

Linux Config

ipip

Wichtig ist, das der Linux Kernel in den Networking Options IP Tunneling (CONFIG_NET_IPIP) aktiviert hat und iproute2 installiert ist.

Hier die Kommandozeilen die nötig sind um einen Tunnel aufbauen zu können:

Host A

ip tunnel add ipip0 mode ipip remote 192.168.54.121 local 192.168.154.101 
ip link set ipip0 up
ip addr add 172.16.1.2/24 dev ipip0

Host B

ip tunnel add ipip0 mode ipip remote 192.168.154.101 local 192.168.54.121 
ip link set ipip0 up
ip addr add 172.16.1.1/24 dev ipip0

Debian basierte Systeme fügen auf beiden Maschinen in /etc/network/interfaces folgendes hinzu:

Host A

# ipip tunnel
iface ipip0 inet static
       address 172.16.1.1
       netmask 255.255.255.255
       pointopoint 172.16.1.2
       mtu 1480
       pre-up /sbin/ip tunnel add ipip0 mode ipip remote 192.168.54.121 local 192.168.154.101 dev eth0
       post-down /sbin/ip tunnel del ipip0


Host B

# ipip tunnel
iface ipip0 inet static
       address 172.16.1.2
       netmask 255.255.255.255
       pointopoint 172.16.1.1
       mtu 1480
       pre-up /sbin/ip tunnel add ipip0 mode ipip remote 192.168.154.101 local 192.168.54.121 dev eth0
       post-down /sbin/ip tunnel del ipip0


Auf beiden Hosts sollte folgende iptables rule existieren

iptables -A FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

Wenn man auch Multicast/Broadcast übertragen möchte, kann man auch einen GRE Tunnel verwenden.

Links

Persönliche Werkzeuge