Voraussetzungen
Zunächst mal muss unter Debian das Paket iproute2 installiert sein. Sollte das nicht der Fall sein einfach installieren:
aptitude update aptitude install iproute2
Zusätzlich muss im Kernel IP-IP tunneling kompiliert und das Modul ggf. geladen sein. Debian/Ubuntu bringen dieses Modul im Standardkernel mit. Bei selbstgebautem Kernel: (Option CONFIG_NET_IPIP unter "Networking Options" -> "TCP/IP Networking" ). Das Modul heisst ipip.
Konfiguration Auf der Seite des Servers kann man das Netzwerkinterface über die Datei /etc/network/interaces konfigurieren. Wichtig ist dabei das in der Datei kein gateway angegeben wird (auch bei keinem anderen Interface) denn genau diesen müssen wir später in etwas anderer Form selbst eintragen. Eine Beisipielkonfiguration ist hier zu sehen:
# The loopback network interface auto lo iface lo inet loopbackq # The primary network interface # bridge for virtualbox auto eth0 iface eth0 inet static address <ip addr> netmask <netmask> up /etc/network/ff-public up down /etc/network/ff-public down
Die letzten beiden Zeilen zeigen auf ein Script /etc/network/ff-public das wir jetzt anlegen und editieren müssen. Also einfach mit dem Lieblingseditor erstellen und folgendes reinkopieren:
#! /bin/sh # GATEWAY="10.12.34.56" PUBLIC_IP="<public ip einsetzen>" OLSR_ROUTER="<ip des olsr routers einsetzen>" case "$1" in up) ip tunnel add public mode ipip local $PUBLIC_IP remote $GATEWAY ttl 255 ip link set up dev public ip addr add dev public $PUBLIC_IP ip route add default dev public src $PUBLIC_IP ip route add 10.0.0.0/8 via $OLSR_ROUTER ip route add 193.33.150.0/23 via $OLSR_ROUTER ;; down) ip route del default dev public src $PUBLIC_IP ip route del 10.0.0.0/8 via $OLSR_ROUTER ip route del 193.33.150.0/23 via $OLSR_ROUTER ip tunnel del public ;; *) echo "Usage: $0 {up|down}" exit 1 ;; esac exit 0
danach kann mit
# ifup eth0
das Interface in Betrieb genommen werden. Dann muss man nur noch den Nameserver konfigurieren. Also in die Datei /etc/resolv.conf folgendes reinkopieren:
search graz.funkfeuer.at nameserver 10.12.0.10
Danach sollte das Setup funktionieren und der Server ist aus dem Internet unter dessen Public IP erreichbar.
(Anm.: wenn der Server noch weitere Netwerkverbindungen besitzt, z.B. ein internes LAN oder eine weitere Internetverbindung, wird das routing eine Spur komplizierter. Man kommt dann kaum ohne policy routing und mehreren default routen am Server aus.)