Änderungen

Zur Navigation springen Zur Suche springen
2.938 Bytes hinzugefügt ,  22:22, 29. Nov. 2011
Zeile 1: Zeile 1:  +
{{Ueberarbeiten|IP-schemaaenderung, Passwort, "device" beim Server}}
 +
{{TOCRight}}
 +
 
===Warum===
 
===Warum===
 
* Damit alle DSLer einen zusaetzlichen (virtuellen Funk-)Nachbarn bekommen, wird
 
* Damit alle DSLer einen zusaetzlichen (virtuellen Funk-)Nachbarn bekommen, wird
* ein VPN Router im Internet (=M18) aufgestellt.
+
* ein VPN Router im Internet (Rootserver in Berlin) aufgestellt.
 
* Strecken ueber viele Hops werden dann durch den Tunnel geleitet.
 
* 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
 
* der Ausdruck VPN - Virtuelles Privates Netzwerk - ist natuerlich etwas irrefuerend, weil der Tunnel nur ein bisschen "Privat" ist - ist schliesslich ein offenes Netzwerk
 +
* Netzwerkverkehr ins Internet wird für alle Teilnehmer über den Rootserver geleitet. Zum Einen bietet das den Vorteil, dass man nicht mehr das Problem der wechselnden Einspeiser hat und zum Anderen werden die Einspeiser aus der Schusslinie genommen
 +
 +
===Veranschaulichung===
 +
[[Bild:Vpn_zentral.png|200px]]
    
===Wie===
 
===Wie===
Zeile 28: Zeile 35:     
===Teilnehmer===
 
===Teilnehmer===
* ca. 10 Teilnehmer
+
* jeder Einspeiser wählt meldet sich beim Rootserver an, danach erfolgt die Neukonfiguration der OLSR- und vtun-Einstellungen und die Verbindgung kann aufgebaut werden
* Linksys in der M18 als Server und alle DSLer (ausser die Liszt18a) als Clients
+
* Rootserver und alle Einspeiser als Clients
 +
* Verbindungen zu benachbarten Freifunkcommunities bestehen am Rootserver (per bgp)
    
===Datenverkehr===
 
===Datenverkehr===
 
* alle Teilnehmer sprechen OLSR ueber den Tunnel
 
* alle Teilnehmer sprechen OLSR ueber den Tunnel
 +
* jeder Client verursacht <2.5kb/s konstanten upload (nur OLSR, keine Nutzdaten) (140 Netzknoten)
 +
** entspricht 200mb/Tag bzw. 6gig/monat
 
* bei 7 Clients fallen ca. 40 Kilobyte/Sekunde eingehend und nochmal genausoviel ausgehender Verkehr auf dem Server an
 
* bei 7 Clients fallen ca. 40 Kilobyte/Sekunde eingehend und nochmal genausoviel ausgehender Verkehr auf dem Server an
 
** Betrachtet wird nun der Serverupload, downstream ist nochmal genausoviel:
 
** Betrachtet wird nun der Serverupload, downstream ist nochmal genausoviel:
Zeile 39: Zeile 49:  
* das starke Trafficaufkommen haengt mit dem [http://olsrd.cvs.sourceforge.net/olsrd/olsrd-current/README-Link-Quality-Fish-Eye.txt?view=markup Fisheye-Routing] zusammen,bei dem direkte Nachbarn haeufiger Daten austauschen als weiter entfernte.
 
* das starke Trafficaufkommen haengt mit dem [http://olsrd.cvs.sourceforge.net/olsrd/olsrd-current/README-Link-Quality-Fish-Eye.txt?view=markup Fisheye-Routing] zusammen,bei dem direkte Nachbarn haeufiger Daten austauschen als weiter entfernte.
   −
===Installation===
+
===Installation auf dem Router===
 
*Installation mit: <tt>ipkg update; ipkg install vtund</tt>
 
*Installation mit: <tt>ipkg update; ipkg install vtund</tt>
 
*KonfigDatei ist dann <tt>/etc/vtund.conf</tt>
 
*KonfigDatei ist dann <tt>/etc/vtund.conf</tt>
 +
 +
    
===Konfiguration (Server)===
 
===Konfiguration (Server)===
* Server steht in der M18 und ist ein normaler Linksys mit oeffentlicher IP-Adresse (http://141.54.160.25:8080)
+
* wird von [[VPN_zentral-Server-skript|diesem Skript]] erledigt
* [[IP-System_umstellen|Freifunk-Server-IP]] ist die 10.63.254.254..253..252..251... auf dem VPN-Interface
+
* Server steht im Freifunkrechenzentrum in Berlin
* Aufruf mit: <tt>vtund -s</tt> , Konfigdatei <tt>/etc/vtund.conf</tt> (im Beispiel mit nur 2 Clients)
+
* [[IP-System_umstellen|Freifunk-Server-IP]] ist die 10.63.1.1 auf dem VPN-Interface. Für jeden Teilnehmer wird ein eigenes Netz bestehende aus zwei Adressen auf einem eigenen Interface angelegt.
 +
* Aufruf mit: <tt>vtund -s</tt> , Konfigdatei <tt>/etc/vtund.conf</tt>  
 +
* Auf dem Server laufen zwei Instanzen von vtun:
 +
** die Erste für Clients mit integrierter Verschlüsselung und Komprimierung (diese wird standardmäßig nicht genutzt) auf Port 5000
 +
** die Zweite für Clients ohne Verschlüsselung und Kompromierung (deutlich kleinere Binarys) auf Port 5001
 +
 
 +
===Konfiguration (Client)===
 +
* Client ist jeder UpLink ins Internet bzw. ein belieber PC mit Internetzugang
 +
 
 +
* Lokales Interface mit IP-Adresse belegen (Knotennummer vorher registrieren! -> "Router")
 +
* In diesem Beispiel ist die KNOTENNUMMER die '''244''' - entsprechend ersetzen!
 +
<pre>
 +
ip addr add dev eth0 104.63.244.1/28 broadcast 104.63.244.15 label eth0:0
 +
</pre>
 +
 
 +
* Programm '''vtun''' installieren
 +
* Konfigdatei <tt>/etc/vtund.conf</tt> anpassen
 +
* Aufruf mit: <tt>vtund verbindungsname 87.118.106.19</tt>
 +
* Test: laesst sich die Gegenstelle pingen? (10.63.244.254)
 +
* Test: was sagt ein <tt>tail -f /var/log/daemon.log</tt> ?
 
<pre>
 
<pre>
default { proto tcp; type ether; compress no; encrypt no; keepalive no; multi yes; stat no; }
+
verbindungsname { passwd bla; type ether; persist yes;
m18---rembrandtweg { passwd bla; device tap0; speed 0;
+
  up { program "ip addr add dev %% 10.63.244.253/30 brd 10.63.244.255; ip link set %% mtu 1450 up"; }; }
  up { program "ip addr add dev %% 10.63.254.254/16 brd 10.255.255.255; ip link set %% mtu 1500 up"; }; }
  −
m18---jakob2a { passwd bla; device tap1; speed 0;
  −
up { program "ip addr add dev %% 10.63.254.253/16 brd 10.255.255.255; ip link set %% mtu 1500 up"; }; }
   
</pre>
 
</pre>
   −
* Konfigdatei <tt>/etc/local.olsrd.conf</tt> fuer das Interface tun0, die anderen werden entsprechend angehangen
+
* Programm '''olsrd''' von olsr.org muss installiert sein
 +
* Konfigdatei <tt>/etc/local.olsrd.conf</tt> anpassen:
 +
* dann olsrd starten
 +
* nach wenigen Sekunden sollten sich routen aufbauen: ip route
 
<pre>
 
<pre>
Interface "tap0" "tap1" "tap2" "tap3" "tap4" "tap5" "tap6" "tap7" "tap8"
+
DebugLevel              0
{
+
IpVersion              4
HelloInterval 5.0
+
AllowNoInt              yes
HelloValidityTime 90.0
+
Pollrate                0.1
TcInterval 3.0
+
TcRedundancy            2
TcValidityTime 270.0
+
MprCoverage            7
MidInterval 15.0
+
LinkQualityFishEye      1
MidValidityTime 270.0
+
LinkQualityWinSize      100
HnaInterval 15.0
+
LinkQualityDijkstraLimit 0 5.0
HnaValidityTime 90.0
+
LinkQualityLevel        2
 +
UseHysteresis          no
   −
Ip4Broadcast 10.255.255.255
+
Hna4 {
LinkQualityMult default 0.1
+
                                104.63.244.0 255.255.255.240
 
}
 
}
</pre>
     −
===Konfiguration (Client)===
+
IpcConnect {
* Client ist jeder Internetuebergabepunkt / UpLink ins Internet (z.b. ein DSLer)
+
        MaxConnections          1
* [[IP-System_umstellen|Freifunk-Client-IP]] ist die 10.63.254.Netznotennummer auf dem VPN-Interface
+
        Host                    127.0.0.1
* Aufruf mit: <tt>vtund m18---kunstturm 141.54.160.25</tt>
+
        Net                    104.63.244.0 255.255.255.240
 +
}
   −
<pre>
+
Interface "eth0" {
m18---kunstturm { passwd bla; type ether; persist yes;
+
        HelloInterval           5.0
up { program "ip addr add dev %% 10.63.254.54/16 brd 10.255.255.255; ip link set %% mtu 1500 up"; }; }
+
        HelloValidityTime       90.0
</pre>
+
        TcInterval             3.0
 
+
        TcValidityTime         270.0
* Konfigdatei <tt>/etc/local.olsrd.conf</tt>
+
        MidInterval             15.0
<pre>
+
        MidValidityTime         270.0
Interface "tap0"
+
        HnaInterval             15.0
{
+
        HnaValidityTime         90.0
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.255.255.255
+
Interface "tap0" {
 +
        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.244.254
 
}
 
}
 
</pre>
 
</pre>
Zeile 164: Zeile 198:  
iptables -t nat -I POSTROUTING -o tap+ -j MASQUERADE
 
iptables -t nat -I POSTROUTING -o tap+ -j MASQUERADE
 
</pre>
 
</pre>
 +
 +
===Zukunft===
 +
 +
====Client-Konfiguration====
 +
* <tt>/etc/vtund.conf</tt>
 +
<pre>
 +
kunstturm {passwd ff;type ether;persist yes;up{program "ip addr add dev %% 10.63.254.82/16 brd 10.255.255.255;ip link set %% mtu 1500 up";};}
 +
</pre>
 +
* Kommentar: verbindungsname ("kunstturm") = hostname
 +
* <tt>/etc/local.olsrd.conf</tt>
 +
<pre>
 +
Interface "tap0"
 +
{
 +
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.255.255.255
 +
}
 +
</pre>
 +
 +
====Server-Konfiguration====
 +
* <tt>/etc/vtund.conf</tt>
 +
<pre>
 +
kunstturm { passwd ff;up{program "ip addr add dev %% 10.63.254.245/16 brd 10.255.255.255; ip link set %% mtu 1500 up";};}
 +
</pre>
 +
* <tt>/etc/local.olsrd.conf</tt>
 +
<pre>
 +
Interface "tap0" "tap1" "tap2" "tap3" "tap4" "tap5" "tap6" "tap7" "tap8" "tap9" "tap10" "tap11" "tap12" "tap13" "tap14" "tap15" "tap16" "tap17"
 +
{
 +
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.255.255.255
 +
LinkQualityMult default 0.1
 +
}
 +
</pre>
 +
 +
[[Kategorie:Ideen]]

Navigationsmenü