Mainz/VPN
Diese Seite beschreibt die Einrichtung eines VPNs zur Verbindung der isolierten Knoten über das Internet. Das ist vor allem dann vorteilhaft, wenn man einen Internetanschluß zur Verfügung hat, diesen aber, aus Angst für eventuelles Fehlverhalten Dritter zur Rechenschaft gezogen zu werden, nicht direkt freigeben möchte. Der Internetverkehr wird über das VPN zu jemand anderem geschickt, und erst von dort aus ins Internet weitergeleitet.
Installation
Voraussetzung ist ein Router, auf dem die OpenWRT-basierte Freifunk-Firmware läuft (Kamikaze oder neuer), und der auf das Internet zugreifen kann.
Zunächst muss man in einem Terminal per SSH auf den Router zugreifen:
$ ssh root@192.168.1.x
Dann die Liste mit installierbaren Paketen herunterladen:
root@10-37-0-10:~# opkg update Downloading http://firmware.leipzig.freifunk.net/kamikaze/atheros/packages/mips/Packages.gz Connecting to firmware.leipzig.freifunk.net (87.106.71.132:80) Packages.gz 100% |*******************************************************************************************| 24805 --:--:-- ETA Inflating http://firmware.leipzig.freifunk.net/kamikaze/atheros/packages/mips/Packages.gz Updated list of available packages in /var/opkg-lists/freifunk Downloading http://downloads.openwrt.org/kamikaze/8.09.1/atheros/packages/Packages.gz Connecting to downloads.openwrt.org (78.24.191.177:80) Packages.gz 100% |*******************************************************************************************| 141k 00:00:00 ETA Inflating http://downloads.openwrt.org/kamikaze/8.09.1/atheros/packages/Packages.gz Updated list of available packages in /var/opkg-lists/packages
Und schließlich n2n installieren:
root@10-37-0-10:~# opkg install n2n Installing n2n (3667-1) to root... Downloading http://downloads.openwrt.org/kamikaze/8.09.1/atheros/packages/n2n_3667-1_mips.ipk Connecting to downloads.openwrt.org (78.24.191.177:80) n2n_3667-1_mips.ipk 100% |*******************************************************************************************| 35166 00:00:00 ETA Configuring n2n
Damit sollte die Installation abgeschlossen sein.
Konfiguration
IP Adresse
Um an dem VPN teilzunehmen braucht man eine zusätzliche IP-Adresse. Such dir eine noch freie Adresse zwischen 172.22.22.1 und 172.22.22.254 aus, und trage sie in die Tabelle weiter unten ein, damit niemand anders sie benutzt.
Mini-Tutorial für vi
Es müssen ein paar Konfigurationsdateien editiert werden um das VPN einzurichten. Standardmäßig ist nur der Editor vi installiert, der uneingeweihte manchmal überfordert, deswegen hier ein Mini-Tutorial. Eine richtige Einführung findet sich z.B. hier(pdf)
Wenn der Editor startet, befindet man sich im Befehlsmodus. In diesem Modus können, wie der Name schon sagt, Befehle eingetippt werden, aber man kann den Text nicht direkt editieren. Mit der Taste i wechselt man in den Eingabe-Modus – ein I erscheint ganz links unten. Der Cursor selbst bleibt unverändert, aber die Datei sollte sich jetzt "normal" editieren lassen.
Wenn man mit dem editieren fertig ist, wechselt man mit ESC zurück in den Befehlsmodus. Mit dem Befehl :w↵ wird die Datei gespeichert, mit :q!↵ der Editor beendet.
n2n-Konfiguration
Jetzt konfigurieren wir das VPN selbst. Alle nötigen Einstellungen sind in der Datei /etc/config/n2n zu finden
root@10-37-0-10:~# vi /etc/config/n2n
Die Datei sollte am Schluss wie folgt aussehen (x entsprechend deiner gewählten IP-Adresse ersetzen):
Achtung: Die Einstellungen sind noch nicht final und können sich ändern. Falls das passiert, musst du sie wahrscheinlich nochmal anpassen.
config edge option ipaddr '172.22.22.x' option supernode 'iknimaya.dyndns.org' option port '8718' option community 'ffmz' option key 'Gutenberg' option route '0'
Das VPN soll außerdem automatisch gestartet werden, wenn der Router bootet:
root@10-37-0-10:~# /etc/init.d/n2n enable
olsr-Konfiguration
Das VPN ist konfiguriert, aber wir müssen OLSR noch so einstellen, dass es auch verwendet wird. Außerdem sollen Routen über WLAN solchen über VPN vorgezogen werden.
Hierzu fügen wir der Datei /etc/config/olsrd folgenden Abschnitt hinzu:
config 'Interface' option 'Interface' 'edge0' option 'HelloInterval' '10.0' option 'HelloValidityTime' '900.0' option 'TcInterval' '30.0' option 'TcValidityTime' '2700.0' option 'MidInterval' '150.0' option 'MidValidityTime' '2700.0' option 'HnaInterval' '150.0' option 'HnaValidityTime' '900.0' option 'Ip4Broadcast' '255.255.255.255' option 'LinkQualityMult' 'default 0.1' option 'ignore' '0'
Firewall-Konfiguration
Um die Firewall zu konfigurieren müssen wir zunächst ein zusätzliches Interface für das VPN definieren, indem wir folgendes an die Datei /etc/config/network anhängen:
config 'interface' 'ffmzvpn' option 'ifname' 'edge0' option 'proto' 'static' option 'ipaddr' '172.22.22.x' option 'netmask' '255.255.255.0'
Jetzt noch diesem Interface die Freifunk-Zone zuweisen. Dazu sucht man in /etc/config/firewall nach dem "zone"-Abschnitt für die Freifunk-Zone und fügt hinter option 'network' das neue Interface hinzu:
config 'zone' option 'masq' '1' option 'input' 'REJECT' option 'forward' 'REJECT' option 'name' 'freifunk' option 'output' 'ACCEPT' option 'network' 'wifi0 ffmzvpn'
Neustart
Um die Konfiguration wirksam zu machen, müssen die entsprechenden Dienste (neu)gestartet werden. Am einfachsten geht das indem man kurzerhand den Router neu bootet:
root@Iknimaya:/# reboot
Nachdem der Router wieder hochgefahren ist, sollten im Webinterface nach ein paar Minuten andere Freifunk-Knoten sichtbar werden.
Portweiterleitung
Bei dieser Sektion ist noch nicht 100%ig sicher, ob sie korrekt ist.
Obwohl n2n auch ohne Port-Weiterleitung funktioniert, verursacht das bei dem Teilnehmer der die Supernode (das Zentrum) des VPN betreibt mehr traffic. Daher solltet ihr sicherstellen, dass Port 8718 des Freifunk-Routers aus dem Internet erreichbar ist.
IP Adressen
Wir verwenden Adressen im Bereich von 172.22.22.1 bis 172.22.22.254 für das VPN.
Bisher belegte Adressen:
VPN IP-Addresse | Freifunk-IP | Kontakt | Kommentar |
---|---|---|---|
172.22.22.1 | 10.37.0.10 | JoH | Supernode |