IPIP-Tunnel
Aus Amateurfunk Wiki
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.
