Privates VPN mit fastd: Unterschied zwischen den Versionen
(Über das Freifunk Netzwerk auf das eigene Netzwerk zugreifen. Kleines Howto.) |
(Ein wenig erklärt.) |
||
Zeile 1: | Zeile 1: | ||
− | + | Um aus dem Freifunk auf dein privates Netzwerk zugreifen zu können ist nicht besonders viel Arbeit notwendig. | |
− | Um aus dem Freifunk | ||
− | Zu erst installieren wir auf unserem Desktop fastd und gehen wir folgt vor. | + | Zu erst installieren wir auf unserem Desktop fastd und gehen wir folgt vor. |
= Vorbereitung = | = Vorbereitung = | ||
− | + | Wir erstellen uns zwei asymetrische Schlüssel für fastd. | |
Ob wir dies auf unserem Desktop oder Router machen ist vollkommen egal. Gespeichert wird hier noch nichts. | Ob wir dies auf unserem Desktop oder Router machen ist vollkommen egal. Gespeichert wird hier noch nichts. | ||
Zeile 89: | Zeile 88: | ||
brctl addif br-wan privatesVPN | brctl addif br-wan privatesVPN | ||
"; | "; | ||
− | </pre | + | </pre> |
= Starten von fastd = | = Starten von fastd = | ||
Zeile 108: | Zeile 107: | ||
= Weiterführendes = | = Weiterführendes = | ||
+ | |||
+ | == Erklärung der configs == | ||
+ | |||
+ | === Desktop === | ||
+ | |||
+ | <pre> | ||
+ | interface "privatesVPN"; | ||
+ | </pre> | ||
+ | Name des neuen Interfaces. Wird hier nichts definiert, erstellt fastd einfach eines mit dem Namen "tap0". | ||
+ | |||
+ | |||
+ | <pre> | ||
+ | mode tap; | ||
+ | </pre> | ||
+ | tap: VPN auf Layer 2. (MAC Adressen) | ||
+ | |||
+ | tun: VPN auf Layer 3. (IP-Adressen) | ||
+ | |||
+ | |||
+ | <pre> | ||
+ | method "xsalsa20-poly1305"; | ||
+ | </pre> | ||
+ | Verschlüsselungsalgorithmus. | ||
+ | |||
+ | |||
+ | <pre> | ||
+ | mtu 1426; | ||
+ | </pre> | ||
+ | Maximum Transfer Unit. Evtl. wäre ein geringerer Wert sinnvoll. Kenne mich aber zu wenig aus. | ||
+ | |||
+ | |||
+ | <pre> | ||
+ | secret "18a8020a5a14f730d035cb692bce1972ff9bec29fa33286c8a60e9f420ff3251"; #Private Key 1 | ||
+ | </pre> | ||
+ | Privater Schlüssel. | ||
+ | |||
+ | |||
+ | <pre> | ||
+ | peer "FreifunkRouter" { | ||
+ | remote ipv6 "fda1:384a:74de:4242:6670:2ff:fef7:3ef6" port 13337; #IPv6 d. Routers | ||
+ | key "4d81ecb7563d85062572e40403f39dd1cbd511c516d8fc77466ef8f630f178c7"; #Puplic Key 2 | ||
+ | } | ||
+ | </pre> | ||
+ | Server des fastd VPN. | ||
+ | In der config gibt es keine richtige definition, welcher Teilnehmer Server oder Client ist. | ||
+ | |||
+ | Der Einzige unterschied besteht darin, dass auf der Clientseite die IP-Adresse und der Port des fastd Servers definiert werden müssen. | ||
+ | |||
+ | |||
+ | <pre> | ||
+ | on up " | ||
+ | ip link set up $INTERFACE | ||
+ | "; | ||
+ | </pre> | ||
+ | Hier können Befehle definiert werden, die nach start von fastd ausgeführt werden sollen. | ||
+ | |||
+ | |||
+ | <pre> | ||
+ | on establish " | ||
+ | dhclient privatesVPN | ||
+ | ip route add default via 192.168.178.1 #Privates GW | ||
+ | "; | ||
+ | </pre> | ||
+ | Die hier definierten Befehle werden erst nach dem Aufbau der VPN Verbindung ausgeführt. | ||
+ | |||
+ | Hier holt sich der Desktop über das aufgebaute Interface eine IP-Adresse und definiert deinen Lan-Gateway zum Standard. | ||
+ | |||
+ | |||
+ | === Server === | ||
+ | Die config ist ziemlich gleich aufgebaut. | ||
+ | |||
+ | <pre> | ||
+ | on up " | ||
+ | ip link set up $INTERFACE | ||
+ | brctl addif br-wan privatesVPN | ||
+ | "; | ||
+ | </pre> | ||
+ | Der einzige große unterschied besteht darin, dass beim starten von fastd das neue Interface mit dem WAN-Interface des Freifunk Routers gebridged wird. | ||
+ | |||
+ | D.h. alle Pakete, die eurer Desktop an das "privatesVPN" Interface schickt, landen bei euch zuhause im Lan. | ||
+ | |||
+ | |||
== Wurde fastd gestartet? == | == Wurde fastd gestartet? == | ||
<pre> | <pre> | ||
Zeile 113: | Zeile 194: | ||
</pre> | </pre> | ||
Lauscht hier ein fastd auf Port 13337, kann davon ausgegangen werden das fastd noch läuft. | Lauscht hier ein fastd auf Port 13337, kann davon ausgegangen werden das fastd noch läuft. | ||
+ | |||
== Vorteile == | == Vorteile == | ||
− | 1. Dein Traffic wird verschlüsselt bis zu dir nach Hause übertragen. | + | '''1. Dein Traffic wird verschlüsselt bis zu dir nach Hause übertragen.''' |
− | 2. Du entlastest die Gateways der Freifunk Community. | + | |
+ | Weder die Betreiber der Freifunk Gateways noch die anonymisierungs Provider, durch die wir den Traffic leiten, kann nun in deinen Traffic schauen. | ||
+ | |||
+ | '''2. Du entlastest die Gateways der Freifunk Community.''' | ||
+ | |||
+ | Wenn du dich im Funkgebiet deiner eigenen Freifunkwolke aufhältst, wird der Traffic nicht mehr durch die Gateways geleitet. | ||
+ | |||
+ | Damit entlastet du sowohl unsere Server, als auch die anonymisierungs Provider, für die wir finanziell aufkommen müssen. | ||
+ | |||
+ | '''3. Kein eigenes Wlan mehr nötig''' | ||
+ | |||
+ | Theoretisch kannst du nun dein eigenes Wlan abschalten. | ||
+ | |||
+ | Sobald du dich in deiner Freifunkwolke befindest und den fastd Tunnel anschaltest, routet dein Freifunkrouter den Traffic in dein Lan, als würdest du dich in deinem alten Wlan Netzwerk befinden. |
Version vom 27. August 2013, 12:54 Uhr
Um aus dem Freifunk auf dein privates Netzwerk zugreifen zu können ist nicht besonders viel Arbeit notwendig.
Zu erst installieren wir auf unserem Desktop fastd und gehen wir folgt vor.
Vorbereitung
Wir erstellen uns zwei asymetrische Schlüssel für fastd. Ob wir dies auf unserem Desktop oder Router machen ist vollkommen egal. Gespeichert wird hier noch nichts.
# fastd --generate-key 2013-08-27 09:46:23 +0200 --- Info: Reading 32 bytes from /dev/random... Secret: 18a8020a5a14f730d035cb692bce1972ff9bec29fa33286c8a60e9f420ff3251 Public: 2846f379829d8008686ed65b7592619cf8adc50872d0db09afe92108e38623a2
# fastd --generate-key 2013-08-27 09:47:09 +0200 --- Info: Reading 32 bytes from /dev/random... Secret: e016583533920f5633df2b0fc8dba4666392c93c43bf009d96c70eb7d7da986d Public: 4d81ecb7563d85062572e40403f39dd1cbd511c516d8fc77466ef8f630f178c7
Danach muss die IPv6-Adresse des Freifunk Routers notiert werden. Dafür müssen wir uns auf dem Freifunkrouter einloggen.
# ifconfig br-freifunk br-freifunk Link encap:Ethernet HWaddr 64:70:02:F7:3E:F6 inet6 addr: fda1:384a:74de:4242:6670:2ff:fef7:3ef6/64 Scope:Global inet6 addr: fe80::6670:2ff:fef7:3ef6/64 Scope:Link ...
Erstellen der configs
Mithilfe dieser 2 Schlüssel und der IPv6 legen wir nun folgende Configs an.
ACHTUNG: Werden die Keys aus diesem Beispiel 1 zu 1 übernommen, kann sich jeder in eurer privates Netzwerk einloggen! Also bitte erst den Punkt "Vorbereitung" durchgehen und die selbst generierten Keys verwenden.
Die 192.168.178.1 in der Config für den Desktop stellt mein privates Fritzbox Lan Gateway dar. Je nach Netzwerk muss hier 192.168.0.1, 192.168.1.1 oder evtl. etwas ganz anderes rein.
Config für den Desktop:
/etc/fastd/priv_vpn_desktop.conf
interface "privatesVPN"; mode tap; method "xsalsa20-poly1305"; mtu 1426; secret "18a8020a5a14f730d035cb692bce1972ff9bec29fa33286c8a60e9f420ff3251"; #Private Key 1 peer "FreifunkRouter" { remote ipv6 "fda1:384a:74de:4242:6670:2ff:fef7:3ef6" port 13337; #IPv6 d. Routers key "4d81ecb7563d85062572e40403f39dd1cbd511c516d8fc77466ef8f630f178c7"; #Puplic Key 2 } on up " ip link set up $INTERFACE "; on establish " dhclient privatesVPN ip route add default via 192.168.178.1 #Privates GW ";
Config auf dem Router:
/etc/fastd/priv_vpn_router.conf
interface "privatesVPN"; bind any:13337; mode tap; method "xsalsa20-poly1305"; mtu 1426; secret "e016583533920f5633df2b0fc8dba4666392c93c43bf009d96c70eb7d7da986d"; #Private Key 2 peer "Desktop" { key "2846f379829d8008686ed65b7592619cf8adc50872d0db09afe92108e38623a2"; #Puplic Key 1 } on up " ip link set up $INTERFACE brctl addif br-wan privatesVPN ";
Starten von fastd
Dazu loggen wir uns per SSH auf dem Router ein.
fastd -c /etc/fastd/priv_vpn_router.conf -d
Fastd wird nun im Hintergrund ausgeführt.
Auf dem Desktop:
fastd -c /etc/fastd/priv_vpn_desktop.conf
Ab jetzt können wir im gesamten Freifunk Netzwerk über unsere eigene DSL-Leitung surfen.
Weiterführendes
Erklärung der configs
Desktop
interface "privatesVPN";
Name des neuen Interfaces. Wird hier nichts definiert, erstellt fastd einfach eines mit dem Namen "tap0".
mode tap;
tap: VPN auf Layer 2. (MAC Adressen)
tun: VPN auf Layer 3. (IP-Adressen)
method "xsalsa20-poly1305";
Verschlüsselungsalgorithmus.
mtu 1426;
Maximum Transfer Unit. Evtl. wäre ein geringerer Wert sinnvoll. Kenne mich aber zu wenig aus.
secret "18a8020a5a14f730d035cb692bce1972ff9bec29fa33286c8a60e9f420ff3251"; #Private Key 1
Privater Schlüssel.
peer "FreifunkRouter" { remote ipv6 "fda1:384a:74de:4242:6670:2ff:fef7:3ef6" port 13337; #IPv6 d. Routers key "4d81ecb7563d85062572e40403f39dd1cbd511c516d8fc77466ef8f630f178c7"; #Puplic Key 2 }
Server des fastd VPN. In der config gibt es keine richtige definition, welcher Teilnehmer Server oder Client ist.
Der Einzige unterschied besteht darin, dass auf der Clientseite die IP-Adresse und der Port des fastd Servers definiert werden müssen.
on up " ip link set up $INTERFACE ";
Hier können Befehle definiert werden, die nach start von fastd ausgeführt werden sollen.
on establish " dhclient privatesVPN ip route add default via 192.168.178.1 #Privates GW ";
Die hier definierten Befehle werden erst nach dem Aufbau der VPN Verbindung ausgeführt.
Hier holt sich der Desktop über das aufgebaute Interface eine IP-Adresse und definiert deinen Lan-Gateway zum Standard.
Server
Die config ist ziemlich gleich aufgebaut.
on up " ip link set up $INTERFACE brctl addif br-wan privatesVPN ";
Der einzige große unterschied besteht darin, dass beim starten von fastd das neue Interface mit dem WAN-Interface des Freifunk Routers gebridged wird.
D.h. alle Pakete, die eurer Desktop an das "privatesVPN" Interface schickt, landen bei euch zuhause im Lan.
Wurde fastd gestartet?
netstat -tulpen
Lauscht hier ein fastd auf Port 13337, kann davon ausgegangen werden das fastd noch läuft.
Vorteile
1. Dein Traffic wird verschlüsselt bis zu dir nach Hause übertragen.
Weder die Betreiber der Freifunk Gateways noch die anonymisierungs Provider, durch die wir den Traffic leiten, kann nun in deinen Traffic schauen.
2. Du entlastest die Gateways der Freifunk Community.
Wenn du dich im Funkgebiet deiner eigenen Freifunkwolke aufhältst, wird der Traffic nicht mehr durch die Gateways geleitet.
Damit entlastet du sowohl unsere Server, als auch die anonymisierungs Provider, für die wir finanziell aufkommen müssen.
3. Kein eigenes Wlan mehr nötig
Theoretisch kannst du nun dein eigenes Wlan abschalten.
Sobald du dich in deiner Freifunkwolke befindest und den fastd Tunnel anschaltest, routet dein Freifunkrouter den Traffic in dein Lan, als würdest du dich in deinem alten Wlan Netzwerk befinden.