Tinc-VPN

Aus Freifunk Hannover

Die Grund der Einführung eines neuen VPNs auf Basis von tinc, ist die besser Ausfallsicherheit, da tinc wie etwa OLSR ein vermaschtes Netz bildet. Im Moment läuft das tinc-Netz noch im Testbetrieb um erstmal herauszufinden, ob und wie alles funktioniert und wie wir die Konfiguration noch vereinfachen können.

Inhaltsverzeichnis

Vor- und Nachteile

Der entscheidende Vorteil ist natürlich die größere Ausfallsicherheit gegenüber dem OpenVPN mit seinem zentralen Hauptserver. Leider bringt tinc auch einige Nachteile. Es wird wohl zu einem erhöhten Hauptspeicherverbrauch führen, normale PCs sind davon wohl eher nicht betroffen, aber bei einem WRT könnte es zu Problemen führen, dass muss noch getestet werden.

Einrichten

Diese Anleitung ist noch Work-In-Progress!

Nach dem installieren von tinc müssen wir zu erst den Ordner für die Konfigurationsdateien anlegen:

mkdir -p /etc/tinc/ffh/hosts

Dann müssen wir die tinc.conf anlegen:

vi /etc/tinc/ffh/tinc.conf

Und mit diesem Inhalt befüllen. $NODENAME natürlich durch den Hostname eures Routers ersetzen:

Name=$NODENAME
AddressFamily=ipv4
Device=/dev/net/tun
Interface=ffh_tinc
Mode=switch
ConnectTo=ffh
ConnectTo=lotho
ConnectTo=bueschu

Nun müssen wir noch ein Script schreiben und natürlich auch ausführbar machen, dass der tinc nach seinem starten ausführt:

vi /etc/tinc/ffh/tinc-up

Und jetzt mit Inhalt füllen ($IP musste du durch eine IP-Adresse ersetzen, such dir einfach eine die noch nicht belegt ist, dafür einfach weiter unten schauen welche belegt ist):

#!/bin/sh
/sbin/ifconfig $INTERFACE $IP/25

So nun ist es Zeit den Key zu generieren, das kann jetzt eine Weile dauern:

tincd -n ffh --generate-keys=2048

Einbindung in den Router

Fonera

Netzwerkeinbindung

unten anhängen in /etc/config/network

config 'interface' 'vpn'
        option 'proto' 'static'
        option 'ifname' 'ffh_tinc'
        option 'ipaddr' '<deineTincIP>'
        option 'defaultroute' '0'
        option 'peerdns' '0'
        option 'netmask' '255.255.255.0'

Anhängen an /etc/config/olsrd

config 'Interface'
        option 'ignore' '0'
        option 'interface' 'ffh_tinc'
        option 'LinkQualityMult' 'default 0.5'

Zum Autostart einfügen in /etc/rc.local

tincd -n ffh

OpenWRT Kamikaze

Tinc installieren

opkg update
opkg install tinc

Ordner anlegen

mkdir -p /etc/tinc/ffh/hosts

In den Ordner /etc/tinc/ffh/hosts kommen die Public Keys aller Nodes mit denen du Verbindung aufnehmen willst. Jetzt legen wir die Configfiles an:

vi /etc/tinc/ffh/tinc-up

Mit i gelangt man in den Insertmodus und gibt folgendes ein:

#!/bin/sh
/sbin/ifconfig ffh_tinc <deineneueTincIP>/25

<deineneueTincIP> ist durch selbige zu ersetzen. Speichern mit Esc :qw

vi /etc/tinc/ffh/tinc.conf

Mit i gelangt man in den Insertmodus und gibt folgendes ein:

Name=<deinHostname>
AddressFamily=ipv4
Device=/dev/net/tun
Interface=ffh_tinc
Mode=switch
ConnectTo=ffh
ConnectTo=lotho
ConnectTo=bueschu

<deinHostname> ist durch selbigen zu ersetzen. Speichern mit Esc :qw Jetzt die Keys generieren:

tincd -n ffh --generate-keys=2048

Auf die beiden Abfragen jeweils mit Enter antworten. Die Datei /etc/tinc/ffh/hosts/<deinHostname> enthält jetzt deinen Public Key. Schau ihn dir mit

cat /etc/tinc/ffh/hosts/<deinHostname>

an und poste ihn im Wiki.

Einbindung in den OLSRD:

Netzwerkeinbindung

unten anhängen in /etc/config/network

config 'interface' 'vpn'
        option 'proto' 'static'
        option 'ifname' 'ffh_tinc'
        option 'ipaddr' '<deineTincIP>'
        option 'defaultroute' '0'
        option 'peerdns' '0'
        option 'netmask' '255.255.255.0'

Anhängen an /etc/config/olsrd

config 'Interface'
        option 'interface' 'vpn'
        option 'ignore' '0'
        option 'LinkQualityMult' '10.2.255.1 0.5'
        option 'Ip4Broadcast' '10.2.255.255'


Wenn du möchtest das Tinc beim Routerstart automatisch mitgestartet hänge folgendes hinten an die /etc/rc.local an:

tincd -c /etc/tinc/ffh

Existierende Nodes

Node VPN-IP Public IP bzw. DynDNS Admin
ffh 10.2.255.130 vpn.hannover.freifunk.net knox
lotho 10.2.255.131 lotho.ath.cx lotho
trillian 10.2.255.132 maus-schuppser.dyndns.org rek
toxxic 10.2.255.133 keine EInwahl toxxic
GW62 10.2.255.134 keine Einwahl toxxic
AP62 10.2.255.135 keine Einwahl toxxic
bsv 10.2.255.136 gw641.homelinux.org bassslave
GW65 10.2.255.137 keine Einwahl toxxic
GW31 10.2.255.139 keine Einwahl toxxic
frei 10.2.255.140 --- ---
frei 10.2.255.141 --- ---
frei 10.2.255.142 --- ---
bueschu 10.2.255.143 toxxic/lotho/knox

Public Keys

Für alle der folgende Teilnehmer ist je eine Datei mit dem jeweiligen Inhalt im hosts-Verzeichnis anzulegen (z.b. /etc/tinc/hosts/lotho)

Wenn du bereits Verbindung mit dem Freifunk Netz hast kannst du dir die aktuellen Tinc Keys hier herunterladen: http://10.2.254.1/install/tinc

Nach dem runetrladen auf dem Router entpacken mit

tar -xzvf hosts.tar.gz 

lotho

Address=lotho.ath.cx
Port=656
-----BEGIN RSA PUBLIC KEY-----
MIIBCgKCAQEA0+TUtZhScPQDrE9NtPGmeHFi8whfxc0yFJFjdmdqytzcatewdi3B
QoDZngX+ywUR3Rs+Vv3Q/1O9D9RFARTVz6wtQl/JW1C84Iw2iIB2rbUmPU5dmQUY
b9CxPCIiJKnzc0np4tTX5kDqFnuSzRYyCariOg3olw4UzUbWeVuvwivrFwhm87KH
+N0dcdtPbz5UTAZfpCColib2Y8ZCrQZlpR0COTeyC3PzCIEiRvhROFwM8vqP3fgN
Ox7C2b3Jji2W410gtfHTE0Ba65OAwJA7xIPTHCYhofVbnRUp2m5SImeOWl85I5pz
/9ztON1Y/PBIgOzzyYrDSzEzDLuiWzkwSwIDAQAB
-----END RSA PUBLIC KEY-----

ffh

Address = vpn.hannover.freifunk.net
Port=656
-----BEGIN RSA PUBLIC KEY-----
MIIBCgKCAQEAmlh+zOwMlLhd1yaC4IE+3jA8+LZBBLF6avCzy2TjUpC04lt8/3gN
d4eEPeoBzl7z3A8a1L1ralTUKLxFJRoxTOUgfCMZKs3Q8R6jwW7+psKbGbcinngk
+LSsd5ZnQAhjQxV58xUfSzqK7DBKqEFvagsLzTNLD+4D9w+VsMf/sXgXdYADg4BA
iQ7XR7r2uKRWrFshUmn9lgtFww5k/WvrPgiEl0t7uE2S3dlQ+9SS+ZH0gdjOHBye
OyF8KcndRNfZGe6DeaAHIvnTCNKYJBEgf8qygKcAGOVq7XtDm51VcAX0A+2g2i2J
CSN1B1NXyzu9VHrBvYB2A3iSJem1i6wXiQIDAQAB
-----END RSA PUBLIC KEY-----



bueschu

Address=62.48.74.110
Port=656
TCPOnly=yes
Subnet=10.2.255.143/32
-----BEGIN RSA PUBLIC KEY-----
MIIBCgKCAQEAtPFdHvl6gaskgVAoiuE9+UKtYExT+noaD9hVmMJnhG15tA9RCI+f
jTXr0Y3KsFFfGmf5cwyp2XrO+V0KNlbVCX9jvPpjzT3bkYBD39HHVV+lu1TmhxfU
CEEdZEmGFOL1d3oKq6ysKtjvCw6JbKGUIcEyqnHlU6AwcvqESEyigPrqutYht4XX
Ebzh50GuSHuJemJGSsplti6ib0qTss25YgJGGZXXkkCBqnbkHGQGWTGbLSinEYuq
Q0DJfgfSq7q6hs3qarEB4xgd5/KuOUMRIBssEH967aVSOMwNcdeeg38VR/d/zp5k
mJNKeX7HrobJ0T7e6SH22YTJ5rFCDqkAcQIDAQAB
-----END RSA PUBLIC KEY-----

toxxic

Address=toxxic.dyndns.org
Port=656
Subnet=10.2.255.133/32
-----BEGIN RSA PUBLIC KEY-----
MIIBCgKCAQEAv+aw0lz16dDVPC4AEwSFkDvhsvL+U/uxTJ8s1y2K+S1PtIXx2YTv
cUfLWYgb21Z4zAdmfernrKS3HLc51ORmmdhBz2f4o5RGt+zPU/5EeUgQqBpPZ+6u
EHMqEPpJ+HWdXoVdrajrEDP9RzAzfFgrB9zEP1SR1iivBLKZuRVKro0rrje+YJdt
3ANZty8Uy9zGrvYaWIc7NRFgT0Jiqdo05LLyODMj3gTH8ayyKwzwoaiGNDoeKieQ
1S/C+6QRP7IvQBonz6y8GUmSGvIPsaTSm8XEERB+n4pmcMpg9OgNvM1QY/sUYqtF
NGQBJrV+yy9//CAhwrRc/N9qdO5+WLtzeQIDAQAB
-----END RSA PUBLIC KEY-----

trillian

Address=maus-schuppser.dyndns.org
Port=656
Subnet=10.2.255.132/32
-----BEGIN RSA PUBLIC KEY-----
MIIBCgKCAQEA1H5lNXx9GKOweZtLg7UoxjxFMx0oVwBzRyreShKAj2vtNW30MFB9
PKq0CFWmPWKhNX6KN1h0HN4ZMVEokN5zwPmLlFyiVq+Al8ERyABc6M4g2/+D2PqH
8QffunDZ43Lkt2zLKYocNnV1+X0gPYgLD5G1wsPA36Trnh+TILuKr2DRUJ+HXy5a
tGwMwHcmwDU35AoEcAvJorS2iUm8wsjexe5V9fr5Ht2pAIhLV+AhpM4yiyVsqKnE
xVbvXzaL+gVlgleflS7Bwi1Rb/tNgJySaHnbn7l1yXoQpOSrDCbCt0Dpm1Ozy+OS
33fF5SsfZikEyj/013JgaHSBcp2HSD7QFwIDAQAB
-----END RSA PUBLIC KEY-----

bsv

Address=gw641.homelinux.org
Port=656
TCPOnly=yes
-----BEGIN RSA PUBLIC KEY-----
MIIBCgKCAQEA5YlCv6p7ceioVagBnKL7zQx0CVsEHWsii511rY/of9571p0l9P9T
J0vPBEsU8XJqOOejihU70a8j+zRcMhduHZHB/Ccwwj6SyhyQVq6XqSbU/AahD2D7
C+1XLHm8elpCLm3LfTzfYYAM+YGm3NeUq47An37FE6pUwKETsaQgSxwsVpFlnuDh
rFgF7VZtooNHF8n6CTozeLrlzWDhMmqDA0ebBowauJsCgKWe2zK6WWy5MSNsoMIO
RCtjAUtkbV1wIkPNmSjXBlH5SPI82berAnHAsKLPyFi1KtGVUK90KVSSJ8YjN8/p
PjNFm0VMHtT/fIlMfivW0UoXMrW+2xq61QIDAQAB
-----END RSA PUBLIC KEY-----
Persönliche Werkzeuge