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-----

