Mainz/VPN

Aus wiki.freifunk.net
Zur Navigation springenZur Suche springen

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