VPN zentral: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
(→Wie) |
|||
Zeile 7: | Zeile 7: | ||
===Wie=== | ===Wie=== | ||
* die Software der Wahl ist [http://vtun.sourceforge.net/ vtun] | * die Software der Wahl ist [http://vtun.sourceforge.net/ vtun] | ||
+ | * unten beschriebene Funktion wird in die Firmware eingebaut und kann per "Mausklick" angeschaltet werden | ||
+ | |||
+ | ===Authenifizierung, Verschluesselung, Kompression=== | ||
* es wird ein unauthentifizierter, unverschluesselter und unkomprimierter Tunnel gegraben | * es wird ein unauthentifizierter, unverschluesselter und unkomprimierter Tunnel gegraben | ||
− | * | + | * Argumente pro offener Tunnel: |
+ | ** das Netz ist sowieso unverschluesselt - wozu also Teilstrecken verschluesseln? | ||
+ | ** wer am Netz teilnehmen moechte, kann das ohne aufwendigen Schluessel/Zertifikats-Austausch | ||
+ | ** Prozessor-Kraft und Speichersparen. vtun braucht nur 60kb Platz. | ||
+ | * Argumente contra offener Tunnel: | ||
+ | ** ? | ||
+ | ** ? | ||
+ | ** ? | ||
===Teilnehmer=== | ===Teilnehmer=== |
Version vom 30. September 2006, 16:47 Uhr
Warum
- Damit alle DSLer einen zusaetzlichen (virtuellen Funk-)Nachbarn bekommen, wird
- ein VPN Router im Internet (=M18) aufgestellt.
- Strecken ueber viele Hops werden dann durch den Tunnel geleitet.
- der Ausdruck VPN - Virtuelles Privates Netzwerk - ist natuerlich etwas irrefuerend, weil der Tunnel nur ein bisschen "Privat" ist - ist schliesslich ein offenes Netzwerk
Wie
- die Software der Wahl ist vtun
- unten beschriebene Funktion wird in die Firmware eingebaut und kann per "Mausklick" angeschaltet werden
Authenifizierung, Verschluesselung, Kompression
- es wird ein unauthentifizierter, unverschluesselter und unkomprimierter Tunnel gegraben
- Argumente pro offener Tunnel:
- das Netz ist sowieso unverschluesselt - wozu also Teilstrecken verschluesseln?
- wer am Netz teilnehmen moechte, kann das ohne aufwendigen Schluessel/Zertifikats-Austausch
- Prozessor-Kraft und Speichersparen. vtun braucht nur 60kb Platz.
- Argumente contra offener Tunnel:
- ?
- ?
- ?
Teilnehmer
- Linksys in der M18 als Server und alle DSLer (ausser die Liszt18a) als Clients
Datenverkehr
- alle Teilnehmer sprechen OLSR ueber den Tunnel
- Datenmenge wird beobachtet. fries43 16:41, 30. Sep 2006 (CEST)
Installation
- Installation mit: ipkg update; ipkg install vtund
- KonfigDatei ist dann /etc/vtund.conf
Konfiguration (Server)
- Server steht in der M18 und ist ein normaler Linksys mit oeffentlicher IP-Adresse
- Freifunk-IP ist die 10.63.254.214 auf dem VPN-Interface
- die Clients sind dann jeweils die 254.41 und 254.82
- Aufruf mit: vtund -s
- Konfigdatei /etc/vtund.conf
default { proto udp; type tun; compress no; encrypt no; keepalive yes; multi yes; stat no; } client0 { passwd bla; device tun0; up { program "ip addr add 10.63.254.214 peer 10.63.254.41 dev %%; ip link set %% mtu 1450 up"; }; } client1 { passwd bla; device tun1; up { program "ip addr add 10.63.254.214 peer 10.63.254.82 dev %%; ip link set %% mtu 1450 up"; }; }
- Konfigdatei /etc/local.olsrd.conf fuer das Interface tun0, die anderen werden entsprechend angehangen
Interface "tun0" { HelloInterval 5.0 HelloValidityTime 90.0 TcInterval 3.0 TcValidityTime 270.0 MidInterval 15.0 MidValidityTime 270.0 HnaInterval 15.0 HnaValidityTime 90.0 Ip4Broadcast 10.63.254.41 }
Konfiguration (Client)
- Client ist jeder Internetuebergabepunkt (z.b. ein DSLer)
- Aufruf mit: vtund vpn 141.54.160.25
client0 { passwd bla; device tun0; persist yes; up { program "ip addr add dev %% 10.63.254.41 peer 10.63.254.214; ip link set %% mtu 1450 up"; }; }
- Konfigdatei /etc/local.olsrd.conf
Interface "tun0" { HelloInterval 5.0 HelloValidityTime 90.0 TcInterval 3.0 TcValidityTime 270.0 MidInterval 15.0 MidValidityTime 270.0 HnaInterval 15.0 HnaValidityTime 90.0 Ip4Broadcast 10.63.254.214 LinkQualityMult 10.63.254.214 0.1 }
Skript bzw. fertiges Programm
- nach /etc/init.d/S52.weimarnetz.vpn_starten kopieren...
#!/bin/sh THIS="$(nvram get wifi_ipaddr|cut -d'.' -f3)" OLSR="/etc/local.olsrd.conf" CFG="/etc/vtund.conf" VPN="10.63.254" SRV="214" LST="41 82 42 37 62 54 135 87 1" # 0) 41 jens/rembrandt # 1) 82 jakob2a # 2) 42 kraska # 3) 37 lennerhardt/wbode13 # 4) 62 trierer65 # 5) 54 kunstturm # 6) 135 saxman/schwansee # 7) 87 alfi/weimarwest # 8) 1 liszt18a # 9) ????? CNT="-1" rm $OLSR rm $CFG killall vtund if [ "$THIS" = "214" ] then echo >$CFG "default {" echo >>$CFG " proto udp;" echo >>$CFG " type tun;" echo >>$CFG " compress no;" echo >>$CFG " encrypt no;" echo >>$CFG " keepalive yes;" echo >>$CFG " multi yes;" echo >>$CFG " stat no;" echo >>$CFG "}" for CLIENT in $LST do let CNT+=1 echo >>$CFG "client$CNT {" echo >>$CFG " passwd bla;" echo >>$CFG " device tun$CNT;" echo >>$CFG " up {" echo >>$CFG " program \"ip addr add $VPN.$THIS peer $VPN.$CLIENT dev %%; ip link set %% mtu 1450 up\";" echo >>$CFG " };" echo >>$CFG "}" echo >>$OLSR "Interface \"tun$CNT\"" echo >>$OLSR "{" echo >>$OLSR "HelloInterval 5.0" echo >>$OLSR "HelloValidityTime 90.0" echo >>$OLSR "TcInterval 3.0" echo >>$OLSR "TcValidityTime 270.0" echo >>$OLSR "MidInterval 15.0" echo >>$OLSR "MidValidityTime 270.0" echo >>$OLSR "HnaInterval 15.0" echo >>$OLSR "HnaValidityTime 90.0" echo >>$OLSR " " echo >>$OLSR "Ip4Broadcast $VPN.$CLIENT" echo >>$OLSR "}" #iptables -I POSTROUTING -t nat -o tun$CNT -j MASQUERADE done vtund -s else CNT=0;for IP in $LST;do if [ "$IP" = "$THIS" ];then NUMMER=$CNT;fi;let CNT+=1;done echo >$CFG "client$NUMMER {" echo >>$CFG " passwd bla;" echo >>$CFG " device tun$NUMMER;" echo >>$CFG " persist yes;" echo >>$CFG " up {" echo >>$CFG " program \"ip addr add dev %% $VPN.$THIS peer $VPN.$SRV; ip link set %% mtu 1450 up\";" echo >>$CFG " };" echo >>$CFG "}" echo >>$OLSR "Interface \"tun$NUMMER\"" echo >>$OLSR "{" echo >>$OLSR "HelloInterval 5.0" echo >>$OLSR "HelloValidityTime 90.0" echo >>$OLSR "TcInterval 3.0" echo >>$OLSR "TcValidityTime 270.0" echo >>$OLSR "MidInterval 15.0" echo >>$OLSR "MidValidityTime 270.0" echo >>$OLSR "HnaInterval 15.0" echo >>$OLSR "HnaValidityTime 90.0" echo >>$OLSR " " echo >>$OLSR "Ip4Broadcast $VPN.214" echo >>$OLSR "LinkQualityMult $VPN.214 0.1" echo >>$OLSR "}" vtund client$NUMMER 141.54.160.25 fi sleep 120