<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.hacksaar.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Tobi042</id>
	<title>Hacksaar Wiki - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.hacksaar.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Tobi042"/>
	<link rel="alternate" type="text/html" href="https://wiki.hacksaar.de/Spezial:Beitr%C3%A4ge/Tobi042"/>
	<updated>2026-05-03T15:29:40Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://wiki.hacksaar.de/index.php?title=3D-Drucker&amp;diff=2296</id>
		<title>3D-Drucker</title>
		<link rel="alternate" type="text/html" href="https://wiki.hacksaar.de/index.php?title=3D-Drucker&amp;diff=2296"/>
		<updated>2018-12-22T23:15:20Z</updated>

		<summary type="html">&lt;p&gt;Tobi042: Filament entnommen&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= 3d Drucker Modell &amp;quot;Ultimaker 2+&amp;quot; =&lt;br /&gt;
&lt;br /&gt;
Der Drucker wurde 2017 gekauft und kann sozusagen als unser Hauptdrucker gelten.&lt;br /&gt;
&lt;br /&gt;
Filament: 2,85 mm&lt;br /&gt;
&lt;br /&gt;
= Inventar Filament (Stand 10.10.18) =&lt;br /&gt;
&lt;br /&gt;
== Filament 1,75 mm ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Filament 1,75mm&lt;br /&gt;
! Material&lt;br /&gt;
! Color&lt;br /&gt;
! Manufacturer&lt;br /&gt;
! Rolls&lt;br /&gt;
! Weight [g]/Roll&lt;br /&gt;
! Custom Name&lt;br /&gt;
! Properties&lt;br /&gt;
! Nozzle Temp. [°C]&lt;br /&gt;
! Bed Temp. [°C]&lt;br /&gt;
! Min. Nozzle Dia. [mm]&lt;br /&gt;
! Owner&lt;br /&gt;
|-&lt;br /&gt;
| TPC&lt;br /&gt;
| Blue&lt;br /&gt;
| Form Futura&lt;br /&gt;
| 1&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Flex&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Space&lt;br /&gt;
|-&lt;br /&gt;
| Hips&lt;br /&gt;
| Blue            &lt;br /&gt;
| ZS&lt;br /&gt;
| 1&lt;br /&gt;
| 750&lt;br /&gt;
| &lt;br /&gt;
| Solvable in Lemon-Acid&lt;br /&gt;
| 230&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Space&lt;br /&gt;
|-&lt;br /&gt;
| BendLay&lt;br /&gt;
| Transparent&lt;br /&gt;
| ZS&lt;br /&gt;
| 1&lt;br /&gt;
| 750&lt;br /&gt;
| &lt;br /&gt;
| Flex&lt;br /&gt;
| 240&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Space&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| Perl-Green&lt;br /&gt;
| 3d-kprinter&lt;br /&gt;
| 1&lt;br /&gt;
| 1000?&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Space&lt;br /&gt;
|-&lt;br /&gt;
| PLA&lt;br /&gt;
| Silver&lt;br /&gt;
| Form Futura&lt;br /&gt;
| 2&lt;br /&gt;
| 750?&lt;br /&gt;
| EasyFill&lt;br /&gt;
| &lt;br /&gt;
| 220&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Space&lt;br /&gt;
|-&lt;br /&gt;
| Eco PLA&lt;br /&gt;
| Thermochromic Grey&lt;br /&gt;
| Form Futura&lt;br /&gt;
| 1&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Thermochromatic&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Space&lt;br /&gt;
|-&lt;br /&gt;
| PLA/PHA&lt;br /&gt;
| Standard Black&lt;br /&gt;
| colorFabb&lt;br /&gt;
| 3&lt;br /&gt;
| 750     &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| 210&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Space&lt;br /&gt;
|-&lt;br /&gt;
| PLA&lt;br /&gt;
| Brown&lt;br /&gt;
| Form Futura&lt;br /&gt;
| 1&lt;br /&gt;
| 750?&lt;br /&gt;
| EasyFill       &lt;br /&gt;
| &lt;br /&gt;
| 220&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Space&lt;br /&gt;
|-&lt;br /&gt;
| PLA/PHA  &lt;br /&gt;
| Copper         &lt;br /&gt;
| colorFabb&lt;br /&gt;
| 1&lt;br /&gt;
| 750?&lt;br /&gt;
| Copperfill&lt;br /&gt;
| Contains Copper&lt;br /&gt;
| 210&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Space&lt;br /&gt;
|-&lt;br /&gt;
| ABS&lt;br /&gt;
| Transparent Blue&lt;br /&gt;
| Form Futura&lt;br /&gt;
| 1&lt;br /&gt;
| 750?&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| 240&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Space&lt;br /&gt;
|-&lt;br /&gt;
| ABS&lt;br /&gt;
| Black&lt;br /&gt;
| 3D-Prima&lt;br /&gt;
| 3&lt;br /&gt;
| 1000&lt;br /&gt;
| Conductive&lt;br /&gt;
| &lt;br /&gt;
| 240 &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Space&lt;br /&gt;
|-&lt;br /&gt;
| ABS&lt;br /&gt;
| Black&lt;br /&gt;
| ZS&lt;br /&gt;
| 4&lt;br /&gt;
| 750&lt;br /&gt;
| smartABS&lt;br /&gt;
| &lt;br /&gt;
| 240&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Space&lt;br /&gt;
|-&lt;br /&gt;
| ABS&lt;br /&gt;
| Natural&lt;br /&gt;
| ZS&lt;br /&gt;
| 3&lt;br /&gt;
| 750&lt;br /&gt;
| smartABS&lt;br /&gt;
| &lt;br /&gt;
| 240   &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Space&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| Black&lt;br /&gt;
| 3dk.berlin&lt;br /&gt;
| 1                                                                                                                                           | &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Space&lt;br /&gt;
|-&lt;br /&gt;
| Nylon&lt;br /&gt;
| Transparent&lt;br /&gt;
| Taulman&lt;br /&gt;
| 1&lt;br /&gt;
| 500&lt;br /&gt;
| 645&lt;br /&gt;
| Nylon&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Space&lt;br /&gt;
|-&lt;br /&gt;
| PETT&lt;br /&gt;
| Transparent Green&lt;br /&gt;
| Taulman&lt;br /&gt;
| 1&lt;br /&gt;
| 500&lt;br /&gt;
| t-glase&lt;br /&gt;
| High Strength&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Space&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Filament 3 mm / 2,85 mm ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Filament 3mm / 2,85mm&lt;br /&gt;
! Material&lt;br /&gt;
! Color&lt;br /&gt;
! Manufacturer&lt;br /&gt;
! Rolls&lt;br /&gt;
! Weight [g]/Roll&lt;br /&gt;
! Custom Name&lt;br /&gt;
! Properties&lt;br /&gt;
! Nozzle Temp. [°C]&lt;br /&gt;
! Bed Temp. [°C]&lt;br /&gt;
! Min. Nozzle Dia. [mm]&lt;br /&gt;
! Owner&lt;br /&gt;
|-&lt;br /&gt;
| PLA&lt;br /&gt;
| Black&lt;br /&gt;
| FilamentWorld&lt;br /&gt;
| 1&lt;br /&gt;
| 2500&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| 210&lt;br /&gt;
| 65&lt;br /&gt;
| &lt;br /&gt;
| Space&lt;br /&gt;
|-&lt;br /&gt;
| PLA&lt;br /&gt;
| Grey&lt;br /&gt;
| FilamentWorld&lt;br /&gt;
| 1&lt;br /&gt;
| 1000&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| 210&lt;br /&gt;
| 65&lt;br /&gt;
| &lt;br /&gt;
| Space&lt;br /&gt;
|-&lt;br /&gt;
| PLA&lt;br /&gt;
| Dark Brown&lt;br /&gt;
| FilamentWorld&lt;br /&gt;
| 1&lt;br /&gt;
| 1000&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| 210&lt;br /&gt;
| 65&lt;br /&gt;
| &lt;br /&gt;
| Space&lt;br /&gt;
|-&lt;br /&gt;
| PLA&lt;br /&gt;
| Sky Blue&lt;br /&gt;
| FilamentWorld&lt;br /&gt;
| 1&lt;br /&gt;
| 1000&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| 210&lt;br /&gt;
| 65&lt;br /&gt;
| &lt;br /&gt;
| Space&lt;br /&gt;
|-&lt;br /&gt;
| PLA&lt;br /&gt;
| Red&lt;br /&gt;
| FilamentWorld&lt;br /&gt;
| 1&lt;br /&gt;
| 1000&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| 210&lt;br /&gt;
| 65&lt;br /&gt;
| &lt;br /&gt;
| Space&lt;br /&gt;
|-&lt;br /&gt;
| PLA&lt;br /&gt;
| Green&lt;br /&gt;
| FilamentWorld&lt;br /&gt;
| 1&lt;br /&gt;
| 1000&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| 210&lt;br /&gt;
| 65&lt;br /&gt;
| &lt;br /&gt;
| Space&lt;br /&gt;
|-&lt;br /&gt;
| PLA&lt;br /&gt;
| Black&lt;br /&gt;
| FilamentWorld&lt;br /&gt;
| 1&lt;br /&gt;
| 1000&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| 210&lt;br /&gt;
| 65&lt;br /&gt;
| &lt;br /&gt;
| Space&lt;br /&gt;
|-&lt;br /&gt;
| PLA&lt;br /&gt;
| Orange&lt;br /&gt;
| FilamentWorld&lt;br /&gt;
| 1&lt;br /&gt;
| 1000&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| 210&lt;br /&gt;
| 65&lt;br /&gt;
| &lt;br /&gt;
| Space&lt;br /&gt;
|-&lt;br /&gt;
| PLA&lt;br /&gt;
| Gold&lt;br /&gt;
| Renkforce&lt;br /&gt;
| 1&lt;br /&gt;
| 1000&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| 210&lt;br /&gt;
| 65&lt;br /&gt;
| &lt;br /&gt;
| Hein&lt;br /&gt;
|-&lt;br /&gt;
| ABS&lt;br /&gt;
| Red/Orange&lt;br /&gt;
| Renkforce&lt;br /&gt;
| 1&lt;br /&gt;
| 1000&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Hein&lt;br /&gt;
|-&lt;br /&gt;
| TPU&lt;br /&gt;
| Lava&lt;br /&gt;
| Ninja&lt;br /&gt;
| 1&lt;br /&gt;
| 750&lt;br /&gt;
| Ninjaflex&lt;br /&gt;
| Flex&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Marc&lt;br /&gt;
|-&lt;br /&gt;
| ABS&lt;br /&gt;
| Blue&lt;br /&gt;
| Innofil&lt;br /&gt;
| 1&lt;br /&gt;
| 750&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Space&lt;br /&gt;
|-&lt;br /&gt;
| ABS&lt;br /&gt;
| Red&lt;br /&gt;
| Innofil&lt;br /&gt;
| 1&lt;br /&gt;
| 750&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Space&lt;br /&gt;
|-&lt;br /&gt;
| PLA&lt;br /&gt;
| Wood/Coconut&lt;br /&gt;
| FilamentWorld&lt;br /&gt;
| 1&lt;br /&gt;
| 500&lt;br /&gt;
| Easywood&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| 0,8&lt;br /&gt;
| Space&lt;br /&gt;
|-&lt;br /&gt;
| ABS&lt;br /&gt;
| White&lt;br /&gt;
| Renkforce&lt;br /&gt;
| 1&lt;br /&gt;
| 1000&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Hein?&lt;br /&gt;
|-&lt;br /&gt;
| PLA&lt;br /&gt;
| Yellow&lt;br /&gt;
| REC&lt;br /&gt;
| 1&lt;br /&gt;
| 750&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Space&lt;br /&gt;
|-&lt;br /&gt;
| PLA&lt;br /&gt;
| Thermochromatic-Black&lt;br /&gt;
| FilamentWorld&lt;br /&gt;
| 1&lt;br /&gt;
| 750&lt;br /&gt;
| &lt;br /&gt;
| Thermochromatic&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Space&lt;br /&gt;
|-&lt;br /&gt;
| ABS&lt;br /&gt;
| Natural&lt;br /&gt;
| GermanRepRap&lt;br /&gt;
| 1&lt;br /&gt;
| 2500&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Space&lt;br /&gt;
|-&lt;br /&gt;
| PLA&lt;br /&gt;
| White&lt;br /&gt;
| FilamentWorld&lt;br /&gt;
| 1&lt;br /&gt;
| 1000&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Space&lt;br /&gt;
|-&lt;br /&gt;
| PLA&lt;br /&gt;
| Yellow&lt;br /&gt;
| Avistron&lt;br /&gt;
| 1&lt;br /&gt;
| 1000&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Space&lt;br /&gt;
|-&lt;br /&gt;
| PLA&lt;br /&gt;
| Transparent&lt;br /&gt;
| FilamentWorld&lt;br /&gt;
| 1&lt;br /&gt;
| 1000&lt;br /&gt;
| &lt;br /&gt;
| Transparent&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Space&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= 3d Drucker Modell &amp;quot;Printrbot LC (Kickstarter edition) (deprecated)&amp;quot; =&lt;br /&gt;
&lt;br /&gt;
[[Datei:3D_Drucker.jpeg|128px|right]]&lt;br /&gt;
&lt;br /&gt;
open source, download von Modellen bei Thingiverse, Drucker des Typs &amp;quot;Mendel&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Anmerkung: Wurde mittlerweile zerlegt, die nachfolgenden Informationen könnt ihr aber gern für euren Printrbot benutzen, aber keine Garantie ;)&lt;br /&gt;
&lt;br /&gt;
== Eigenschaften ==&lt;br /&gt;
*Drei-Achs-Drucker, der schichtweise die Modelle ausgibt + Motor des Extruder&lt;br /&gt;
**X-Achse mit einem Endanschlag (hinten quer) und mittels Zahnriemen&lt;br /&gt;
**Y-Achse unten drunter (bewegt Tisch nach vorne und zurück) und mittels Zahnriemen&lt;br /&gt;
**Zahmriemen sollten strammm sein und können ggf. stramm gezogen werden&lt;br /&gt;
**Z-Achse mittels Gewindestäbe (Höhenverstellung) -&amp;gt;genauer und stabiler, Z-Anschlag nach unten im Gehäuse, wo ein Gewindestab diesen betätigt, wichtig um Höhe des Druckkopfes über dem Druck-Bett zu bestimmen&lt;br /&gt;
**12V-Motoren mittels Standardstecker auf Motortreiber aufgesteckt&lt;br /&gt;
*PC-ATX-Netzteil versorgt Drucker mit 12V (und versorgt gleichzeitig den PC)&lt;br /&gt;
*Heizsysteme&lt;br /&gt;
**Druckbett (rote Grundfläche) mit Temperatur-Fühler darunter&lt;br /&gt;
***70 Grad ABS (max. bis zu 100 Grad)&lt;br /&gt;
***50 Grad PLA&lt;br /&gt;
***80 Grad aufzuheizen ist schon problematisch je nach Umgebung, da das Bett schon wieder schneller abkühlen kann als es beheizt wird.&lt;br /&gt;
***Heizbett kann mit Capton-Tape abgedeckt werden, um beste Druck-Anhaftung zu erreichen&lt;br /&gt;
***Plastikreste können mit Azeton entfernt werden&lt;br /&gt;
**Extruder (Metall, das erhitzt wird, und an dem Filament per Schraube mit Ritzel reingedrückt wird)&lt;br /&gt;
*Kommunikation per serieller Schnittstelle (FTDI-ChIP -&amp;gt;USB)&lt;br /&gt;
*arbeitet mit ABS-Kunststoff (schmilzt zw. 210-250 Grad)&lt;br /&gt;
*Motortreiber auf Platine unter Drucker&lt;br /&gt;
**Anschluss für die Motoren&lt;br /&gt;
**Micro-USB&lt;br /&gt;
**SD-Karte (für autonomen Betrieb, G-Code auf Karte hinterlegen)&lt;br /&gt;
*Akzeptiert G-Code&lt;br /&gt;
&lt;br /&gt;
== Software, allgemein ==&lt;br /&gt;
*Firmware auf dem Motorcontroller &amp;quot;Merlin v.1&amp;quot;, type Mendel&lt;br /&gt;
*Software zur Erstellung des G-Codes: &amp;quot;Slicer&amp;quot;, &amp;quot;Skeinforge&amp;quot;&lt;br /&gt;
*Software zur Positionierung auf dem 3D-Drucker und Steuerung des 3D-Druckers (Runterladen des G-Codes): &amp;quot;Repetier&amp;quot;&lt;br /&gt;
*Software zur Erstellung von Modellen: Das Program deiner Wahl....z.B. Blender oder Sculptris (http://pixologic.com/sculptris/, http://support.ponoko.com/entries/21429678-3D-Printing-with-Sculptris),...&lt;br /&gt;
&lt;br /&gt;
== Software &amp;quot;Repetier&amp;quot; zur Steuerung des Druckers ==&lt;br /&gt;
*Kommunikationseinstellungen&lt;br /&gt;
*Heizeinstellungen (diese druckerspezifische Buttons haben aber keinen Einfluss auf den G-Code)&lt;br /&gt;
*Bei manueller Steuerung des Druckkopfes auf Ränder (ohne Endanschlag) achten&lt;br /&gt;
*Mit manueller Steuerung kann der Abstand des Extruders zum Heiz-Bett überall kontrolliert werden. Dieser sollte überall (in allen Ecken) gleich.&lt;br /&gt;
*Aufheizen des Druck-Bettes (Dauer 5-10 Minuten) und Extruder (geht schneller)&lt;br /&gt;
*akzeptiert STL und OBJ Dateien&lt;br /&gt;
*Laden von Objekten zeigt dieses im 3D-View, Skalierung auf alle Achsen oder einzelne Achsen möglich&lt;br /&gt;
*Danach G-Code generieren -&amp;gt;Slicen&lt;br /&gt;
**Einstellen der Schichtdicke&lt;br /&gt;
**Einstellen der Füllstruktur (Waben, Schachbrett,...)&lt;br /&gt;
**Einstellen von Support-Material (abbrechbare Träger für z.B. freistehende Strukturen)&lt;br /&gt;
**Filamenteinstellungen und Temperatur (&amp;lt;-diese ist relevant)&lt;br /&gt;
**Cooling: Nutznug des Lüfters&lt;br /&gt;
**Einstellung der Geometrie-Kalibrierung&lt;br /&gt;
**Druck-, Drucker- und Extruder-Einstellungen auch in Dropdown-Menü auswählen, wenn sie vorgenommen wurden.&lt;br /&gt;
**Druck auf &amp;quot;Slice mit Slicer&amp;quot; dauert die Berechnung der Slices ein wenig&lt;br /&gt;
*...&lt;br /&gt;
*Parameter:&lt;br /&gt;
**G-Code des Modells&lt;br /&gt;
**Schmelztemperatur passend zu Material: nicht zu heiß, nicht zu kalt&lt;br /&gt;
&lt;br /&gt;
=== Empfolene Settings für den Druck ===&lt;br /&gt;
&lt;br /&gt;
==== Material: PLA (Schwarz) ====&lt;br /&gt;
[[Datei:Druckbett_mit_Malerkrepp.jpeg|265px|right]]&lt;br /&gt;
* Extruder Temperatur: 195° C&lt;br /&gt;
* Heizbett Temperatur: deaktiviert&lt;br /&gt;
* Druckbett mit Malerkrepp angeklebt, sorgt für sehr gute Haftung und problemfreie Ablösung des Gedruckten&lt;br /&gt;
* Lüfter: Dauer an, ab Layer 2&lt;br /&gt;
&lt;br /&gt;
==== Material: PLA (Klar) ====&lt;br /&gt;
* Extruder Temperatur: 200° C&lt;br /&gt;
* Heizbett Temperatur: 55° C&lt;br /&gt;
* Lüfter: Dauer an, ab Layer 2&lt;br /&gt;
&lt;br /&gt;
==== Material: PLA (Orange) ====&lt;br /&gt;
* Extruder Temperatur: 192° C (noch nicht optimal)&lt;br /&gt;
* Heizbett Temperatur: 55° C&lt;br /&gt;
* Lüfter: Dauer an, ab Layer 2&lt;br /&gt;
&lt;br /&gt;
==== Material: ABS (weiß) ====&lt;br /&gt;
* Extruder Temperatur: 235° C&lt;br /&gt;
* Heizbett Temperatur: 70° C&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Projekt]]&lt;/div&gt;</summary>
		<author><name>Tobi042</name></author>
	</entry>
	<entry>
		<id>https://wiki.hacksaar.de/index.php?title=Freifunk:Firmware_signieren&amp;diff=2192</id>
		<title>Freifunk:Firmware signieren</title>
		<link rel="alternate" type="text/html" href="https://wiki.hacksaar.de/index.php?title=Freifunk:Firmware_signieren&amp;diff=2192"/>
		<updated>2016-05-26T22:18:30Z</updated>

		<summary type="html">&lt;p&gt;Tobi042: Die Seite wurde neu angelegt: „Um eine Firmware mitzusignieren können beispielsweise die folgenden Befehle benutzt werden.   Benötigte Programme: * sshfs (andere auch möglich) * ecdsasign…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Um eine Firmware mitzusignieren können beispielsweise die folgenden Befehle benutzt werden. &lt;br /&gt;
&lt;br /&gt;
Benötigte Programme:&lt;br /&gt;
* sshfs (andere auch möglich)&lt;br /&gt;
* ecdsasign (Teil von ecdsautils)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget &amp;quot;https://raw.githubusercontent.com/freifunk-gluon/gluon/master/contrib/sign.sh&amp;quot; -O /tmp/sign.sh&lt;br /&gt;
scp user@mgmt.saar.freifunk.net:/var/www/html/firmware/staging/images/sysupgrade/*.manifest /tmp/&lt;br /&gt;
bash /tmp/sign.sh /path/to/ecdsa/secret/key /tmp/beta.manifest&lt;br /&gt;
bash /tmp/sign.sh /path/to/ecdsa/secret/key /tmp/experimental.manifest&lt;br /&gt;
# TBC...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tobi042</name></author>
	</entry>
	<entry>
		<id>https://wiki.hacksaar.de/index.php?title=Freifunk&amp;diff=2191</id>
		<title>Freifunk</title>
		<link rel="alternate" type="text/html" href="https://wiki.hacksaar.de/index.php?title=Freifunk&amp;diff=2191"/>
		<updated>2016-05-26T21:55:53Z</updated>

		<summary type="html">&lt;p&gt;Tobi042: /* Admin-Sachen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Diese Seite wird für die Dokumentation der Freifunk Saar-Infrastruktur genutzt. Der technische Hauptverantwortliche ist im Moment [[User:Tobi042 | Tobias Theobald]]&lt;br /&gt;
&lt;br /&gt;
[https://saar.freifunk.net Die Saar-Freifunk Website]&lt;br /&gt;
&lt;br /&gt;
[[Freifunk:Router_im_Saarland_kaufen | Router im Saarland kaufen]]&lt;br /&gt;
&lt;br /&gt;
[[Freifunk:Werbematerial | Werbematerial]]&lt;br /&gt;
&lt;br /&gt;
[[Freifunk:User Services | User Services]]&lt;br /&gt;
&lt;br /&gt;
[[Freifunk:Besondere_Netzwerkkonfigurationen | Besondere Netzwerkkonfigurationen]]&lt;br /&gt;
&lt;br /&gt;
== Admin-Sachen ==&lt;br /&gt;
&lt;br /&gt;
[[Freifunk:IP-Adressen | IP-Adressen]]&lt;br /&gt;
&lt;br /&gt;
[[Freifunk:Mesh-VPN Gateway-Server einrichten | Mesh-VPN Gateway-Server einrichten]]&lt;br /&gt;
&lt;br /&gt;
[[Freifunk:Mesh-VPN Keys eintragen | Mesh-VPN Keys eintragen]]&lt;br /&gt;
&lt;br /&gt;
[[Freifunk:Firmware signieren | Firmware signieren]]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Freifunk]]&lt;/div&gt;</summary>
		<author><name>Tobi042</name></author>
	</entry>
	<entry>
		<id>https://wiki.hacksaar.de/index.php?title=Freifunk:Backend&amp;diff=2095</id>
		<title>Freifunk:Backend</title>
		<link rel="alternate" type="text/html" href="https://wiki.hacksaar.de/index.php?title=Freifunk:Backend&amp;diff=2095"/>
		<updated>2015-10-24T10:56:39Z</updated>

		<summary type="html">&lt;p&gt;Tobi042: /* Mesh IPs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hier sind ein paar technische Details zu unseren Gateway-Servern.&lt;br /&gt;
&lt;br /&gt;
= Team =&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich kümmert sich jeder aus dem Team um allgemeine Fragen auf der Mailingliste und das Eintragen von neuen VPN-Keys. Darüber hinaus haben manche Team-Mitglieder spezielle Aufgaben, die sie ausführen bzw. Themengebiete mit denen sie sich besonders auskennen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Name&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Aufgabenbereiche&lt;br /&gt;
|-&lt;br /&gt;
| [[Benutzer:Kimcm|KimCM]]&lt;br /&gt;
| Public Relations, Webseite&lt;br /&gt;
|-&lt;br /&gt;
| [[Benutzer:Tobi042|Tobias Theobald]]&lt;br /&gt;
| Gateway-Administration, Firmware, allgemeine technische Fragen&lt;br /&gt;
|-&lt;br /&gt;
| [[Benutzer:Rugosh|Tobias Kuhn]]&lt;br /&gt;
| Knotenkarte, Alfred&lt;br /&gt;
|-&lt;br /&gt;
| Tobias von dem Broch&lt;br /&gt;
| Richtfunk, Antennenfragen&lt;br /&gt;
|-&lt;br /&gt;
| [[Benutzer:Marvin|Marvin W]]&lt;br /&gt;
| Richtfunk&lt;br /&gt;
|-&lt;br /&gt;
| [[Benutzer:Constantin|Constantin Berhard]]&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Hardware-Details =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Hostname&lt;br /&gt;
! CPU Typ&lt;br /&gt;
! CPU Kerne / Threads&lt;br /&gt;
! RAM&lt;br /&gt;
! Platte&lt;br /&gt;
! Internet-Anbindung&lt;br /&gt;
! Hoster&lt;br /&gt;
! Sponsor&lt;br /&gt;
! Aufgaben&lt;br /&gt;
! Virtualisierung&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw1.saar.freifunk.net&lt;br /&gt;
| Intel(R) Xeon(R) CPU L5520 @ 2.27GHz&lt;br /&gt;
| 4 / 4&lt;br /&gt;
| 512 MB&lt;br /&gt;
| 50 GB&lt;br /&gt;
| 100 MBit Shared&lt;br /&gt;
| server.lu&lt;br /&gt;
| Tobias Theobald / Marc Schmit&lt;br /&gt;
| Gateway&lt;br /&gt;
| Xen&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw2.saar.freifunk.net&lt;br /&gt;
| Intel Core i5-750 @ 2.67GHz&lt;br /&gt;
| 4 / 4&lt;br /&gt;
| 16 GB&lt;br /&gt;
| 2 TB&lt;br /&gt;
| 100 MBit&lt;br /&gt;
| Kimsufi / OVH&lt;br /&gt;
| &lt;br /&gt;
| Gateway&lt;br /&gt;
| keine&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw3.saar.freifunk.net&lt;br /&gt;
| Intel(R) Atom(TM) CPU N2800 @ 1.86GHz&lt;br /&gt;
| 2 / 4&lt;br /&gt;
| 2 GB&lt;br /&gt;
| 500 GB&lt;br /&gt;
| 100 MBit shared&lt;br /&gt;
| Kimsufi / OVH&lt;br /&gt;
| &lt;br /&gt;
| Gateway&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw4.saar.freifunk.net&lt;br /&gt;
| Intel(R) Atom(TM) CPU N2800 @ 1.86GHz&lt;br /&gt;
| 2 / 4&lt;br /&gt;
| 2 GB&lt;br /&gt;
| 500 GB&lt;br /&gt;
| 100 MBit shared&lt;br /&gt;
| Kimsufi / OVH&lt;br /&gt;
| &lt;br /&gt;
| Gateway&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | mgmt.saar.freifunk.net&lt;br /&gt;
| Intel(R) Xeon(R) CPU L5520 @ 2.27GHz&lt;br /&gt;
| 2 / 2&lt;br /&gt;
| 1 GB&lt;br /&gt;
| 20 GB&lt;br /&gt;
| 100 MBit Shared&lt;br /&gt;
| server.lu&lt;br /&gt;
| Tobias Theobald / Marc Schmit&lt;br /&gt;
| Website, Kartengenerierung, Alfredmaster, Monitoring, Saltmaster, Firmwares für Autoupdater&lt;br /&gt;
| Xen&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Public DNS / IPs =&lt;br /&gt;
&lt;br /&gt;
Hier eine Tabelle mit den DNS-Namen und IP-Adressen unserer Gateways.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Gateway&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Public IPv4&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Public IPv6&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw1.saar.freifunk.net&lt;br /&gt;
| 94.242.195.78&lt;br /&gt;
| 2a01:608:ffff:9876:cafe:babe:6:1&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw2.saar.freifunk.net&lt;br /&gt;
| 151.80.43.50&lt;br /&gt;
| 2001:41d0:e:1032::1&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw3.saar.freifunk.net&lt;br /&gt;
| 37.187.107.18&lt;br /&gt;
| 2001:41d0:a:3b12::1&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw4.saar.freifunk.net&lt;br /&gt;
| 37.187.109.160&lt;br /&gt;
| 2001:41d0:a:62a0::1&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | mgmt.saar.freifunk.net&lt;br /&gt;
| 94.242.195.73&lt;br /&gt;
| 2a01:608:ffff:9876:cafe:babe:ff:5aaa&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Anmerkung: GW2 steht im Hackerspace des TKS e.V. hinter einem dynamischen Kabel Deutschland Anschluss, daher sind die IP-Adressen hier dynamisch.&lt;br /&gt;
&lt;br /&gt;
Weitere Anmerkung: GW3 und 4 sind Kimsufi-Server, deren DNS-CName verweist noch nicht auf die IPv6-Adresse der Server. &lt;br /&gt;
&lt;br /&gt;
= Mesh IPs =&lt;br /&gt;
&lt;br /&gt;
Jeder Gateway ist Teil unseres Mesh-VPN und braucht als solches diverse Adressen, über die er im Mesh erreichbar ist.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Gateway&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Saar Mesh IPv4&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Saar Mesh IPv6&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Saar Mesh MAC&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Test Mesh IPv4&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Test Mesh IPv6&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Test Mesh MAC&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw1.saar.freifunk.net&lt;br /&gt;
| 10.24.192.2&lt;br /&gt;
| fd4e:f2d7:88d2:ffff::2&lt;br /&gt;
| ca:fe:ba:be:00:01&lt;br /&gt;
| 10.252.0.2&lt;br /&gt;
| fd4e:f2d7:88d2:fffd::2&lt;br /&gt;
| ca:fe:ba:be:01:01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw2.saar.freifunk.net&lt;br /&gt;
| 10.24.192.3&lt;br /&gt;
| fd4e:f2d7:88d2:ffff::3&lt;br /&gt;
| ca:fe:ba:be:00:02&lt;br /&gt;
| 10.252.0.3&lt;br /&gt;
| fd4e:f2d7:88d2:fffd::3&lt;br /&gt;
| ca:fe:ba:be:01:02&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw3.saar.freifunk.net&lt;br /&gt;
| 10.24.192.4&lt;br /&gt;
| fd4e:f2d7:88d2:ffff::4&lt;br /&gt;
| ca:fe:ba:be:00:03&lt;br /&gt;
| 10.252.0.4&lt;br /&gt;
| fd4e:f2d7:88d2:fffd::4&lt;br /&gt;
| ca:fe:ba:be:01:03&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw4.saar.freifunk.net&lt;br /&gt;
| 10.24.192.5&lt;br /&gt;
| fd4e:f2d7:88d2:ffff::5&lt;br /&gt;
| ca:fe:ba:be:00:04&lt;br /&gt;
| 10.252.0.5&lt;br /&gt;
| fd4e:f2d7:88d2:fffd::5&lt;br /&gt;
| ca:fe:ba:be:01:04&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | mgmt.saar.freifunk.net&lt;br /&gt;
| 10.24.192.250&lt;br /&gt;
| fd4e:f2d7:88d2:ffff::250&lt;br /&gt;
| ca:fe:ba:be:00:ff&lt;br /&gt;
| 10.252.0.250&lt;br /&gt;
| fd4e:f2d7:88d2:fffd::250&lt;br /&gt;
| ca:fe:ba:be:01:ff&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Darüber hinaus gibt es in jedem Netz eine Anycast IP, die immer auf das gerade verwendete Gateway zeigt:&lt;br /&gt;
&lt;br /&gt;
Saar: 10.24.192.1 / fd4e:f2d7:88d2:ffff::1&lt;br /&gt;
Test: 10.24.128.1 / fd4e:f2d7:88d2:fffe::1&lt;br /&gt;
&lt;br /&gt;
= DHCP-Ranges =&lt;br /&gt;
&lt;br /&gt;
Auf jedem Gateway läuft pro Netz (Saar, Test) ein DHCP-Server, der IP-Adressen an Clients verteilt, die diesen Server als Gateway nutzen. Grundsätzlich verteilen wir hier /22-Ranges, also bis zu 1022 IP-Adressen pro Gateway. Ich halte es für denkbar, dass ein einzelner Server nicht so viele Clients packt, aber reduzieren geht ja schließlich immer, erweitern ist problematisch.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Gateway&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Saar DHCP Range&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Test DHCP Range&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw1.saar.freifunk.net&lt;br /&gt;
| 10.24.196.0/22&lt;br /&gt;
| 10.252.4.0/22&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw2.saar.freifunk.net&lt;br /&gt;
| 10.24.200.0/22&lt;br /&gt;
| 10.252.8.0/22&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw3.saar.freifunk.net&lt;br /&gt;
| 10.24.204.0/22&lt;br /&gt;
| 10.252.12.0/22&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw4.saar.freifunk.net&lt;br /&gt;
| 10.24.208.0/22&lt;br /&gt;
| 10.252.16.0/22&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Reservierte andere Ranges:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Zuweisung&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Saar-Range&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Test-Range&lt;br /&gt;
|-&lt;br /&gt;
| Admin-Netz&lt;br /&gt;
| 10.24.192.0/24&lt;br /&gt;
| 10.252.0.0/24&lt;br /&gt;
|-&lt;br /&gt;
| Nicht zugewiesen&lt;br /&gt;
| 10.24.193.0/24&lt;br /&gt;
| 10.252.1.0/24&lt;br /&gt;
|-&lt;br /&gt;
| User Services&lt;br /&gt;
| 10.24.194.0/23&lt;br /&gt;
| 10.252.2.0/23&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Mesh Public Keys =&lt;br /&gt;
&lt;br /&gt;
Das Mesh-VPN wird mit der VPN-Software fastd realisiert. Sie ist klein und schnell und damit wunderbar für den Einsatz auf Routern geeignet. &lt;br /&gt;
&lt;br /&gt;
Die saarländischen Mesh-Instanzen lauschen immer auf UDP Port 10003, die Testinstanzen auf Port 10005. Als Cipher unterstützen unsere Server salsa2012+umac, die VPN-interne MTU beträgt 1406 byte.&lt;br /&gt;
&lt;br /&gt;
Hier die Public Keys und den Online-Status (nicht live) unserer Gateways:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Gateway&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Public Key Saar&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Aktiv?&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Public Key Test&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Aktiv?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw1.saar.freifunk.net&lt;br /&gt;
| 5136a920a8c7aa9ae2ca1c2a1e33ea8c45e01501fac0f02b9d6a05b167ac5993&lt;br /&gt;
| Ja&lt;br /&gt;
| 4ed85c21d3db653bd2f1b210a8b60cbe25c40a3c2b756fc9c30d864466ad519d&lt;br /&gt;
| Ja&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw2.saar.freifunk.net&lt;br /&gt;
| 80859883c8a22867b20082078ab0934bdf58f556e7acda90730ea282d8da9388&lt;br /&gt;
| Ja&lt;br /&gt;
| 0ce6c650b07207b05ee4be3680cb1b1c69aea92fd76fecda50c720061f5cf9af&lt;br /&gt;
| Ja&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw3.saar.freifunk.net&lt;br /&gt;
| 711d1dc6f2048ffe88997441612ca764595b414abea5495c4f3ce746c72774e6&lt;br /&gt;
| Ja&lt;br /&gt;
| 440fa235832b933bebb66c91929a83a9c3a47348f164b1c7440661bb142dd32b&lt;br /&gt;
| Ja&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw4.saar.freifunk.net&lt;br /&gt;
| 33e02014b00a45bc8249b4428a9da614a370b5e386fa5d8d66c325941aa27568&lt;br /&gt;
| Ja&lt;br /&gt;
| 260f0a780281f49cdee9332c2139416cd715fb0257ac75d49ce43c4125654e36&lt;br /&gt;
| Ja&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Mesh WLAN =&lt;br /&gt;
&lt;br /&gt;
Hier die Details für das WLAN auf den Clients&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Netz&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Mesh {E/B}SSID&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Clients ESSID&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | 2.4 GHz Kanal&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | 5 GHz Kanal&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | HT-Modul&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | Saar&lt;br /&gt;
| 5e:ba:7a:d2:c4:b9&lt;br /&gt;
| saar.freifunk.net&lt;br /&gt;
| 1&lt;br /&gt;
| 36&lt;br /&gt;
| HT40+&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | Test&lt;br /&gt;
| 5e:ba:7a:d2:c4:b8&lt;br /&gt;
| saartest.freifunk.net&lt;br /&gt;
| 1&lt;br /&gt;
| 36&lt;br /&gt;
| HT40+&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Freifunk]]&lt;/div&gt;</summary>
		<author><name>Tobi042</name></author>
	</entry>
	<entry>
		<id>https://wiki.hacksaar.de/index.php?title=Freifunk:IP-Adressen&amp;diff=2089</id>
		<title>Freifunk:IP-Adressen</title>
		<link rel="alternate" type="text/html" href="https://wiki.hacksaar.de/index.php?title=Freifunk:IP-Adressen&amp;diff=2089"/>
		<updated>2015-10-21T17:59:32Z</updated>

		<summary type="html">&lt;p&gt;Tobi042: /* Mesh WLAN */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hier sind ein paar technische Details zu unseren Gateway-Servern.&lt;br /&gt;
&lt;br /&gt;
= Team =&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich kümmert sich jeder aus dem Team um allgemeine Fragen auf der Mailingliste und das Eintragen von neuen VPN-Keys. Darüber hinaus haben manche Team-Mitglieder spezielle Aufgaben, die sie ausführen bzw. Themengebiete mit denen sie sich besonders auskennen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Name&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Aufgabenbereiche&lt;br /&gt;
|-&lt;br /&gt;
| [[Benutzer:Kimcm|KimCM]]&lt;br /&gt;
| Public Relations, Webseite&lt;br /&gt;
|-&lt;br /&gt;
| [[Benutzer:Tobi042|Tobias Theobald]]&lt;br /&gt;
| Gateway-Administration, Firmware, allgemeine technische Fragen&lt;br /&gt;
|-&lt;br /&gt;
| [[Benutzer:Rugosh|Tobias Kuhn]]&lt;br /&gt;
| Knotenkarte, Alfred&lt;br /&gt;
|-&lt;br /&gt;
| Tobias von dem Broch&lt;br /&gt;
| Richtfunk, Antennenfragen&lt;br /&gt;
|-&lt;br /&gt;
| [[Benutzer:Marvin|Marvin W]]&lt;br /&gt;
| Richtfunk&lt;br /&gt;
|-&lt;br /&gt;
| [[Benutzer:Constantin|Constantin Berhard]]&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Hardware-Details =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Gateway&lt;br /&gt;
! CPU Typ&lt;br /&gt;
! CPU Kerne / Threads&lt;br /&gt;
! RAM&lt;br /&gt;
! Platte&lt;br /&gt;
! Internet-Anbindung&lt;br /&gt;
! Hoster&lt;br /&gt;
! Sponsor&lt;br /&gt;
! Zusätzliche Services&lt;br /&gt;
! Virtualisierung&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw1.saar.freifunk.net&lt;br /&gt;
| Intel(R) Xeon(R) CPU L5520 @ 2.27GHz&lt;br /&gt;
| 4 / 4&lt;br /&gt;
| 512 MB&lt;br /&gt;
| 50 GB&lt;br /&gt;
| 100 MBit Shared&lt;br /&gt;
| server.lu&lt;br /&gt;
| Tobias Theobald / Marc Schmit&lt;br /&gt;
| Firmwares für Autoupdater, Knotenkarte&lt;br /&gt;
| Xen&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw2.saar.freifunk.net&lt;br /&gt;
| Intel Core i7 9xx&lt;br /&gt;
| 2 / 2&lt;br /&gt;
| 512 MB&lt;br /&gt;
| 10 GB&lt;br /&gt;
| 100 MBit down / 6 MBit up&lt;br /&gt;
| &lt;br /&gt;
| TKS e.V.&lt;br /&gt;
| &lt;br /&gt;
| KVM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw3.saar.freifunk.net&lt;br /&gt;
| Intel(R) Atom(TM) CPU N2800 @ 1.86GHz&lt;br /&gt;
| 2 / 4&lt;br /&gt;
| 2 GB&lt;br /&gt;
| 500 GB&lt;br /&gt;
| 100 MBit shared&lt;br /&gt;
| Kimsufi / OVH&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw4.saar.freifunk.net&lt;br /&gt;
| Intel(R) Atom(TM) CPU N2800 @ 1.86GHz&lt;br /&gt;
| 2 / 4&lt;br /&gt;
| 2 GB&lt;br /&gt;
| 500 GB&lt;br /&gt;
| 100 MBit shared&lt;br /&gt;
| Kimsufi / OVH&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| ?&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Public DNS / IPs =&lt;br /&gt;
&lt;br /&gt;
Hier eine Tabelle mit den DNS-Namen und IP-Adressen unserer Gateways.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Gateway&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Alt DNS Name&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Public IPv4&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Public IPv6&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw1.saar.freifunk.net&lt;br /&gt;
| freifunk.tobi042.de&lt;br /&gt;
| 94.242.195.78&lt;br /&gt;
| 2a01:608:ffff:9876:cafe:babe:6:1&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw2.saar.freifunk.net&lt;br /&gt;
| freifunk.dyn.hacksaar.de&lt;br /&gt;
| (dynamisch)&lt;br /&gt;
| (dynamisch)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw3.saar.freifunk.net&lt;br /&gt;
| ns326072.ip-37-187-107.eu&lt;br /&gt;
| 37.187.107.18&lt;br /&gt;
| 2001:41d0:a:3b12::1&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw4.saar.freifunk.net&lt;br /&gt;
| ns327157.ip-37-187-109.eu&lt;br /&gt;
| 37.187.109.160&lt;br /&gt;
| 2001:41d0:a:62a0::1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Anmerkung: GW2 steht im Hackerspace des TKS e.V. hinter einem dynamischen Kabel Deutschland Anschluss, daher sind die IP-Adressen hier dynamisch.&lt;br /&gt;
&lt;br /&gt;
Weitere Anmerkung: GW3 und 4 sind Kimsufi-Server, deren DNS-CName verweist noch nicht auf die IPv6-Adresse der Server. &lt;br /&gt;
&lt;br /&gt;
= Mesh IPs =&lt;br /&gt;
&lt;br /&gt;
Jeder Gateway ist Teil unseres Mesh-VPN und braucht als solches diverse Adressen, über die er im Mesh erreichbar ist.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Gateway&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Saar Mesh IPv4&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Saar Mesh IPv6&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Saar Mesh MAC&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Test Mesh IPv4&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Test Mesh IPv6&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Test Mesh MAC&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw1.saar.freifunk.net&lt;br /&gt;
| 10.24.192.2&lt;br /&gt;
| fd4e:f2d7:88d2:ffff::2&lt;br /&gt;
| ca:fe:ba:be:00:01&lt;br /&gt;
| 10.252.0.2&lt;br /&gt;
| fd4e:f2d7:88d2:fffd::2&lt;br /&gt;
| ca:fe:ba:be:01:01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw2.saar.freifunk.net&lt;br /&gt;
| 10.24.192.3&lt;br /&gt;
| fd4e:f2d7:88d2:ffff::3&lt;br /&gt;
| ca:fe:ba:be:00:02&lt;br /&gt;
| 10.252.0.3&lt;br /&gt;
| fd4e:f2d7:88d2:fffd::3&lt;br /&gt;
| ca:fe:ba:be:01:02&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw3.saar.freifunk.net&lt;br /&gt;
| 10.24.192.4&lt;br /&gt;
| fd4e:f2d7:88d2:ffff::4&lt;br /&gt;
| ca:fe:ba:be:00:03&lt;br /&gt;
| 10.252.0.4&lt;br /&gt;
| fd4e:f2d7:88d2:fffd::4&lt;br /&gt;
| ca:fe:ba:be:01:03&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw4.saar.freifunk.net&lt;br /&gt;
| 10.24.192.5&lt;br /&gt;
| fd4e:f2d7:88d2:ffff::5&lt;br /&gt;
| ca:fe:ba:be:00:04&lt;br /&gt;
| 10.252.0.5&lt;br /&gt;
| fd4e:f2d7:88d2:fffd::5&lt;br /&gt;
| ca:fe:ba:be:01:04&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Darüber hinaus gibt es in jedem Netz eine Anycast IP, die immer auf das gerade verwendete Gateway zeigt:&lt;br /&gt;
&lt;br /&gt;
Saar: 10.24.192.1 / fd4e:f2d7:88d2:ffff::1&lt;br /&gt;
Test: 10.24.128.1 / fd4e:f2d7:88d2:fffe::1&lt;br /&gt;
&lt;br /&gt;
= DHCP-Ranges =&lt;br /&gt;
&lt;br /&gt;
Auf jedem Gateway läuft pro Netz (Saar, Test) ein DHCP-Server, der IP-Adressen an Clients verteilt, die diesen Server als Gateway nutzen. Grundsätzlich verteilen wir hier /22-Ranges, also bis zu 1022 IP-Adressen pro Gateway. Ich halte es für denkbar, dass ein einzelner Server nicht so viele Clients packt, aber reduzieren geht ja schließlich immer, erweitern ist problematisch.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Gateway&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Saar DHCP Range&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Test DHCP Range&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw1.saar.freifunk.net&lt;br /&gt;
| 10.24.196.0/22&lt;br /&gt;
| 10.252.4.0/22&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw2.saar.freifunk.net&lt;br /&gt;
| 10.24.200.0/22&lt;br /&gt;
| 10.252.8.0/22&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw3.saar.freifunk.net&lt;br /&gt;
| 10.24.204.0/22&lt;br /&gt;
| 10.252.12.0/22&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw4.saar.freifunk.net&lt;br /&gt;
| 10.24.208.0/22&lt;br /&gt;
| 10.252.16.0/22&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Reservierte andere Ranges:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Zuweisung&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Saar-Range&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Test-Range&lt;br /&gt;
|-&lt;br /&gt;
| Admin-Netz&lt;br /&gt;
| 10.24.192.0/24&lt;br /&gt;
| 10.252.0.0/24&lt;br /&gt;
|-&lt;br /&gt;
| Nicht zugewiesen&lt;br /&gt;
| 10.24.193.0/24&lt;br /&gt;
| 10.252.1.0/24&lt;br /&gt;
|-&lt;br /&gt;
| User Services&lt;br /&gt;
| 10.24.194.0/23&lt;br /&gt;
| 10.252.2.0/23&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Mesh Public Keys =&lt;br /&gt;
&lt;br /&gt;
Das Mesh-VPN wird mit der VPN-Software fastd realisiert. Sie ist klein und schnell und damit wunderbar für den Einsatz auf Routern geeignet. &lt;br /&gt;
&lt;br /&gt;
Die saarländischen Mesh-Instanzen lauschen immer auf UDP Port 10003, die Testinstanzen auf Port 10005. Als Cipher unterstützen unsere Server salsa2012+umac, die VPN-interne MTU beträgt 1406 byte.&lt;br /&gt;
&lt;br /&gt;
Hier die Public Keys und den Online-Status (nicht live) unserer Gateways:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Gateway&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Public Key Saar&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Aktiv?&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Public Key Test&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Aktiv?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw1.saar.freifunk.net&lt;br /&gt;
| 5136a920a8c7aa9ae2ca1c2a1e33ea8c45e01501fac0f02b9d6a05b167ac5993&lt;br /&gt;
| Ja&lt;br /&gt;
| 4ed85c21d3db653bd2f1b210a8b60cbe25c40a3c2b756fc9c30d864466ad519d&lt;br /&gt;
| Ja&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw2.saar.freifunk.net&lt;br /&gt;
| 80859883c8a22867b20082078ab0934bdf58f556e7acda90730ea282d8da9388&lt;br /&gt;
| Ja&lt;br /&gt;
| 0ce6c650b07207b05ee4be3680cb1b1c69aea92fd76fecda50c720061f5cf9af&lt;br /&gt;
| Ja&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw3.saar.freifunk.net&lt;br /&gt;
| 711d1dc6f2048ffe88997441612ca764595b414abea5495c4f3ce746c72774e6&lt;br /&gt;
| Ja&lt;br /&gt;
| 440fa235832b933bebb66c91929a83a9c3a47348f164b1c7440661bb142dd32b&lt;br /&gt;
| Ja&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw4.saar.freifunk.net&lt;br /&gt;
| 33e02014b00a45bc8249b4428a9da614a370b5e386fa5d8d66c325941aa27568&lt;br /&gt;
| Ja&lt;br /&gt;
| 260f0a780281f49cdee9332c2139416cd715fb0257ac75d49ce43c4125654e36&lt;br /&gt;
| Ja&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Mesh WLAN =&lt;br /&gt;
&lt;br /&gt;
Hier die Details für das WLAN auf den Clients&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Netz&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Mesh {E/B}SSID&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Clients ESSID&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | 2.4 GHz Kanal&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | 5 GHz Kanal&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | HT-Modul&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | Saar&lt;br /&gt;
| 5e:ba:7a:d2:c4:b9&lt;br /&gt;
| saar.freifunk.net&lt;br /&gt;
| 1&lt;br /&gt;
| 36&lt;br /&gt;
| HT40+&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | Test&lt;br /&gt;
| 5e:ba:7a:d2:c4:b8&lt;br /&gt;
| saartest.freifunk.net&lt;br /&gt;
| 1&lt;br /&gt;
| 36&lt;br /&gt;
| HT40+&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Freifunk]]&lt;/div&gt;</summary>
		<author><name>Tobi042</name></author>
	</entry>
	<entry>
		<id>https://wiki.hacksaar.de/index.php?title=Freifunk:IP-Adressen&amp;diff=2088</id>
		<title>Freifunk:IP-Adressen</title>
		<link rel="alternate" type="text/html" href="https://wiki.hacksaar.de/index.php?title=Freifunk:IP-Adressen&amp;diff=2088"/>
		<updated>2015-10-21T17:27:31Z</updated>

		<summary type="html">&lt;p&gt;Tobi042: /* Mesh IPs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hier sind ein paar technische Details zu unseren Gateway-Servern.&lt;br /&gt;
&lt;br /&gt;
= Team =&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich kümmert sich jeder aus dem Team um allgemeine Fragen auf der Mailingliste und das Eintragen von neuen VPN-Keys. Darüber hinaus haben manche Team-Mitglieder spezielle Aufgaben, die sie ausführen bzw. Themengebiete mit denen sie sich besonders auskennen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Name&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Aufgabenbereiche&lt;br /&gt;
|-&lt;br /&gt;
| [[Benutzer:Kimcm|KimCM]]&lt;br /&gt;
| Public Relations, Webseite&lt;br /&gt;
|-&lt;br /&gt;
| [[Benutzer:Tobi042|Tobias Theobald]]&lt;br /&gt;
| Gateway-Administration, Firmware, allgemeine technische Fragen&lt;br /&gt;
|-&lt;br /&gt;
| [[Benutzer:Rugosh|Tobias Kuhn]]&lt;br /&gt;
| Knotenkarte, Alfred&lt;br /&gt;
|-&lt;br /&gt;
| Tobias von dem Broch&lt;br /&gt;
| Richtfunk, Antennenfragen&lt;br /&gt;
|-&lt;br /&gt;
| [[Benutzer:Marvin|Marvin W]]&lt;br /&gt;
| Richtfunk&lt;br /&gt;
|-&lt;br /&gt;
| [[Benutzer:Constantin|Constantin Berhard]]&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Hardware-Details =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Gateway&lt;br /&gt;
! CPU Typ&lt;br /&gt;
! CPU Kerne / Threads&lt;br /&gt;
! RAM&lt;br /&gt;
! Platte&lt;br /&gt;
! Internet-Anbindung&lt;br /&gt;
! Hoster&lt;br /&gt;
! Sponsor&lt;br /&gt;
! Zusätzliche Services&lt;br /&gt;
! Virtualisierung&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw1.saar.freifunk.net&lt;br /&gt;
| Intel(R) Xeon(R) CPU L5520 @ 2.27GHz&lt;br /&gt;
| 4 / 4&lt;br /&gt;
| 512 MB&lt;br /&gt;
| 50 GB&lt;br /&gt;
| 100 MBit Shared&lt;br /&gt;
| server.lu&lt;br /&gt;
| Tobias Theobald / Marc Schmit&lt;br /&gt;
| Firmwares für Autoupdater, Knotenkarte&lt;br /&gt;
| Xen&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw2.saar.freifunk.net&lt;br /&gt;
| Intel Core i7 9xx&lt;br /&gt;
| 2 / 2&lt;br /&gt;
| 512 MB&lt;br /&gt;
| 10 GB&lt;br /&gt;
| 100 MBit down / 6 MBit up&lt;br /&gt;
| &lt;br /&gt;
| TKS e.V.&lt;br /&gt;
| &lt;br /&gt;
| KVM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw3.saar.freifunk.net&lt;br /&gt;
| Intel(R) Atom(TM) CPU N2800 @ 1.86GHz&lt;br /&gt;
| 2 / 4&lt;br /&gt;
| 2 GB&lt;br /&gt;
| 500 GB&lt;br /&gt;
| 100 MBit shared&lt;br /&gt;
| Kimsufi / OVH&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw4.saar.freifunk.net&lt;br /&gt;
| Intel(R) Atom(TM) CPU N2800 @ 1.86GHz&lt;br /&gt;
| 2 / 4&lt;br /&gt;
| 2 GB&lt;br /&gt;
| 500 GB&lt;br /&gt;
| 100 MBit shared&lt;br /&gt;
| Kimsufi / OVH&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| ?&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Public DNS / IPs =&lt;br /&gt;
&lt;br /&gt;
Hier eine Tabelle mit den DNS-Namen und IP-Adressen unserer Gateways.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Gateway&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Alt DNS Name&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Public IPv4&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Public IPv6&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw1.saar.freifunk.net&lt;br /&gt;
| freifunk.tobi042.de&lt;br /&gt;
| 94.242.195.78&lt;br /&gt;
| 2a01:608:ffff:9876:cafe:babe:6:1&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw2.saar.freifunk.net&lt;br /&gt;
| freifunk.dyn.hacksaar.de&lt;br /&gt;
| (dynamisch)&lt;br /&gt;
| (dynamisch)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw3.saar.freifunk.net&lt;br /&gt;
| ns326072.ip-37-187-107.eu&lt;br /&gt;
| 37.187.107.18&lt;br /&gt;
| 2001:41d0:a:3b12::1&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw4.saar.freifunk.net&lt;br /&gt;
| ns327157.ip-37-187-109.eu&lt;br /&gt;
| 37.187.109.160&lt;br /&gt;
| 2001:41d0:a:62a0::1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Anmerkung: GW2 steht im Hackerspace des TKS e.V. hinter einem dynamischen Kabel Deutschland Anschluss, daher sind die IP-Adressen hier dynamisch.&lt;br /&gt;
&lt;br /&gt;
Weitere Anmerkung: GW3 und 4 sind Kimsufi-Server, deren DNS-CName verweist noch nicht auf die IPv6-Adresse der Server. &lt;br /&gt;
&lt;br /&gt;
= Mesh IPs =&lt;br /&gt;
&lt;br /&gt;
Jeder Gateway ist Teil unseres Mesh-VPN und braucht als solches diverse Adressen, über die er im Mesh erreichbar ist.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Gateway&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Saar Mesh IPv4&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Saar Mesh IPv6&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Saar Mesh MAC&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Test Mesh IPv4&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Test Mesh IPv6&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Test Mesh MAC&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw1.saar.freifunk.net&lt;br /&gt;
| 10.24.192.2&lt;br /&gt;
| fd4e:f2d7:88d2:ffff::2&lt;br /&gt;
| ca:fe:ba:be:00:01&lt;br /&gt;
| 10.252.0.2&lt;br /&gt;
| fd4e:f2d7:88d2:fffd::2&lt;br /&gt;
| ca:fe:ba:be:01:01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw2.saar.freifunk.net&lt;br /&gt;
| 10.24.192.3&lt;br /&gt;
| fd4e:f2d7:88d2:ffff::3&lt;br /&gt;
| ca:fe:ba:be:00:02&lt;br /&gt;
| 10.252.0.3&lt;br /&gt;
| fd4e:f2d7:88d2:fffd::3&lt;br /&gt;
| ca:fe:ba:be:01:02&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw3.saar.freifunk.net&lt;br /&gt;
| 10.24.192.4&lt;br /&gt;
| fd4e:f2d7:88d2:ffff::4&lt;br /&gt;
| ca:fe:ba:be:00:03&lt;br /&gt;
| 10.252.0.4&lt;br /&gt;
| fd4e:f2d7:88d2:fffd::4&lt;br /&gt;
| ca:fe:ba:be:01:03&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw4.saar.freifunk.net&lt;br /&gt;
| 10.24.192.5&lt;br /&gt;
| fd4e:f2d7:88d2:ffff::5&lt;br /&gt;
| ca:fe:ba:be:00:04&lt;br /&gt;
| 10.252.0.5&lt;br /&gt;
| fd4e:f2d7:88d2:fffd::5&lt;br /&gt;
| ca:fe:ba:be:01:04&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Darüber hinaus gibt es in jedem Netz eine Anycast IP, die immer auf das gerade verwendete Gateway zeigt:&lt;br /&gt;
&lt;br /&gt;
Saar: 10.24.192.1 / fd4e:f2d7:88d2:ffff::1&lt;br /&gt;
Test: 10.24.128.1 / fd4e:f2d7:88d2:fffe::1&lt;br /&gt;
&lt;br /&gt;
= DHCP-Ranges =&lt;br /&gt;
&lt;br /&gt;
Auf jedem Gateway läuft pro Netz (Saar, Test) ein DHCP-Server, der IP-Adressen an Clients verteilt, die diesen Server als Gateway nutzen. Grundsätzlich verteilen wir hier /22-Ranges, also bis zu 1022 IP-Adressen pro Gateway. Ich halte es für denkbar, dass ein einzelner Server nicht so viele Clients packt, aber reduzieren geht ja schließlich immer, erweitern ist problematisch.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Gateway&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Saar DHCP Range&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Test DHCP Range&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw1.saar.freifunk.net&lt;br /&gt;
| 10.24.196.0/22&lt;br /&gt;
| 10.252.4.0/22&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw2.saar.freifunk.net&lt;br /&gt;
| 10.24.200.0/22&lt;br /&gt;
| 10.252.8.0/22&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw3.saar.freifunk.net&lt;br /&gt;
| 10.24.204.0/22&lt;br /&gt;
| 10.252.12.0/22&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw4.saar.freifunk.net&lt;br /&gt;
| 10.24.208.0/22&lt;br /&gt;
| 10.252.16.0/22&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Reservierte andere Ranges:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Zuweisung&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Saar-Range&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Test-Range&lt;br /&gt;
|-&lt;br /&gt;
| Admin-Netz&lt;br /&gt;
| 10.24.192.0/24&lt;br /&gt;
| 10.252.0.0/24&lt;br /&gt;
|-&lt;br /&gt;
| Nicht zugewiesen&lt;br /&gt;
| 10.24.193.0/24&lt;br /&gt;
| 10.252.1.0/24&lt;br /&gt;
|-&lt;br /&gt;
| User Services&lt;br /&gt;
| 10.24.194.0/23&lt;br /&gt;
| 10.252.2.0/23&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Mesh Public Keys =&lt;br /&gt;
&lt;br /&gt;
Das Mesh-VPN wird mit der VPN-Software fastd realisiert. Sie ist klein und schnell und damit wunderbar für den Einsatz auf Routern geeignet. &lt;br /&gt;
&lt;br /&gt;
Die saarländischen Mesh-Instanzen lauschen immer auf UDP Port 10003, die Testinstanzen auf Port 10005. Als Cipher unterstützen unsere Server salsa2012+umac, die VPN-interne MTU beträgt 1406 byte.&lt;br /&gt;
&lt;br /&gt;
Hier die Public Keys und den Online-Status (nicht live) unserer Gateways:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Gateway&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Public Key Saar&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Aktiv?&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Public Key Test&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Aktiv?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw1.saar.freifunk.net&lt;br /&gt;
| 5136a920a8c7aa9ae2ca1c2a1e33ea8c45e01501fac0f02b9d6a05b167ac5993&lt;br /&gt;
| Ja&lt;br /&gt;
| 4ed85c21d3db653bd2f1b210a8b60cbe25c40a3c2b756fc9c30d864466ad519d&lt;br /&gt;
| Ja&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw2.saar.freifunk.net&lt;br /&gt;
| 80859883c8a22867b20082078ab0934bdf58f556e7acda90730ea282d8da9388&lt;br /&gt;
| Ja&lt;br /&gt;
| 0ce6c650b07207b05ee4be3680cb1b1c69aea92fd76fecda50c720061f5cf9af&lt;br /&gt;
| Ja&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw3.saar.freifunk.net&lt;br /&gt;
| 711d1dc6f2048ffe88997441612ca764595b414abea5495c4f3ce746c72774e6&lt;br /&gt;
| Ja&lt;br /&gt;
| 440fa235832b933bebb66c91929a83a9c3a47348f164b1c7440661bb142dd32b&lt;br /&gt;
| Ja&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw4.saar.freifunk.net&lt;br /&gt;
| 33e02014b00a45bc8249b4428a9da614a370b5e386fa5d8d66c325941aa27568&lt;br /&gt;
| Ja&lt;br /&gt;
| 260f0a780281f49cdee9332c2139416cd715fb0257ac75d49ce43c4125654e36&lt;br /&gt;
| Ja&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Mesh WLAN =&lt;br /&gt;
&lt;br /&gt;
Hier die Details für das WLAN auf den Clients&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Netz&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Mesh {E/B}SSID&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Clients ESSID&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | 2.4 GHz Kanal&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | 5 GHz Kanal&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | HT-Modul&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | Saar&lt;br /&gt;
| 5e:ba:7a:d2:c4:ba&lt;br /&gt;
| saar.freifunk.net&lt;br /&gt;
| 1&lt;br /&gt;
| 36&lt;br /&gt;
| HT40+&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | Test&lt;br /&gt;
| 5e:ba:7a:d2:c4:bb&lt;br /&gt;
| saartest.freifunk.net&lt;br /&gt;
| 1&lt;br /&gt;
| 36&lt;br /&gt;
| HT40+&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Freifunk]]&lt;/div&gt;</summary>
		<author><name>Tobi042</name></author>
	</entry>
	<entry>
		<id>https://wiki.hacksaar.de/index.php?title=Freifunk:IP-Adressen&amp;diff=2087</id>
		<title>Freifunk:IP-Adressen</title>
		<link rel="alternate" type="text/html" href="https://wiki.hacksaar.de/index.php?title=Freifunk:IP-Adressen&amp;diff=2087"/>
		<updated>2015-10-21T17:27:10Z</updated>

		<summary type="html">&lt;p&gt;Tobi042: /* Mesh IPs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hier sind ein paar technische Details zu unseren Gateway-Servern.&lt;br /&gt;
&lt;br /&gt;
= Team =&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich kümmert sich jeder aus dem Team um allgemeine Fragen auf der Mailingliste und das Eintragen von neuen VPN-Keys. Darüber hinaus haben manche Team-Mitglieder spezielle Aufgaben, die sie ausführen bzw. Themengebiete mit denen sie sich besonders auskennen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Name&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Aufgabenbereiche&lt;br /&gt;
|-&lt;br /&gt;
| [[Benutzer:Kimcm|KimCM]]&lt;br /&gt;
| Public Relations, Webseite&lt;br /&gt;
|-&lt;br /&gt;
| [[Benutzer:Tobi042|Tobias Theobald]]&lt;br /&gt;
| Gateway-Administration, Firmware, allgemeine technische Fragen&lt;br /&gt;
|-&lt;br /&gt;
| [[Benutzer:Rugosh|Tobias Kuhn]]&lt;br /&gt;
| Knotenkarte, Alfred&lt;br /&gt;
|-&lt;br /&gt;
| Tobias von dem Broch&lt;br /&gt;
| Richtfunk, Antennenfragen&lt;br /&gt;
|-&lt;br /&gt;
| [[Benutzer:Marvin|Marvin W]]&lt;br /&gt;
| Richtfunk&lt;br /&gt;
|-&lt;br /&gt;
| [[Benutzer:Constantin|Constantin Berhard]]&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Hardware-Details =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Gateway&lt;br /&gt;
! CPU Typ&lt;br /&gt;
! CPU Kerne / Threads&lt;br /&gt;
! RAM&lt;br /&gt;
! Platte&lt;br /&gt;
! Internet-Anbindung&lt;br /&gt;
! Hoster&lt;br /&gt;
! Sponsor&lt;br /&gt;
! Zusätzliche Services&lt;br /&gt;
! Virtualisierung&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw1.saar.freifunk.net&lt;br /&gt;
| Intel(R) Xeon(R) CPU L5520 @ 2.27GHz&lt;br /&gt;
| 4 / 4&lt;br /&gt;
| 512 MB&lt;br /&gt;
| 50 GB&lt;br /&gt;
| 100 MBit Shared&lt;br /&gt;
| server.lu&lt;br /&gt;
| Tobias Theobald / Marc Schmit&lt;br /&gt;
| Firmwares für Autoupdater, Knotenkarte&lt;br /&gt;
| Xen&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw2.saar.freifunk.net&lt;br /&gt;
| Intel Core i7 9xx&lt;br /&gt;
| 2 / 2&lt;br /&gt;
| 512 MB&lt;br /&gt;
| 10 GB&lt;br /&gt;
| 100 MBit down / 6 MBit up&lt;br /&gt;
| &lt;br /&gt;
| TKS e.V.&lt;br /&gt;
| &lt;br /&gt;
| KVM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw3.saar.freifunk.net&lt;br /&gt;
| Intel(R) Atom(TM) CPU N2800 @ 1.86GHz&lt;br /&gt;
| 2 / 4&lt;br /&gt;
| 2 GB&lt;br /&gt;
| 500 GB&lt;br /&gt;
| 100 MBit shared&lt;br /&gt;
| Kimsufi / OVH&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw4.saar.freifunk.net&lt;br /&gt;
| Intel(R) Atom(TM) CPU N2800 @ 1.86GHz&lt;br /&gt;
| 2 / 4&lt;br /&gt;
| 2 GB&lt;br /&gt;
| 500 GB&lt;br /&gt;
| 100 MBit shared&lt;br /&gt;
| Kimsufi / OVH&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| ?&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Public DNS / IPs =&lt;br /&gt;
&lt;br /&gt;
Hier eine Tabelle mit den DNS-Namen und IP-Adressen unserer Gateways.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Gateway&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Alt DNS Name&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Public IPv4&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Public IPv6&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw1.saar.freifunk.net&lt;br /&gt;
| freifunk.tobi042.de&lt;br /&gt;
| 94.242.195.78&lt;br /&gt;
| 2a01:608:ffff:9876:cafe:babe:6:1&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw2.saar.freifunk.net&lt;br /&gt;
| freifunk.dyn.hacksaar.de&lt;br /&gt;
| (dynamisch)&lt;br /&gt;
| (dynamisch)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw3.saar.freifunk.net&lt;br /&gt;
| ns326072.ip-37-187-107.eu&lt;br /&gt;
| 37.187.107.18&lt;br /&gt;
| 2001:41d0:a:3b12::1&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw4.saar.freifunk.net&lt;br /&gt;
| ns327157.ip-37-187-109.eu&lt;br /&gt;
| 37.187.109.160&lt;br /&gt;
| 2001:41d0:a:62a0::1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Anmerkung: GW2 steht im Hackerspace des TKS e.V. hinter einem dynamischen Kabel Deutschland Anschluss, daher sind die IP-Adressen hier dynamisch.&lt;br /&gt;
&lt;br /&gt;
Weitere Anmerkung: GW3 und 4 sind Kimsufi-Server, deren DNS-CName verweist noch nicht auf die IPv6-Adresse der Server. &lt;br /&gt;
&lt;br /&gt;
= Mesh IPs =&lt;br /&gt;
&lt;br /&gt;
Jeder Gateway ist Teil unseres Mesh-VPN und braucht als solches diverse Adressen, über die er im Mesh erreichbar ist.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Gateway&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Saar Mesh IPv4&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Saar Mesh IPv6&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Saar Mesh MAC&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Tobi Mesh IPv4&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Tobi Mesh IPv6&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Tobi Mesh MAC&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw1.saar.freifunk.net&lt;br /&gt;
| 10.24.192.2&lt;br /&gt;
| fd4e:f2d7:88d2:ffff::2&lt;br /&gt;
| ca:fe:ba:be:00:01&lt;br /&gt;
| 10.252.0.2&lt;br /&gt;
| fd4e:f2d7:88d2:fffd::2&lt;br /&gt;
| ca:fe:ba:be:01:01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw2.saar.freifunk.net&lt;br /&gt;
| 10.24.192.3&lt;br /&gt;
| fd4e:f2d7:88d2:ffff::3&lt;br /&gt;
| ca:fe:ba:be:00:02&lt;br /&gt;
| 10.252.0.3&lt;br /&gt;
| fd4e:f2d7:88d2:fffd::3&lt;br /&gt;
| ca:fe:ba:be:01:02&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw3.saar.freifunk.net&lt;br /&gt;
| 10.24.192.4&lt;br /&gt;
| fd4e:f2d7:88d2:ffff::4&lt;br /&gt;
| ca:fe:ba:be:00:03&lt;br /&gt;
| 10.252.0.4&lt;br /&gt;
| fd4e:f2d7:88d2:fffd::4&lt;br /&gt;
| ca:fe:ba:be:01:03&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw4.saar.freifunk.net&lt;br /&gt;
| 10.24.192.5&lt;br /&gt;
| fd4e:f2d7:88d2:ffff::5&lt;br /&gt;
| ca:fe:ba:be:00:04&lt;br /&gt;
| 10.252.0.5&lt;br /&gt;
| fd4e:f2d7:88d2:fffd::5&lt;br /&gt;
| ca:fe:ba:be:01:04&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Darüber hinaus gibt es in jedem Netz eine Anycast IP, die immer auf das gerade verwendete Gateway zeigt:&lt;br /&gt;
&lt;br /&gt;
Saar: 10.24.192.1 / fd4e:f2d7:88d2:ffff::1&lt;br /&gt;
Test: 10.24.128.1 / fd4e:f2d7:88d2:fffe::1&lt;br /&gt;
&lt;br /&gt;
= DHCP-Ranges =&lt;br /&gt;
&lt;br /&gt;
Auf jedem Gateway läuft pro Netz (Saar, Test) ein DHCP-Server, der IP-Adressen an Clients verteilt, die diesen Server als Gateway nutzen. Grundsätzlich verteilen wir hier /22-Ranges, also bis zu 1022 IP-Adressen pro Gateway. Ich halte es für denkbar, dass ein einzelner Server nicht so viele Clients packt, aber reduzieren geht ja schließlich immer, erweitern ist problematisch.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Gateway&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Saar DHCP Range&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Test DHCP Range&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw1.saar.freifunk.net&lt;br /&gt;
| 10.24.196.0/22&lt;br /&gt;
| 10.252.4.0/22&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw2.saar.freifunk.net&lt;br /&gt;
| 10.24.200.0/22&lt;br /&gt;
| 10.252.8.0/22&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw3.saar.freifunk.net&lt;br /&gt;
| 10.24.204.0/22&lt;br /&gt;
| 10.252.12.0/22&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw4.saar.freifunk.net&lt;br /&gt;
| 10.24.208.0/22&lt;br /&gt;
| 10.252.16.0/22&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Reservierte andere Ranges:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Zuweisung&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Saar-Range&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Test-Range&lt;br /&gt;
|-&lt;br /&gt;
| Admin-Netz&lt;br /&gt;
| 10.24.192.0/24&lt;br /&gt;
| 10.252.0.0/24&lt;br /&gt;
|-&lt;br /&gt;
| Nicht zugewiesen&lt;br /&gt;
| 10.24.193.0/24&lt;br /&gt;
| 10.252.1.0/24&lt;br /&gt;
|-&lt;br /&gt;
| User Services&lt;br /&gt;
| 10.24.194.0/23&lt;br /&gt;
| 10.252.2.0/23&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Mesh Public Keys =&lt;br /&gt;
&lt;br /&gt;
Das Mesh-VPN wird mit der VPN-Software fastd realisiert. Sie ist klein und schnell und damit wunderbar für den Einsatz auf Routern geeignet. &lt;br /&gt;
&lt;br /&gt;
Die saarländischen Mesh-Instanzen lauschen immer auf UDP Port 10003, die Testinstanzen auf Port 10005. Als Cipher unterstützen unsere Server salsa2012+umac, die VPN-interne MTU beträgt 1406 byte.&lt;br /&gt;
&lt;br /&gt;
Hier die Public Keys und den Online-Status (nicht live) unserer Gateways:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Gateway&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Public Key Saar&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Aktiv?&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Public Key Test&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Aktiv?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw1.saar.freifunk.net&lt;br /&gt;
| 5136a920a8c7aa9ae2ca1c2a1e33ea8c45e01501fac0f02b9d6a05b167ac5993&lt;br /&gt;
| Ja&lt;br /&gt;
| 4ed85c21d3db653bd2f1b210a8b60cbe25c40a3c2b756fc9c30d864466ad519d&lt;br /&gt;
| Ja&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw2.saar.freifunk.net&lt;br /&gt;
| 80859883c8a22867b20082078ab0934bdf58f556e7acda90730ea282d8da9388&lt;br /&gt;
| Ja&lt;br /&gt;
| 0ce6c650b07207b05ee4be3680cb1b1c69aea92fd76fecda50c720061f5cf9af&lt;br /&gt;
| Ja&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw3.saar.freifunk.net&lt;br /&gt;
| 711d1dc6f2048ffe88997441612ca764595b414abea5495c4f3ce746c72774e6&lt;br /&gt;
| Ja&lt;br /&gt;
| 440fa235832b933bebb66c91929a83a9c3a47348f164b1c7440661bb142dd32b&lt;br /&gt;
| Ja&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw4.saar.freifunk.net&lt;br /&gt;
| 33e02014b00a45bc8249b4428a9da614a370b5e386fa5d8d66c325941aa27568&lt;br /&gt;
| Ja&lt;br /&gt;
| 260f0a780281f49cdee9332c2139416cd715fb0257ac75d49ce43c4125654e36&lt;br /&gt;
| Ja&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Mesh WLAN =&lt;br /&gt;
&lt;br /&gt;
Hier die Details für das WLAN auf den Clients&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Netz&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Mesh {E/B}SSID&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Clients ESSID&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | 2.4 GHz Kanal&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | 5 GHz Kanal&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | HT-Modul&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | Saar&lt;br /&gt;
| 5e:ba:7a:d2:c4:ba&lt;br /&gt;
| saar.freifunk.net&lt;br /&gt;
| 1&lt;br /&gt;
| 36&lt;br /&gt;
| HT40+&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | Test&lt;br /&gt;
| 5e:ba:7a:d2:c4:bb&lt;br /&gt;
| saartest.freifunk.net&lt;br /&gt;
| 1&lt;br /&gt;
| 36&lt;br /&gt;
| HT40+&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Freifunk]]&lt;/div&gt;</summary>
		<author><name>Tobi042</name></author>
	</entry>
	<entry>
		<id>https://wiki.hacksaar.de/index.php?title=Freifunk:IP-Adressen&amp;diff=2086</id>
		<title>Freifunk:IP-Adressen</title>
		<link rel="alternate" type="text/html" href="https://wiki.hacksaar.de/index.php?title=Freifunk:IP-Adressen&amp;diff=2086"/>
		<updated>2015-10-21T17:23:39Z</updated>

		<summary type="html">&lt;p&gt;Tobi042: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hier sind ein paar technische Details zu unseren Gateway-Servern.&lt;br /&gt;
&lt;br /&gt;
= Team =&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich kümmert sich jeder aus dem Team um allgemeine Fragen auf der Mailingliste und das Eintragen von neuen VPN-Keys. Darüber hinaus haben manche Team-Mitglieder spezielle Aufgaben, die sie ausführen bzw. Themengebiete mit denen sie sich besonders auskennen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Name&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Aufgabenbereiche&lt;br /&gt;
|-&lt;br /&gt;
| [[Benutzer:Kimcm|KimCM]]&lt;br /&gt;
| Public Relations, Webseite&lt;br /&gt;
|-&lt;br /&gt;
| [[Benutzer:Tobi042|Tobias Theobald]]&lt;br /&gt;
| Gateway-Administration, Firmware, allgemeine technische Fragen&lt;br /&gt;
|-&lt;br /&gt;
| [[Benutzer:Rugosh|Tobias Kuhn]]&lt;br /&gt;
| Knotenkarte, Alfred&lt;br /&gt;
|-&lt;br /&gt;
| Tobias von dem Broch&lt;br /&gt;
| Richtfunk, Antennenfragen&lt;br /&gt;
|-&lt;br /&gt;
| [[Benutzer:Marvin|Marvin W]]&lt;br /&gt;
| Richtfunk&lt;br /&gt;
|-&lt;br /&gt;
| [[Benutzer:Constantin|Constantin Berhard]]&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Hardware-Details =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Gateway&lt;br /&gt;
! CPU Typ&lt;br /&gt;
! CPU Kerne / Threads&lt;br /&gt;
! RAM&lt;br /&gt;
! Platte&lt;br /&gt;
! Internet-Anbindung&lt;br /&gt;
! Hoster&lt;br /&gt;
! Sponsor&lt;br /&gt;
! Zusätzliche Services&lt;br /&gt;
! Virtualisierung&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw1.saar.freifunk.net&lt;br /&gt;
| Intel(R) Xeon(R) CPU L5520 @ 2.27GHz&lt;br /&gt;
| 4 / 4&lt;br /&gt;
| 512 MB&lt;br /&gt;
| 50 GB&lt;br /&gt;
| 100 MBit Shared&lt;br /&gt;
| server.lu&lt;br /&gt;
| Tobias Theobald / Marc Schmit&lt;br /&gt;
| Firmwares für Autoupdater, Knotenkarte&lt;br /&gt;
| Xen&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw2.saar.freifunk.net&lt;br /&gt;
| Intel Core i7 9xx&lt;br /&gt;
| 2 / 2&lt;br /&gt;
| 512 MB&lt;br /&gt;
| 10 GB&lt;br /&gt;
| 100 MBit down / 6 MBit up&lt;br /&gt;
| &lt;br /&gt;
| TKS e.V.&lt;br /&gt;
| &lt;br /&gt;
| KVM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw3.saar.freifunk.net&lt;br /&gt;
| Intel(R) Atom(TM) CPU N2800 @ 1.86GHz&lt;br /&gt;
| 2 / 4&lt;br /&gt;
| 2 GB&lt;br /&gt;
| 500 GB&lt;br /&gt;
| 100 MBit shared&lt;br /&gt;
| Kimsufi / OVH&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw4.saar.freifunk.net&lt;br /&gt;
| Intel(R) Atom(TM) CPU N2800 @ 1.86GHz&lt;br /&gt;
| 2 / 4&lt;br /&gt;
| 2 GB&lt;br /&gt;
| 500 GB&lt;br /&gt;
| 100 MBit shared&lt;br /&gt;
| Kimsufi / OVH&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| ?&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Public DNS / IPs =&lt;br /&gt;
&lt;br /&gt;
Hier eine Tabelle mit den DNS-Namen und IP-Adressen unserer Gateways.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Gateway&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Alt DNS Name&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Public IPv4&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Public IPv6&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw1.saar.freifunk.net&lt;br /&gt;
| freifunk.tobi042.de&lt;br /&gt;
| 94.242.195.78&lt;br /&gt;
| 2a01:608:ffff:9876:cafe:babe:6:1&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw2.saar.freifunk.net&lt;br /&gt;
| freifunk.dyn.hacksaar.de&lt;br /&gt;
| (dynamisch)&lt;br /&gt;
| (dynamisch)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw3.saar.freifunk.net&lt;br /&gt;
| ns326072.ip-37-187-107.eu&lt;br /&gt;
| 37.187.107.18&lt;br /&gt;
| 2001:41d0:a:3b12::1&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw4.saar.freifunk.net&lt;br /&gt;
| ns327157.ip-37-187-109.eu&lt;br /&gt;
| 37.187.109.160&lt;br /&gt;
| 2001:41d0:a:62a0::1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Anmerkung: GW2 steht im Hackerspace des TKS e.V. hinter einem dynamischen Kabel Deutschland Anschluss, daher sind die IP-Adressen hier dynamisch.&lt;br /&gt;
&lt;br /&gt;
Weitere Anmerkung: GW3 und 4 sind Kimsufi-Server, deren DNS-CName verweist noch nicht auf die IPv6-Adresse der Server. &lt;br /&gt;
&lt;br /&gt;
= Mesh IPs =&lt;br /&gt;
&lt;br /&gt;
Jeder Gateway ist Teil unseres Mesh-VPN und braucht als solches diverse Adressen, über die er im Mesh erreichbar ist.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Gateway&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Saar Mesh IPv4&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Saar Mesh IPv6&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Saar Mesh MAC&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Tobi Mesh IPv4&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Tobi Mesh IPv6&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Tobi Mesh MAC&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw1.saar.freifunk.net&lt;br /&gt;
| 10.24.192.2&lt;br /&gt;
| fd4e:f2d7:88d2:ffff::2&lt;br /&gt;
| ca:fe:ba:be:00:01&lt;br /&gt;
| 10.252.0.2&lt;br /&gt;
| fd4e:f2d7:88d2:fffe::2&lt;br /&gt;
| ca:fe:ba:be:01:01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw2.saar.freifunk.net&lt;br /&gt;
| 10.24.192.3&lt;br /&gt;
| fd4e:f2d7:88d2:ffff::3&lt;br /&gt;
| ca:fe:ba:be:00:02&lt;br /&gt;
| 10.252.0.3&lt;br /&gt;
| fd4e:f2d7:88d2:fffe::3&lt;br /&gt;
| ca:fe:ba:be:01:02&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw3.saar.freifunk.net&lt;br /&gt;
| 10.24.192.4&lt;br /&gt;
| fd4e:f2d7:88d2:ffff::4&lt;br /&gt;
| ca:fe:ba:be:00:03&lt;br /&gt;
| 10.252.0.4&lt;br /&gt;
| fd4e:f2d7:88d2:fffe::4&lt;br /&gt;
| ca:fe:ba:be:01:03&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw4.saar.freifunk.net&lt;br /&gt;
| 10.24.192.5&lt;br /&gt;
| fd4e:f2d7:88d2:ffff::5&lt;br /&gt;
| ca:fe:ba:be:00:04&lt;br /&gt;
| 10.252.0.5&lt;br /&gt;
| fd4e:f2d7:88d2:fffe::5&lt;br /&gt;
| ca:fe:ba:be:01:04&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Darüber hinaus gibt es in jedem Netz eine Anycast IP, die immer auf das gerade verwendete Gateway zeigt:&lt;br /&gt;
&lt;br /&gt;
Saar: 10.24.192.1 / fd4e:f2d7:88d2:ffff::1&lt;br /&gt;
Test: 10.24.128.1 / fd4e:f2d7:88d2:fffe::1&lt;br /&gt;
&lt;br /&gt;
= DHCP-Ranges =&lt;br /&gt;
&lt;br /&gt;
Auf jedem Gateway läuft pro Netz (Saar, Test) ein DHCP-Server, der IP-Adressen an Clients verteilt, die diesen Server als Gateway nutzen. Grundsätzlich verteilen wir hier /22-Ranges, also bis zu 1022 IP-Adressen pro Gateway. Ich halte es für denkbar, dass ein einzelner Server nicht so viele Clients packt, aber reduzieren geht ja schließlich immer, erweitern ist problematisch.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Gateway&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Saar DHCP Range&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Test DHCP Range&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw1.saar.freifunk.net&lt;br /&gt;
| 10.24.196.0/22&lt;br /&gt;
| 10.252.4.0/22&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw2.saar.freifunk.net&lt;br /&gt;
| 10.24.200.0/22&lt;br /&gt;
| 10.252.8.0/22&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw3.saar.freifunk.net&lt;br /&gt;
| 10.24.204.0/22&lt;br /&gt;
| 10.252.12.0/22&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw4.saar.freifunk.net&lt;br /&gt;
| 10.24.208.0/22&lt;br /&gt;
| 10.252.16.0/22&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Reservierte andere Ranges:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Zuweisung&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Saar-Range&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Test-Range&lt;br /&gt;
|-&lt;br /&gt;
| Admin-Netz&lt;br /&gt;
| 10.24.192.0/24&lt;br /&gt;
| 10.252.0.0/24&lt;br /&gt;
|-&lt;br /&gt;
| Nicht zugewiesen&lt;br /&gt;
| 10.24.193.0/24&lt;br /&gt;
| 10.252.1.0/24&lt;br /&gt;
|-&lt;br /&gt;
| User Services&lt;br /&gt;
| 10.24.194.0/23&lt;br /&gt;
| 10.252.2.0/23&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Mesh Public Keys =&lt;br /&gt;
&lt;br /&gt;
Das Mesh-VPN wird mit der VPN-Software fastd realisiert. Sie ist klein und schnell und damit wunderbar für den Einsatz auf Routern geeignet. &lt;br /&gt;
&lt;br /&gt;
Die saarländischen Mesh-Instanzen lauschen immer auf UDP Port 10003, die Testinstanzen auf Port 10005. Als Cipher unterstützen unsere Server salsa2012+umac, die VPN-interne MTU beträgt 1406 byte.&lt;br /&gt;
&lt;br /&gt;
Hier die Public Keys und den Online-Status (nicht live) unserer Gateways:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Gateway&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Public Key Saar&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Aktiv?&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Public Key Test&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Aktiv?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw1.saar.freifunk.net&lt;br /&gt;
| 5136a920a8c7aa9ae2ca1c2a1e33ea8c45e01501fac0f02b9d6a05b167ac5993&lt;br /&gt;
| Ja&lt;br /&gt;
| 4ed85c21d3db653bd2f1b210a8b60cbe25c40a3c2b756fc9c30d864466ad519d&lt;br /&gt;
| Ja&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw2.saar.freifunk.net&lt;br /&gt;
| 80859883c8a22867b20082078ab0934bdf58f556e7acda90730ea282d8da9388&lt;br /&gt;
| Ja&lt;br /&gt;
| 0ce6c650b07207b05ee4be3680cb1b1c69aea92fd76fecda50c720061f5cf9af&lt;br /&gt;
| Ja&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw3.saar.freifunk.net&lt;br /&gt;
| 711d1dc6f2048ffe88997441612ca764595b414abea5495c4f3ce746c72774e6&lt;br /&gt;
| Ja&lt;br /&gt;
| 440fa235832b933bebb66c91929a83a9c3a47348f164b1c7440661bb142dd32b&lt;br /&gt;
| Ja&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw4.saar.freifunk.net&lt;br /&gt;
| 33e02014b00a45bc8249b4428a9da614a370b5e386fa5d8d66c325941aa27568&lt;br /&gt;
| Ja&lt;br /&gt;
| 260f0a780281f49cdee9332c2139416cd715fb0257ac75d49ce43c4125654e36&lt;br /&gt;
| Ja&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Mesh WLAN =&lt;br /&gt;
&lt;br /&gt;
Hier die Details für das WLAN auf den Clients&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Netz&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Mesh {E/B}SSID&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Clients ESSID&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | 2.4 GHz Kanal&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | 5 GHz Kanal&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | HT-Modul&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | Saar&lt;br /&gt;
| 5e:ba:7a:d2:c4:ba&lt;br /&gt;
| saar.freifunk.net&lt;br /&gt;
| 1&lt;br /&gt;
| 36&lt;br /&gt;
| HT40+&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | Test&lt;br /&gt;
| 5e:ba:7a:d2:c4:bb&lt;br /&gt;
| saartest.freifunk.net&lt;br /&gt;
| 1&lt;br /&gt;
| 36&lt;br /&gt;
| HT40+&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Freifunk]]&lt;/div&gt;</summary>
		<author><name>Tobi042</name></author>
	</entry>
	<entry>
		<id>https://wiki.hacksaar.de/index.php?title=Freifunk:Mesh-VPN_Gateway-Server_einrichten&amp;diff=2037</id>
		<title>Freifunk:Mesh-VPN Gateway-Server einrichten</title>
		<link rel="alternate" type="text/html" href="https://wiki.hacksaar.de/index.php?title=Freifunk:Mesh-VPN_Gateway-Server_einrichten&amp;diff=2037"/>
		<updated>2015-07-19T16:43:22Z</updated>

		<summary type="html">&lt;p&gt;Tobi042: /* IPTables */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Unsere Gateways laufen auf Debian 7 Wheezy. Diese Anleitungen orientieren sich an anderen Freifunk-Communities, aber einen sehr nennenswerten Einfluss hat die geniale Dokumentation von Freifunk Mainz, Wiesbaden und Umgebung (http://gluon-gateway-doku.readthedocs.org/de/latest/) gehabt.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
Größtenteils egal, wichtig ist folgendes: Root bekommt kein Passwort, dadurch wird der Root-Login gesperrt und man muss sudo benutzen. Als zu installierende Paketgruppen nutzen wir Debian-Standardutilities und SSH-Server.&lt;br /&gt;
&lt;br /&gt;
== SSH einrichten ==&lt;br /&gt;
&lt;br /&gt;
* Einloggen: &lt;br /&gt;
*: &amp;lt;code&amp;gt;ssh user@gwX.saar.freifunk.de&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;mkdir .ssh&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;echo &amp;quot;dein_ssh_key&amp;quot; &amp;gt; .ssh/authorized_keys&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;nano /etc/ssh/sshd_config&amp;lt;/code&amp;gt;&lt;br /&gt;
*: Folgende Änderungen vornehmen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;...&lt;br /&gt;
PermitRootLogin no&lt;br /&gt;
...&lt;br /&gt;
PasswordAuthentication no&lt;br /&gt;
...&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Alte Session aktiv lassen, in neuem Terminal versuchen mit Public Key einzuloggen. Wenn nicht erfolgreich debuggen.&lt;br /&gt;
* &amp;lt;code&amp;gt;sudo service ssh restart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Überflüssige Pakete deinstallieren ==&lt;br /&gt;
&lt;br /&gt;
Da wir eben etwas großzügig waren mit der Installation von Paketgruppen müssen wir jetzt exim und nfs-Kram deinstallieren:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;sudo apt-get remove exim4* nfs-common rpcbind&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Als Resultat sollte bei Ausführung von &amp;quot;sudo netstat -tulpn&amp;quot; keine Programme außer sshd und vielleicht dhclient angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
== Kimsufi / OVH Extras ==&lt;br /&gt;
&lt;br /&gt;
Bei den Servern von Kimsufi / OVH gibt es ein paar Kleinigkeiten zu beachten. Zum einen ist hier nicht sudo vorinstalliert, zum anderen benutzen die einen eigenen Kernel, den sie Rechnern vorinstallieren. Also müssen diesbezüglich erst einmal ein paar Vorkehrungen getroffen werden:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;apt-get install sudo linux-image-amd64&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;rm /etc/grub.d/06_OVHkernel&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;update-grub&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Danach sollte die VM neu gestartet werden um sicherzustellen, dass der neue Kernel auch wirklich bootet.&lt;br /&gt;
&lt;br /&gt;
== APT Sources hinzufügen ==&lt;br /&gt;
&lt;br /&gt;
Wir benötigen die Sources für fastd und batman-adv:&lt;br /&gt;
&lt;br /&gt;
* Mit &amp;lt;code&amp;gt;nano /etc/apt/sources.list&amp;lt;/code&amp;gt; folgendes hinzufügen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 deb http://security.debian.org/ wheezy/updates main contrib non-free&lt;br /&gt;
 deb-src http://security.debian.org/ wheezy/updates main contrib non-free&lt;br /&gt;
  &lt;br /&gt;
 # fastd&lt;br /&gt;
 deb http://ftp.de.debian.org/debian wheezy-backports main&lt;br /&gt;
 deb http://repo.universe-factory.net/debian/ sid main&lt;br /&gt;
&lt;br /&gt;
 # alfred&lt;br /&gt;
 deb http://debian.draic.info/ wheezy main&lt;br /&gt;
 deb-src http://debian.draic.info/ wheezy main&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Schlüssel für repo importieren: &lt;br /&gt;
* &amp;lt;code&amp;gt;gpg --keyserver pgpkeys.mit.edu --recv-key  B89033D8&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;gpg -a --export B89033D8 | apt-key add -&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;gpg --keyserver pgpkeys.mit.edu --recv-key  16EF3F64CB201D9C&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;gpg -a --export 16EF3F64CB201D9C | apt-key add -&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pakete installieren ==&lt;br /&gt;
* &amp;lt;code&amp;gt;apt-get update&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;apt-get install batctl batman-adv-dkms fastd bridge-utils ntp git htop iftop vnstat&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;echo &amp;quot;batman-adv&amp;quot; &amp;gt;&amp;gt; /etc/modules&amp;lt;/code&amp;gt;&lt;br /&gt;
* Zu beachten: Alle Pakete werden im folgenden eingerichtet. NTPs Standard-Config ist in Ordnung.&lt;br /&gt;
&lt;br /&gt;
== Netzwerk Grundkonfiguration ==&lt;br /&gt;
=== Sysctl Einstellungen ===&lt;br /&gt;
* /etc/sysctl.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Freifunk specific settings&lt;br /&gt;
net.ipv4.ip_forward=1&lt;br /&gt;
&lt;br /&gt;
net.bridge.bridge-nf-call-arptables = 0&lt;br /&gt;
net.bridge.bridge-nf-call-ip6tables = 0&lt;br /&gt;
net.bridge.bridge-nf-call-iptables = 0&lt;br /&gt;
&lt;br /&gt;
net.ipv6.conf.all.forwarding=1&lt;br /&gt;
&lt;br /&gt;
net.ipv6.conf.all.autoconf = 1&lt;br /&gt;
net.ipv6.conf.default.autoconf = 0&lt;br /&gt;
net.ipv6.conf.eth0.autoconf = 1&lt;br /&gt;
&lt;br /&gt;
net.ipv6.conf.all.accept_ra = 1&lt;br /&gt;
net.ipv6.conf.default.accept_ra = 0&lt;br /&gt;
net.ipv6.conf.eth0.accept_ra = 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Danach neu laden: &amp;lt;code&amp;gt;sysctl -p /etc/sysctl.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Routing Tables erstellen ===&lt;br /&gt;
* /etc/iproute2/rt_tables (bisherige Einstellungen beibehalten und folgende hinzufügen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# freifunk&lt;br /&gt;
32      saar&lt;br /&gt;
33      lux&lt;br /&gt;
42      icvpn&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Netzwerkinterafaces einstellen ===&lt;br /&gt;
* /etc/network/interfaces (andere Interfaces nach der entsprechenden Konfiguration belassen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# FREIFUNK SAAR&lt;br /&gt;
#&lt;br /&gt;
auto saarBR&lt;br /&gt;
iface saarBR inet static&lt;br /&gt;
    bridge_ports none&lt;br /&gt;
    bridge_fd 0&lt;br /&gt;
    bridge_maxwait 0&lt;br /&gt;
    address 10.24.192.XXX&lt;br /&gt;
    netmask 255.255.192.0&lt;br /&gt;
    # be sure all incoming traffic is handled by the appropriate rt_table&lt;br /&gt;
    post-up         /sbin/ip rule add iif $IFACE table saar priority 3200&lt;br /&gt;
    pre-down        /sbin/ip rule del iif $IFACE table saar priority 3200&lt;br /&gt;
    # default route is unreachable&lt;br /&gt;
    post-up         /sbin/ip route add unreachable default table saar&lt;br /&gt;
    post-down       /sbin/ip route del unreachable default table saar&lt;br /&gt;
    # local reachable subnet saar for rt_table lux&lt;br /&gt;
    post-up         /sbin/ip route add 10.24.128.0/18 proto static dev $IFACE table lux&lt;br /&gt;
    post-down       /sbin/ip route del 10.24.128.0/18 proto static dev $IFACE table lux&lt;br /&gt;
&lt;br /&gt;
iface saarBR inet6 static&lt;br /&gt;
    address fd4e:f2d7:88d2:ffff::XXX&lt;br /&gt;
    netmask 64&lt;br /&gt;
    # be sure all incoming traffic is handled by the appropriate rt_table&lt;br /&gt;
    post-up         /sbin/ip -6 rule add iif $IFACE table saar priority 3200&lt;br /&gt;
    pre-down        /sbin/ip -6 rule del iif $IFACE table saar priority 3200&lt;br /&gt;
    post-up         /sbin/ip -6 route add fe80::/64 proto static dev $IFACE table saar&lt;br /&gt;
    post-down       /sbin/ip -6 route del fe80::/64 proto static dev $IFACE table saar&lt;br /&gt;
    post-up         /sbin/ip -6 route add fd4e:f2d7:88d2:ffff::/64 proto static dev $IFACE table saar&lt;br /&gt;
    post-down       /sbin/ip -6 route del fd4e:f2d7:88d2:ffff::/64 proto static dev $IFACE table saar&lt;br /&gt;
    # ULA route mz for rt_table saar&lt;br /&gt;
    post-up         /sbin/ip -6 route add fd4e:f2d7:88d2:fffe::/64 proto static dev $IFACE table lux&lt;br /&gt;
    post-down       /sbin/ip -6 route del fd4e:f2d7:88d2:fffe::/64 proto static dev $IFACE table lux&lt;br /&gt;
&lt;br /&gt;
allow-hotplug saarMESH&lt;br /&gt;
iface saarMESH inet6 manual&lt;br /&gt;
    pre-up          /sbin/modprobe batman_adv&lt;br /&gt;
    post-up         /usr/sbin/batctl -m saarBAT if add $IFACE&lt;br /&gt;
    post-up         /sbin/ip link set dev saarBAT up&lt;br /&gt;
&lt;br /&gt;
allow-hotplug saarBAT&lt;br /&gt;
iface saarBAT inet6 manual&lt;br /&gt;
    pre-up          /sbin/modprobe batman-adv&lt;br /&gt;
    post-up         /sbin/brctl addif saarBR $IFACE&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE it 10000&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE vm server&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE gw server  6mbit/6mbit&lt;br /&gt;
    pre-down        /sbin/brctl delif saarBR $IFACE || true&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# FREIFUNK LUX &lt;br /&gt;
#&lt;br /&gt;
auto luxBR&lt;br /&gt;
iface luxBR inet static&lt;br /&gt;
    bridge_ports none&lt;br /&gt;
    bridge_fd 0&lt;br /&gt;
    bridge_maxwait 0&lt;br /&gt;
    address 10.24.128.XXX&lt;br /&gt;
    netmask 255.255.192.0&lt;br /&gt;
    # be sure all incoming traffic is handled by the appropriate rt_table&lt;br /&gt;
    post-up         /sbin/ip rule add iif $IFACE table lux priority 3300&lt;br /&gt;
    pre-down        /sbin/ip rule del iif $IFACE table lux priority 3300&lt;br /&gt;
    # default route is unreachable&lt;br /&gt;
    post-up         /sbin/ip route add unreachable default table lux &lt;br /&gt;
    post-down       /sbin/ip route del unreachable default table lux &lt;br /&gt;
    # local reachable subnet lux for rt_table saar&lt;br /&gt;
    post-up         /sbin/ip route add 10.24.192.0/18 proto static dev $IFACE table saar&lt;br /&gt;
    post-down       /sbin/ip route del 10.24.192.0/18 proto static dev $IFACE table saar&lt;br /&gt;
&lt;br /&gt;
iface luxBR inet6 static&lt;br /&gt;
    address fd4e:f2d7:88d2:fffe::XXX&lt;br /&gt;
    netmask 64&lt;br /&gt;
    # be sure all incoming traffic is handled by the appropriate rt_table&lt;br /&gt;
    post-up         /sbin/ip -6 rule add iif $IFACE table lux priority 3300&lt;br /&gt;
    pre-down        /sbin/ip -6 rule del iif $IFACE table lux priority 3300&lt;br /&gt;
    post-up         /sbin/ip -6 route add fe80::/64 proto static dev $IFACE table lux &lt;br /&gt;
    post-down       /sbin/ip -6 route del fe80::/64 proto static dev $IFACE table lux &lt;br /&gt;
    post-up         /sbin/ip -6 route add fd4e:f2d7:88d2:fffe::/64 proto static dev $IFACE table lux&lt;br /&gt;
    post-down       /sbin/ip -6 route del fd4e:f2d7:88d2:fffe::/64 proto static dev $IFACE table lux&lt;br /&gt;
    # ULA route saar for rt_table lux&lt;br /&gt;
    post-up         /sbin/ip -6 route add fd4e:f2d7:88d2:ffff::/64 proto static dev $IFACE table saar&lt;br /&gt;
    post-down       /sbin/ip -6 route del fd4e:f2d7:88d2:ffff::/64 proto static dev $IFACE table saar&lt;br /&gt;
&lt;br /&gt;
allow-hotplug luxMESH&lt;br /&gt;
iface luxMESH inet6 manual&lt;br /&gt;
    pre-up          /sbin/modprobe batman_adv&lt;br /&gt;
    post-up         /usr/sbin/batctl -m luxBAT if add $IFACE&lt;br /&gt;
    post-up         /sbin/ip link set dev luxBAT up&lt;br /&gt;
&lt;br /&gt;
allow-hotplug luxBAT&lt;br /&gt;
iface luxBAT inet6 manual&lt;br /&gt;
    pre-up          /sbin/modprobe batman-adv&lt;br /&gt;
    post-up         /sbin/brctl addif luxBR $IFACE&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE it 10000&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE vm server&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE gw server  6mbit/6mbit&lt;br /&gt;
    pre-down        /sbin/brctl delif luxBR $IFACE || true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Jedes Vorkommnis von XXX durch einen entsprechenden Wert aus dem Netzplan ersetzen, im Zweifel TobiT fragen&lt;br /&gt;
&lt;br /&gt;
== Helfer-Skripte ==&lt;br /&gt;
Es gibt 2 Helferskripte, die eingerichtet werden müssen. check_gateway.sh prüft minütlich, ob das ExitVPN noch steht. autoupdate_fastd_peers updatet die fastd-peers alle 5 Minuten per git.&lt;br /&gt;
=== check_gateway.sh ===&lt;br /&gt;
* /usr/bin/check_gateway.sh:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@gw2:/etc/fastd/freifunk-lux# less /usr/bin/check_gateway.sh&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
INTERFACE=tun0          # Set to name of VPN interface&lt;br /&gt;
DHCPSERVICE=dnsmasq     # Name of DHCP service&lt;br /&gt;
BANDWIDTH=XXX           # Server bandwidth&lt;br /&gt;
shopt -s nullglob&lt;br /&gt;
&lt;br /&gt;
# Test whether gateway is connected to the outer world via VPN&lt;br /&gt;
ping -q -I $INTERFACE 8.8.8.8 -c 4 -i 1 -W 5 &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
if test $? -eq 0; then&lt;br /&gt;
    NEW_STATE=server&lt;br /&gt;
else&lt;br /&gt;
    NEW_STATE=off&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Iterate through network interfaces in sys file system&lt;br /&gt;
for MESH in /sys/class/net/*/mesh; do&lt;br /&gt;
# Check whether gateway modus needs to be changed&lt;br /&gt;
OLD_STATE=&amp;quot;$(cat $MESH/gw_mode)&amp;quot;&lt;br /&gt;
[ &amp;quot;$OLD_STATE&amp;quot; == &amp;quot;$NEW_STATE&amp;quot; ] &amp;amp;&amp;amp; continue&lt;br /&gt;
    echo $NEW_STATE &amp;gt; $MESH/gw_mode&lt;br /&gt;
    echo ${BANDWIDTH}MBit/${BANDWIDTH}MBit &amp;gt; $MESH/gw_bandwidth&lt;br /&gt;
    logger &amp;quot;batman gateway mode changed to $NEW_STATE&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    # Check whether gateway modus has been deactivated&lt;br /&gt;
    if [ &amp;quot;$NEW_STATE&amp;quot; == &amp;quot;off&amp;quot; ]; then&lt;br /&gt;
        # Shutdown DHCP server to prevent renewal of leases&lt;br /&gt;
        /usr/sbin/service $DHCPSERVICE stop&lt;br /&gt;
    fi&lt;br /&gt;
&lt;br /&gt;
    # Check whether gateway modus has been activated&lt;br /&gt;
    if [ &amp;quot;$NEW_STATE&amp;quot; == &amp;quot;server&amp;quot; ]; then&lt;br /&gt;
        # Restart DHCP server&lt;br /&gt;
        /usr/sbin/service $DHCPSERVICE start&lt;br /&gt;
    fi&lt;br /&gt;
    exit 0&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
if [ &amp;quot;$NEW_STATE&amp;quot; == &amp;quot;server&amp;quot; ]; then&lt;br /&gt;
    /usr/sbin/service $DHCPSERVICE status 2&amp;gt;&amp;amp;1&amp;gt; /dev/null&lt;br /&gt;
    if [[ $? -ne 0 ]]&lt;br /&gt;
    then&lt;br /&gt;
        /usr/sbin/service $DHCPSERVICE restart&lt;br /&gt;
    fi&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$NEW_STATE&amp;quot; == &amp;quot;off&amp;quot; ]; then&lt;br /&gt;
    /usr/sbin/service $DHCPSERVICE status 2&amp;gt;&amp;amp;1&amp;gt; /dev/null&lt;br /&gt;
    if [[ $? -eq 0 ]]&lt;br /&gt;
    then&lt;br /&gt;
        /usr/sbin/service $DHCPSERVICE stop&lt;br /&gt;
    fi&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Ganz oben bei BANDWIDTH die Serverbandbreite in MBit/s einstellen, damit diese ordentlich via Batman announced werden kann.&lt;br /&gt;
* Speichern und mit &amp;lt;code&amp;gt;chmod +x /usr/bin/check_gateway.sh&amp;lt;/code&amp;gt; ausführbar machen&lt;br /&gt;
=== autoupdate_fastd_keys.sh ===&lt;br /&gt;
* /usr/bin/autoupate_fastd_keys.sh:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# Simple script to update fastd peers from git upstream&lt;br /&gt;
# and only send HUP to fastd when changes happend.&lt;br /&gt;
&lt;br /&gt;
# CONFIGURE THIS TO YOUR PEER DIRECTORY&lt;br /&gt;
FASTD_PEERS_ARRAY=( &amp;quot;freifunk-saar&amp;quot; &amp;quot;freifunk-lux&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
function getCurrentVersion() {&lt;br /&gt;
 # Get hash from latest revision&lt;br /&gt;
 git log --format=format:%H -1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
for FASTD_PEERS in &amp;quot;${FASTD_PEERS_ARRAY[@]}&amp;quot;&lt;br /&gt;
do&lt;br /&gt;
cd /etc/fastd/$FASTD_PEERS/peers&lt;br /&gt;
&lt;br /&gt;
# Get current version hash&lt;br /&gt;
GIT_REVISION=$(getCurrentVersion)&lt;br /&gt;
&lt;br /&gt;
# Automagically commit local changes&lt;br /&gt;
# This preserves local changes&lt;br /&gt;
git commit -m &amp;quot;CRON: auto commit&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Pull latest changes from upstream&lt;br /&gt;
git fetch&lt;br /&gt;
git merge origin/master -m &amp;quot;Auto Merge&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Get new version hash&lt;br /&gt;
GIT_NEW_REVISION=$(getCurrentVersion)&lt;br /&gt;
&lt;br /&gt;
if [ $GIT_REVISION != $GIT_NEW_REVISION ]&lt;br /&gt;
then&lt;br /&gt;
 # Version has changed we need to update&lt;br /&gt;
 echo &amp;quot;Reload fastd peers&amp;quot;&lt;br /&gt;
 kill -HUP $(cat /var/run/fastd.$FASTD_PEERS.pid)&lt;br /&gt;
fi&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Auch dieses Skript ausführbar machen: &amp;lt;code&amp;gt;chmod +x /usr/bin/autoupdate_fastd_keys.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
=== Skripte in crontab eintragen ===&lt;br /&gt;
* In &amp;lt;code&amp;gt;sudo crontab -e&amp;lt;/code&amp;gt; folgende Zeilen anhängen&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*/5 * * * *   /usr/bin/autoupdate_fastd_keys.sh &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
* * * * *   /usr/bin/check_gateway.sh &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Fastd-Config ==&lt;br /&gt;
* &amp;lt;code&amp;gt;mkdir /etc/fastd/freifunk-{saar,lux}/&amp;lt;/code&amp;gt;&lt;br /&gt;
* Config-Dateien anlegen und entsprechenden Inhalt reinkopieren:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
log level warn;&lt;br /&gt;
log to syslog level info;&lt;br /&gt;
&lt;br /&gt;
hide ip addresses yes;&lt;br /&gt;
hide mac addresses yes;&lt;br /&gt;
&lt;br /&gt;
interface &amp;quot;xxxxMESH&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
method &amp;quot;salsa2012+umac&amp;quot;;    # new method (faster)&lt;br /&gt;
method &amp;quot;salsa2012+gmac&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
bind any:10000 interface &amp;quot;eth0&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
include &amp;quot;secret.conf&amp;quot;;&lt;br /&gt;
mtu 1426; # 1492 - IPv4/IPv6 Header - fastd Header...&lt;br /&gt;
&lt;br /&gt;
include peers from &amp;quot;peers&amp;quot;;&lt;br /&gt;
include peers from &amp;quot;peers-gw&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
secure handshakes yes;&lt;br /&gt;
&lt;br /&gt;
on up &amp;quot;&lt;br /&gt;
ip link set dev xxxxMESH address ca:fe:ba:be:00:0X&lt;br /&gt;
ip link set dev xxxxMESH up&lt;br /&gt;
&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Secret Keys aus den Repos besorgen und in secret.conf schreiben&lt;br /&gt;
* Neuen SSH-Key anlegen mit &amp;lt;code&amp;gt;ssh-keygen -t ecdsa&amp;lt;/code&amp;gt;, als Deploy Key in die Gitlab-Projekte https://git.hacksaar.de/FreifunkSaar/mesh-vpn-peers und https://git.hacksaar.de/FreifunkSaar/mesh-vpn-peers-lux eintragen.&lt;br /&gt;
* Mesh-VPN-Peers-Verzeichnis als &amp;quot;peers&amp;quot; klonen: &amp;lt;code&amp;gt;git clone git@hacksaar.de:FreifunkSaar/mesh-vpn-peers.git peers&amp;lt;/code&amp;gt; bzw &amp;lt;code&amp;gt;git clone git@hacksaar.de:FreifunkSaar/mesh-vpn-peers-lux.git peers&amp;lt;/code&amp;gt; jeweils im entsprechende Verzeichnis&lt;br /&gt;
* Mesh-GW-VPN-Peers-Verzichnis als &amp;quot;peers-gw&amp;quot; klonen &amp;lt;code&amp;gt;git clone git@hacksaar.de:freifunk-gateway-admins/Mesh-VPN-Peers-GW.git peers-gw&amp;lt;/code&amp;gt; in beiden Verzeichnissen.&lt;br /&gt;
* Feuer!: &amp;lt;code&amp;gt;sudo service fastd start&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DNS, DHCP und RA-Server dnsmasq ==&lt;br /&gt;
* Installieren: &amp;lt;code&amp;gt;apt-get install dnsmasq&amp;lt;/code&amp;gt;&lt;br /&gt;
* /etc/dnsmasq.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bogus-priv&lt;br /&gt;
no-resolv&lt;br /&gt;
no-poll&lt;br /&gt;
log-facility=/dev/null&lt;br /&gt;
&lt;br /&gt;
server=8.8.8.8&lt;br /&gt;
server=8.8.4.4&lt;br /&gt;
&lt;br /&gt;
read-ethers&lt;br /&gt;
expand-hosts&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* /etc/dnsmasq.d/ffsaar&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local=/ffsaar/&lt;br /&gt;
interface=saarBR&lt;br /&gt;
domain=ffsaar&lt;br /&gt;
&lt;br /&gt;
dhcp-range=10.24.XXX.1,10.24.XXX.254,180&lt;br /&gt;
dhcp-range=fd4e:f2d7:88d2:ffff::,64,180,ra-names&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* /etc/dnsmasq.d/fflux&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local=/fflux/&lt;br /&gt;
interface=luxBR&lt;br /&gt;
domain=fflux&lt;br /&gt;
&lt;br /&gt;
dhcp-range=10.24.XXX.1,10.24.XXX.254,180&lt;br /&gt;
dhcp-range=fd4e:f2d7:88d2:fffe::,64,180,ra-names&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* /etc/hosts&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Freifunk Sachen&lt;br /&gt;
10.24.192.2                     static.services.ffsaar ntp.services.ffsaar&lt;br /&gt;
fd4e:f2d7:88d2:ffff::2          static.services.ffsaar ntp.services.ffsaar&lt;br /&gt;
&lt;br /&gt;
10.24.192.1                     router.ffsaar node.ffsaar local.ffsaar knoten.ffsaar my.ffsaar&lt;br /&gt;
fd4e:f2d7:88d2:ffff::1          router.ffsaar node.ffsaar local.ffsaar knoten.ffsaar my.ffsaar&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== isc-dhcp-server (in Zukunft mal umzustellen) ===&lt;br /&gt;
* /etc/dhcp/dhcpd.conf: (Komplett ersetzen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ddns-update-style none;&lt;br /&gt;
default-lease-time 300;&lt;br /&gt;
max-lease-time 300;&lt;br /&gt;
authoritative;&lt;br /&gt;
&lt;br /&gt;
log-facility local6;&lt;br /&gt;
&lt;br /&gt;
subnet 10.24.192.0 netmask 255.255.192.0 {&lt;br /&gt;
        range 10.24.XXX.0 10.24.XXX+3.255;&lt;br /&gt;
        option routers 10.24.192.ZZZ;&lt;br /&gt;
        option domain-name-servers 10.24.192.2, 10.24.192.3, 10.24.192.4;&lt;br /&gt;
        option domain-search &amp;quot;ffsaar&amp;quot;;&lt;br /&gt;
        option ntp-servers 10.24.192.2, 10.24.192.3, 10.24.192.4;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
subnet 10.24.128.0 netmask 255.255.192.0 {&lt;br /&gt;
        range 10.24.YYY.0 10.24.YYY+3.255;&lt;br /&gt;
        option routers 10.24.128.ZZZ;&lt;br /&gt;
        option domain-name-servers 10.24.128.2, 10.24.128.3, 10.24.128.4;&lt;br /&gt;
        option domain-search &amp;quot;fflux&amp;quot;;&lt;br /&gt;
        option ntp-servers 10.24.128.2, 10.24.128.3, 10.24.128.4;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* XXX, XXX+3, YYY, YYY+3, ZZZ durch richtige Werte ersetzen&lt;br /&gt;
* /etc/default/isc-dhcp-server (Zeile INTERFACES ersetzen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
INTERFACES=&amp;quot;saarBR luxBR&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Neu starten: &amp;lt;code&amp;gt;service isc-dhcp-server restart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== IPTables ==&lt;br /&gt;
&lt;br /&gt;
* installieren: &amp;lt;code&amp;gt;apt-get install iptables-persistent&amp;lt;/code&amp;gt;&lt;br /&gt;
* /etc/iptables/rules.v4&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*mangle&lt;br /&gt;
:PREROUTING ACCEPT [0:0]&lt;br /&gt;
:INPUT ACCEPT [0:0]&lt;br /&gt;
:FORWARD ACCEPT [0:0]&lt;br /&gt;
:OUTPUT ACCEPT [0:0]&lt;br /&gt;
:POSTROUTING ACCEPT [0:0]&lt;br /&gt;
COMMIT&lt;br /&gt;
&lt;br /&gt;
*nat&lt;br /&gt;
:PREROUTING ACCEPT [0:0]&lt;br /&gt;
:INPUT ACCEPT [0:0]&lt;br /&gt;
:OUTPUT ACCEPT [0:0]&lt;br /&gt;
:POSTROUTING ACCEPT [0:0]&lt;br /&gt;
-A POSTROUTING -o tun0 -j MASQUERADE&lt;br /&gt;
COMMIT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Exit-VPN ==&lt;br /&gt;
abhängig von der Config einzurichten&lt;br /&gt;
== Knoteninformationen (Alfred...) ==&lt;br /&gt;
&#039;&#039;&#039;Dieser Punkt befindet sich aktuell in der Erstellung und wird später noch auf die anderen Kapitel aufgeteilt --[[Benutzer:Rugosh|Rugosh]] ([[Benutzer Diskussion:Rugosh|Diskussion]]) 16:38, 22. Feb. 2015 (CET)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Alfred wird auf den Gateways benötigt um die Knoteninformationen zu sammeln und aus diesen Informationen eine Knotendatei unter anderem für die Freifunkkarte bauen zu können.&lt;br /&gt;
Der Server, auf welchem die Knotendatei generiert wird ist hier logisch gesehen der Master die anderen Systeme sind als Slave zu konfigurieren.&lt;br /&gt;
&lt;br /&gt;
Da wir auf unseren Gateways sowohl Saar las auch Lux Freifunk betreiben benötigen wir auch eine Doppelkonfiguration der Knotenerstellung. Dies betrifft sowohl Alfred als auch den Punkt, dass der Master für mehrere Communities Kartendaten erstellen können muss.&lt;br /&gt;
&lt;br /&gt;
=== Slave Konfiguration ===&lt;br /&gt;
Benötigte Komponenten:&lt;br /&gt;
* Alfred&lt;br /&gt;
* batadv-vis&lt;br /&gt;
&lt;br /&gt;
installation via&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install alfred batadv-vis&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Alfred Konfiguration (saar only) ====&lt;br /&gt;
Zuerst muss alfred und batadv gestopt werden&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo service alfred stop&lt;br /&gt;
sudo service batadv-vis stop&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Anpassen der alfred Konfigruation&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/default/alfred&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# /etc/default/alfred&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
# Additional command line options&lt;br /&gt;
DAEMON_OPTS=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Enable master mode (0/1)&lt;br /&gt;
MASTER=0&lt;br /&gt;
&lt;br /&gt;
# Interface for A.L.F.R.E.D. to listen on. Has to be specified.&lt;br /&gt;
INTERFACE=saarBR&lt;br /&gt;
&lt;br /&gt;
# Specify the batman-adv interface configured on the system (default: bat0).&lt;br /&gt;
# Use &#039;none&#039; to disable the batman-adv based best server selection.&lt;br /&gt;
BATMANIF=saarBAT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Anpassen der batadv-vis Konfuguration&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/default/batadv-vis&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# /etc/default/batadv-vis&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
# Specify the batman-adv interface configured on the system (default: bat0).&lt;br /&gt;
BATMANIF=saarBAT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Starten der Dienste&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo service alfred start&lt;br /&gt;
sudo service batadv-vis start&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Überprüfen ob alles läuft und hoffentlich freuen :-)&lt;br /&gt;
&lt;br /&gt;
==== Alfred Konfiguration für saar und lux (aktuell nicht verwendet) ====&lt;br /&gt;
Wir benötigen zuerst einmal zwei Alfred daemons:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo service alfred stop&lt;br /&gt;
sudo cp /etc/default/alfred /etc/default/alfred-saar&lt;br /&gt;
sudo cp /etc/default/alfred /etc/default/alfred-lux&lt;br /&gt;
sudo cp /etc/init.d/alfred /etc/init.d/alfred-saar&lt;br /&gt;
sudo cp /etc/init.d/alfred /etc/init.d/alfred-lux&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Alfred muss auf auf dem Slave lediglich auf den MASTER=0 gesetzt werden und das Interface, sowie Batman muss angegeben sein. Die Konfiguration findet in der Konfigurationsdatei &amp;lt;code&amp;gt;/etc/default/alfred-XXX&amp;lt;/code&amp;gt; wie folgt statt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# /etc/default/alfred-saar&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
# Additional command line options&lt;br /&gt;
DAEMON_OPTS=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Enable master mode (0/1)&lt;br /&gt;
MASTER=0&lt;br /&gt;
&lt;br /&gt;
# Interface for A.L.F.R.E.D. to listen on. Has to be specified.&lt;br /&gt;
INTERFACE=br-ff&lt;br /&gt;
&lt;br /&gt;
# Specify the batman-adv interface configured on the system (default: bat0).&lt;br /&gt;
# Use &#039;none&#039; to disable the batman-adv based best server selection.&lt;br /&gt;
BATMANIF=saarBAT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# /etc/default/alfred-lux&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
# Additional command line options&lt;br /&gt;
DAEMON_OPTS=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Enable master mode (0/1)&lt;br /&gt;
MASTER=0&lt;br /&gt;
&lt;br /&gt;
# Interface for A.L.F.R.E.D. to listen on. Has to be specified.&lt;br /&gt;
INTERFACE=luxBR&lt;br /&gt;
&lt;br /&gt;
# Specify the batman-adv interface configured on the system (default: bat0).&lt;br /&gt;
# Use &#039;none&#039; to disable the batman-adv based best server selection.&lt;br /&gt;
BATMANIF=luxBAT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Anpassen der init.d Dateien für die Alfreds...&lt;br /&gt;
&#039;&#039;&#039;Nachfolgende Configs erzeugen noch keinen eigenständigen Alfed Socket...&#039;&#039;&#039; Leider muss damit die Alfreds eigene Sockets haben anscheinend alfred selbst mit anderen werten kompaliert werden https://github.com/tcatm/alfred/blob/master/alfred.h oder hier muss eine andere (bessere) Lösung gefunden werden. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Ausschnitt der anzupassenden Datei /etc/init.d/alfred-saar&lt;br /&gt;
&lt;br /&gt;
DESC=&amp;quot;A.L.F.R.E.D -&amp;gt; Saar&amp;quot;&lt;br /&gt;
NAME=alfred&lt;br /&gt;
NAME2=alfred-saar&lt;br /&gt;
DAEMON=/usr/sbin/$NAME&lt;br /&gt;
PIDFILE=/var/run/$NAME2.pid&lt;br /&gt;
SCRIPTNAME=/etc/init.d/$NAME2&lt;br /&gt;
GROUP=alfred &lt;br /&gt;
OPTIONS=&amp;quot;&amp;quot;&lt;br /&gt;
UMASK=0117&lt;br /&gt;
&lt;br /&gt;
[ -x &amp;quot;$DAEMON&amp;quot; ] || exit 0&lt;br /&gt;
&lt;br /&gt;
# Source defaults.&lt;br /&gt;
[ -r /etc/default/$NAME2 ] &amp;amp;&amp;amp; . /etc/default/$NAME2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Ausschnitt der anzupassenden Datei /etc/init.d/alfred-lux&lt;br /&gt;
&lt;br /&gt;
DESC=&amp;quot;A.L.F.R.E.D -&amp;gt; Lux&amp;quot;&lt;br /&gt;
NAME=alfred-lux&lt;br /&gt;
DAEMON=/usr/sbin/$NAME&lt;br /&gt;
PIDFILE=/var/run/$NAME2.pid&lt;br /&gt;
SCRIPTNAME=/etc/init.d/$NAME2&lt;br /&gt;
GROUP=alfred&lt;br /&gt;
OPTIONS=&amp;quot;&amp;quot;&lt;br /&gt;
UMASK=0117&lt;br /&gt;
&lt;br /&gt;
[ -x &amp;quot;$DAEMON&amp;quot; ] || exit 0&lt;br /&gt;
&lt;br /&gt;
# Source defaults.&lt;br /&gt;
[ -r /etc/default/$NAME2 ] &amp;amp;&amp;amp; . /etc/default/$NAME2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Starten der neuen Alfreds&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo service alfred-saar start&lt;br /&gt;
sudo service alfred-lux start&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Nun testen ob alles wie gewünscht funktioniert und erst nach einem erfolgreichen Test die nun nicht mehr benötigten Daten löschen.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rm /etc/default/alfred&lt;br /&gt;
sudo rm /etc/init.d/alfred.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== batadv-vis ====&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=== Master Konfiguration ===&lt;br /&gt;
Benötigte Komponenten:&lt;br /&gt;
* Alfred&lt;br /&gt;
* Alfred-JSON&lt;br /&gt;
* Batman&lt;br /&gt;
&lt;br /&gt;
==== Alfred Konfiguration ====&lt;br /&gt;
Alfred muss auf auf dem Slave lediglich auf den MASTER=1 gesetzt werden und das Interface, sowie Batman muss angegeben sein. Für Details siehe [[#Alfred_Konfiguration | Slave Konfiguration -&amp;gt; Alfred Konfigurieren ]]&lt;br /&gt;
&#039;&#039;&#039;Achtung: Da auf dem Master aktuell nur ein Batman device läuft, ist hier aktuell kein alfred-lux gestartet, aber vorkonfiguriert&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Knotendateigenerierung ====&lt;br /&gt;
* Benötigt auch alias config&lt;br /&gt;
* bat2nodes für Kartengenerierung mit mkmap Skript. Checkout newest Version from https://github.com/freifunk-saar/ffmap-backend -&amp;gt; done.&lt;br /&gt;
* Cron Eintrag vom mkmap Skript&lt;br /&gt;
&lt;br /&gt;
==== Alias Konfiguration ====&lt;br /&gt;
Da wir uns für die manuelle Konfiguration des Announcement der Gateway Informationen entschieden haben ist eine Anpassung der Alias Datei für jede neue Gateway erforderlich.&lt;br /&gt;
Die Dateien &amp;lt;code&amp;gt;aliases_saar.json&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;aliases_lux.json&amp;lt;/code&amp;gt; befindet sich im bat2nodes Verzeichnis und beinhaltet für jede Gateway einen Alias Eintrag.&lt;br /&gt;
&lt;br /&gt;
Beipiel:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
   &amp;quot;&amp;lt;KENNUNG&amp;gt;1&amp;quot; : {&lt;br /&gt;
      &amp;quot;name&amp;quot; : &amp;quot;gw1.saar.freifunk.net&amp;quot;,&lt;br /&gt;
      &amp;quot;vpn&amp;quot; : true&lt;br /&gt;
   },&lt;br /&gt;
   &amp;quot;&amp;lt;KENNUNG&amp;gt;2&amp;quot; : {&lt;br /&gt;
      &amp;quot;name&amp;quot; : &amp;quot;gw2.saar.freifunk.net&amp;quot;,&lt;br /&gt;
      &amp;quot;vpn&amp;quot; : true&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== batadv-vis ====&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=== alfed-json ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== To be continued... ==&lt;br /&gt;
* DNSmasq statt radvd, bind, isc-dhcp-server&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Freifunk]]&lt;/div&gt;</summary>
		<author><name>Tobi042</name></author>
	</entry>
	<entry>
		<id>https://wiki.hacksaar.de/index.php?title=Freifunk:IP-Adressen&amp;diff=2035</id>
		<title>Freifunk:IP-Adressen</title>
		<link rel="alternate" type="text/html" href="https://wiki.hacksaar.de/index.php?title=Freifunk:IP-Adressen&amp;diff=2035"/>
		<updated>2015-07-11T15:37:24Z</updated>

		<summary type="html">&lt;p&gt;Tobi042: /* Hardware-Details */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hier sind ein paar technische Details zu unseren Gateway-Servern.&lt;br /&gt;
&lt;br /&gt;
= Team =&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich kümmert sich jeder aus dem Team um allgemeine Fragen auf der Mailingliste und das Eintragen von neuen VPN-Keys. Darüber hinaus haben manche Team-Mitglieder spezielle Aufgaben, die sie ausführen bzw. Themengebiete mit denen sie sich besonders auskennen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Name&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Aufgabenbereiche&lt;br /&gt;
|-&lt;br /&gt;
| [[Benutzer:Kimcm|KimCM]]&lt;br /&gt;
| Public Relations, Webseite&lt;br /&gt;
|-&lt;br /&gt;
| [[Benutzer:Tobi042|Tobias Theobald]]&lt;br /&gt;
| Gateway-Administration, Firmware, allgemeine technische Fragen&lt;br /&gt;
|-&lt;br /&gt;
| [[Benutzer:Rugosh|Tobias Kuhn]]&lt;br /&gt;
| Knotenkarte, Alfred&lt;br /&gt;
|-&lt;br /&gt;
| Tobias von dem Broch&lt;br /&gt;
| Richtfunk, Antennenfragen&lt;br /&gt;
|-&lt;br /&gt;
| [[Benutzer:Marvin|Marvin W]]&lt;br /&gt;
| Richtfunk&lt;br /&gt;
|-&lt;br /&gt;
| [[Benutzer:Constantin|Constantin Berhard]]&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Hardware-Details =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Gateway&lt;br /&gt;
! CPU Typ&lt;br /&gt;
! CPU Kerne / Threads&lt;br /&gt;
! RAM&lt;br /&gt;
! Platte&lt;br /&gt;
! Internet-Anbindung&lt;br /&gt;
! Hoster&lt;br /&gt;
! Sponsor&lt;br /&gt;
! Zusätzliche Services&lt;br /&gt;
! Virtualisierung&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw1.saar.freifunk.net&lt;br /&gt;
| Intel(R) Xeon(R) CPU L5520 @ 2.27GHz&lt;br /&gt;
| 4 / 4&lt;br /&gt;
| 512 MB&lt;br /&gt;
| 50 GB&lt;br /&gt;
| 100 MBit Shared&lt;br /&gt;
| server.lu&lt;br /&gt;
| Tobias Theobald / Marc Schmit&lt;br /&gt;
| Firmwares für Autoupdater, Knotenkarte&lt;br /&gt;
| Xen&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw2.saar.freifunk.net&lt;br /&gt;
| Intel Core i7 9xx&lt;br /&gt;
| 2 / 2&lt;br /&gt;
| 512 MB&lt;br /&gt;
| 10 GB&lt;br /&gt;
| 100 MBit down / 6 MBit up&lt;br /&gt;
| &lt;br /&gt;
| TKS e.V.&lt;br /&gt;
| &lt;br /&gt;
| KVM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw3.saar.freifunk.net&lt;br /&gt;
| Intel(R) Atom(TM) CPU N2800 @ 1.86GHz&lt;br /&gt;
| 2 / 4&lt;br /&gt;
| 2 GB&lt;br /&gt;
| 500 GB&lt;br /&gt;
| 100 MBit shared&lt;br /&gt;
| Kimsufi / OVH&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw4.saar.freifunk.net&lt;br /&gt;
| Intel(R) Atom(TM) CPU N2800 @ 1.86GHz&lt;br /&gt;
| 2 / 4&lt;br /&gt;
| 2 GB&lt;br /&gt;
| 500 GB&lt;br /&gt;
| 100 MBit shared&lt;br /&gt;
| Kimsufi / OVH&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| ?&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Public DNS / IPs =&lt;br /&gt;
&lt;br /&gt;
Hier eine Tabelle mit den DNS-Namen und IP-Adressen unserer Gateways.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Gateway&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Alt DNS Name&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Public IPv4&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Public IPv6&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw1.saar.freifunk.net&lt;br /&gt;
| freifunk.tobi042.de&lt;br /&gt;
| 94.242.195.78&lt;br /&gt;
| 2a01:608:ffff:9876:cafe:babe:6:1&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw2.saar.freifunk.net&lt;br /&gt;
| freifunk.dyn.hacksaar.de&lt;br /&gt;
| (dynamisch)&lt;br /&gt;
| (dynamisch)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw3.saar.freifunk.net&lt;br /&gt;
| ns326072.ip-37-187-107.eu&lt;br /&gt;
| 37.187.107.18&lt;br /&gt;
| 2001:41d0:a:3b12::1&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw4.saar.freifunk.net&lt;br /&gt;
| ns327157.ip-37-187-109.eu&lt;br /&gt;
| 37.187.109.160&lt;br /&gt;
| 2001:41d0:a:62a0::1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Anmerkung: GW2 steht im Hackerspace des TKS e.V. hinter einem dynamischen Kabel Deutschland Anschluss, daher sind die IP-Adressen hier dynamisch.&lt;br /&gt;
&lt;br /&gt;
Weitere Anmerkung: GW3 und 4 sind Kimsufi-Server, deren DNS-CName verweist noch nicht auf die IPv6-Adresse der Server. &lt;br /&gt;
&lt;br /&gt;
= Mesh IPs =&lt;br /&gt;
&lt;br /&gt;
Jeder Gateway ist Teil unseres Mesh-VPN und braucht als solches diverse Adressen, über die er im Mesh erreichbar ist.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Gateway&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Saar Mesh IPv4&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Saar Mesh IPv6&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Saar Mesh MAC&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Lux Mesh IPv4&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Lux Mesh IPv6&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Lux Mesh MAC&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw1.saar.freifunk.net&lt;br /&gt;
| 10.24.192.2&lt;br /&gt;
| fd4e:f2d7:88d2:ffff::2&lt;br /&gt;
| ca:fe:ba:be:00:01&lt;br /&gt;
| 10.24.128.2&lt;br /&gt;
| fd4e:f2d7:88d2:fffe::2&lt;br /&gt;
| ca:fe:ba:be:01:01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw2.saar.freifunk.net&lt;br /&gt;
| 10.24.192.3&lt;br /&gt;
| fd4e:f2d7:88d2:ffff::3&lt;br /&gt;
| ca:fe:ba:be:00:02&lt;br /&gt;
| 10.24.128.3&lt;br /&gt;
| fd4e:f2d7:88d2:fffe::3&lt;br /&gt;
| ca:fe:ba:be:01:02&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw3.saar.freifunk.net&lt;br /&gt;
| 10.24.192.4&lt;br /&gt;
| fd4e:f2d7:88d2:ffff::4&lt;br /&gt;
| ca:fe:ba:be:00:03&lt;br /&gt;
| 10.24.128.4&lt;br /&gt;
| fd4e:f2d7:88d2:fffe::4&lt;br /&gt;
| ca:fe:ba:be:01:03&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw4.saar.freifunk.net&lt;br /&gt;
| 10.24.192.5&lt;br /&gt;
| fd4e:f2d7:88d2:ffff::5&lt;br /&gt;
| ca:fe:ba:be:00:04&lt;br /&gt;
| 10.24.128.5&lt;br /&gt;
| fd4e:f2d7:88d2:fffe::5&lt;br /&gt;
| ca:fe:ba:be:01:04&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Darüber hinaus gibt es in jedem Netz eine Anycast IP, die immer auf das gerade verwendete Gateway zeigt:&lt;br /&gt;
&lt;br /&gt;
Saar: 10.24.192.1 / fd4e:f2d7:88d2:ffff::1&lt;br /&gt;
Lux: 10.24.128.1 / fd4e:f2d7:88d2:fffe::1&lt;br /&gt;
&lt;br /&gt;
= DHCP-Ranges =&lt;br /&gt;
&lt;br /&gt;
Auf jedem Gateway läuft pro Netz (Saar, Lux) ein DHCP-Server, der IP-Adressen an Clients verteilt, die diesen Server als Gateway nutzen. Grundsätzlich verteilen wir hier /22-Ranges, also bis zu 1022 IP-Adressen pro Gateway. Ich halte es für denkbar, dass ein einzelner Server nicht so viele Clients packt, aber reduzieren geht ja schließlich immer, erweitern ist problematisch.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Gateway&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Saar DHCP Range&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Lux DHCP Range&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw1.saar.freifunk.net&lt;br /&gt;
| 10.24.196.0/22&lt;br /&gt;
| 10.24.132.0/22&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw2.saar.freifunk.net&lt;br /&gt;
| 10.24.200.0/22&lt;br /&gt;
| 10.24.136.0/22&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw3.saar.freifunk.net&lt;br /&gt;
| 10.24.204.0/22&lt;br /&gt;
| 10.24.140.0/22&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw4.saar.freifunk.net&lt;br /&gt;
| 10.24.208.0/22&lt;br /&gt;
| 10.24.144.0/22&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Reservierte andere Ranges:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Zuweisung&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Saar-Range&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Lux-Range&lt;br /&gt;
|-&lt;br /&gt;
| Admin-Netz&lt;br /&gt;
| 10.24.192.0/24&lt;br /&gt;
| 10.24.128.0/24&lt;br /&gt;
|-&lt;br /&gt;
| Nicht zugewiesen&lt;br /&gt;
| 10.24.193.0/24&lt;br /&gt;
| 10.24.129.0/24&lt;br /&gt;
|-&lt;br /&gt;
| User Services&lt;br /&gt;
| 10.24.194.0/23&lt;br /&gt;
| 10.24.130.0/23&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Mesh Public Keys =&lt;br /&gt;
&lt;br /&gt;
Das Mesh-VPN wird mit der VPN-Software fastd realisiert. Sie ist klein und schnell und damit wunderbar für den Einsatz auf Routern geeignet. &lt;br /&gt;
&lt;br /&gt;
Die saarländischen Mesh-Instanzen lauschen immer auf UDP Port 10000, die luxemburgischen auf Port 10001. Als Cipher unterstützen unsere Server salsa2012+umac, die VPN-interne MTU beträgt 1426 byte, wobei sich das in Zukunft ändern wird, da durch den größeren IPv6-Header die MTU kleiner wird (d.h. wird irgendwann in Zukunft auf 1406 geändert).&lt;br /&gt;
&lt;br /&gt;
Hier die Public Keys und den Online-Status (nicht live) unserer Gateways:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Gateway&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Public Key Saar&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Aktiv?&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Public Key Lux&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Aktiv?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw1.saar.freifunk.net&lt;br /&gt;
| 5136a920a8c7aa9ae2ca1c2a1e33ea8c45e01501fac0f02b9d6a05b167ac5993&lt;br /&gt;
| Ja&lt;br /&gt;
| 4ed85c21d3db653bd2f1b210a8b60cbe25c40a3c2b756fc9c30d864466ad519d&lt;br /&gt;
| Nein&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw2.saar.freifunk.net&lt;br /&gt;
| 80859883c8a22867b20082078ab0934bdf58f556e7acda90730ea282d8da9388&lt;br /&gt;
| Ja&lt;br /&gt;
| 0ce6c650b07207b05ee4be3680cb1b1c69aea92fd76fecda50c720061f5cf9af&lt;br /&gt;
| Ja&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw3.saar.freifunk.net&lt;br /&gt;
| 711d1dc6f2048ffe88997441612ca764595b414abea5495c4f3ce746c72774e6&lt;br /&gt;
| Ja&lt;br /&gt;
| 440fa235832b933bebb66c91929a83a9c3a47348f164b1c7440661bb142dd32b&lt;br /&gt;
| Ja&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw4.saar.freifunk.net&lt;br /&gt;
| 33e02014b00a45bc8249b4428a9da614a370b5e386fa5d8d66c325941aa27568&lt;br /&gt;
| Ja&lt;br /&gt;
| 260f0a780281f49cdee9332c2139416cd715fb0257ac75d49ce43c4125654e36&lt;br /&gt;
| Ja&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Mesh WLAN =&lt;br /&gt;
&lt;br /&gt;
Hier die Details für das WLAN auf den Clients&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Netz&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Mesh {E/B}SSID&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Clients ESSID&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | 2.4 GHz Kanal&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | 5 GHz Kanal&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | HT-Modul&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | Saar&lt;br /&gt;
| 5e:ba:7a:d2:c4:ba&lt;br /&gt;
| saar.freifunk.net&lt;br /&gt;
| 1&lt;br /&gt;
| 36&lt;br /&gt;
| HT40+&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | Lux&lt;br /&gt;
| 5e:ba:7a:d2:c4:bb&lt;br /&gt;
| luxembourg.freifunk.net&lt;br /&gt;
| 1&lt;br /&gt;
| 36&lt;br /&gt;
| HT40+&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Freifunk]]&lt;/div&gt;</summary>
		<author><name>Tobi042</name></author>
	</entry>
	<entry>
		<id>https://wiki.hacksaar.de/index.php?title=Freifunk:Besondere_Netzwerkkonfigurationen&amp;diff=2029</id>
		<title>Freifunk:Besondere Netzwerkkonfigurationen</title>
		<link rel="alternate" type="text/html" href="https://wiki.hacksaar.de/index.php?title=Freifunk:Besondere_Netzwerkkonfigurationen&amp;diff=2029"/>
		<updated>2015-06-27T10:35:42Z</updated>

		<summary type="html">&lt;p&gt;Tobi042: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hier findet ihr ein paar Skripte um besondere Netzwerkkonfigurationen zu erstellen. Diese fassen alle die OpenWRT-Konfigurationsdateien an und daher sollte vorsichtshalber der Autoupdater deaktiviert werden, da wir nicht sagen können, wie dieser mit den &amp;quot;komischen&amp;quot; Einstellungen zurecht kommt.&lt;br /&gt;
&lt;br /&gt;
Alle diese Skripte müssen via Konsole, also am besten per SSH angewandt werden.&lt;br /&gt;
&lt;br /&gt;
Obwohl wir die Skripte ein bisschen getestet haben, möchte ich doch nicht ausschließen, dass sie nicht funktionieren und danach der Router im Eimer ist. Versucht erst sie zu verstehen bevor ihr sie anwendet. Wir schließen jegliche Haftung aus. Wenn ihr Probleme habt wendet euch am besten an die freifunk-public Mailingliste.&lt;br /&gt;
&lt;br /&gt;
== Ge-NAT-etes privates Netzwerk ==&lt;br /&gt;
&lt;br /&gt;
Falls der Router selber noch ein privates Netzwerk aufbauen soll, das einen eigenen Adressbereich haben soll und die Anfragen NAT-en soll, dann könnt ihr dazu das folgende Skript nutzen. Es sorgt dafür, dass das private WLAN und der Switch in ein neues Netzwerk mit dem IP-Adressbereich 192.168.5.0/24 gesteckt werden und dann der Knoten als Router agiert. Zusätzlich dazu wird natürlich weiterhin das Freifunk-Netz bereitgestellt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
# Erst einmal ein paar Einstellungen vornehmen bitte!&lt;br /&gt;
&lt;br /&gt;
# Hier die gewünschte SSID und WPA2 Key für das private Netz setzen&lt;br /&gt;
WLANSSID=test&lt;br /&gt;
WLANKEY=testtest&lt;br /&gt;
# SWITCHDEV muss auf den Namen des Interfaces für den Switch stehen&lt;br /&gt;
# Dieser ist pro Gerät abhängig, hier ein paar Beispiele:&lt;br /&gt;
# WDR3600:   eth0.1&lt;br /&gt;
# WR841N:    eth0&lt;br /&gt;
SWITCHDEV=eth0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# ================= Skript ==================&lt;br /&gt;
&lt;br /&gt;
# Erstmal den Switch befreien&lt;br /&gt;
uci set network.client.ifname=bat0&lt;br /&gt;
&lt;br /&gt;
# Und ihn dann in ein neues Netzwerk &amp;quot;lan&amp;quot; stecken&lt;br /&gt;
uci set network.lan=interface&lt;br /&gt;
uci set network.lan.type=bridge&lt;br /&gt;
uci set network.lan.proto=static&lt;br /&gt;
uci set network.lan.ifname=$SWITCHDEV&lt;br /&gt;
uci set network.lan.ipaddr=192.168.5.1&lt;br /&gt;
uci set network.lan.netmask=255.255.255.0&lt;br /&gt;
# Oh und noch schnell Mesh on WAN aktivieren.&lt;br /&gt;
# Falls gewünscht auskommentieren.&lt;br /&gt;
#uci set network.mesh_wan.auto=1&lt;br /&gt;
uci commit network&lt;br /&gt;
&lt;br /&gt;
# Dann das private WLAN dazutun&lt;br /&gt;
uci set wireless.wan_radio0=wifi-iface&lt;br /&gt;
uci set wireless.wan_radio0.network=lan&lt;br /&gt;
uci set wireless.wan_radio0.encryption=psk2&lt;br /&gt;
uci set wireless.wan_radio0.device=radio0&lt;br /&gt;
uci set wireless.wan_radio0.mode=ap&lt;br /&gt;
uci set wireless.wan_radio0.key=$WLANKEY&lt;br /&gt;
uci set wireless.wan_radio0.ssid=$WLANSSID&lt;br /&gt;
uci set wireless.wan_radio0.disabled=0&lt;br /&gt;
&lt;br /&gt;
# Evtl auch noch das 5 GHz Interface falls es existiert&lt;br /&gt;
if uci get wireless.mesh_radio1; then&lt;br /&gt;
	uci set wireless.wan_radio1=wifi-iface&lt;br /&gt;
	uci set wireless.wan_radio1.network=lan&lt;br /&gt;
	uci set wireless.wan_radio1.encryption=psk2&lt;br /&gt;
	uci set wireless.wan_radio1.device=radio1&lt;br /&gt;
	uci set wireless.wan_radio1.mode=ap&lt;br /&gt;
	uci set wireless.wan_radio1.key=$WLANKEY&lt;br /&gt;
	uci set wireless.wan_radio1.ssid=$WLANSSID&lt;br /&gt;
	uci set wireless.wan_radio1.disabled=0&lt;br /&gt;
fi&lt;br /&gt;
uci commit wireless&lt;br /&gt;
&lt;br /&gt;
# Und schließlich noch DNS Server hinzufügen.&lt;br /&gt;
uci add_list dhcp.@dnsmasq[0].server=8.8.8.8&lt;br /&gt;
uci add_list dhcp.@dnsmasq[0].server=8.8.4.4&lt;br /&gt;
uci commit dhcp&lt;br /&gt;
&lt;br /&gt;
# Uuund neustarten, wer weiß was mit der SSH-Verbindung &lt;br /&gt;
# passiert wenn wir jetzt nur network neustarten...&lt;br /&gt;
reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bitte zuerst oben die Einstellungen wie beschrieben setzen und dann das Skript auf dem Router ausführen. Bei Bedarf können auch die anderen Einstellungen wie IP-Bereich und DNS-Server geändert werden.&lt;br /&gt;
&lt;br /&gt;
Nach der Ausführung wird bei Geräten mit nur einem WLAN-Chip die Meldung &amp;quot;uci: Entry not found&amp;quot; ausgegeben. Das ist in Ordnung. Das Gerät startet dann neu, danach sollte ein privates ge-NAT-etes Netzwerk auf dem LAN-Switch (gelbe Ports) und dem privaten WLAN liegen.&lt;br /&gt;
&lt;br /&gt;
Bitte beachtet, dass ein paar der Konfigurationen rückgängig gemacht werden, wenn ihr in den Experteneinstellungen im Config-Mode etwas verstellt.&lt;br /&gt;
&lt;br /&gt;
== Gelbe Ports für WAN-Netzwerk ==&lt;br /&gt;
&lt;br /&gt;
To be continued, die Details hierfür wurden schonmal auf der Mailingliste gepostet... Irgendwann...&lt;/div&gt;</summary>
		<author><name>Tobi042</name></author>
	</entry>
	<entry>
		<id>https://wiki.hacksaar.de/index.php?title=Freifunk:Besondere_Netzwerkkonfigurationen&amp;diff=2028</id>
		<title>Freifunk:Besondere Netzwerkkonfigurationen</title>
		<link rel="alternate" type="text/html" href="https://wiki.hacksaar.de/index.php?title=Freifunk:Besondere_Netzwerkkonfigurationen&amp;diff=2028"/>
		<updated>2015-06-27T10:29:33Z</updated>

		<summary type="html">&lt;p&gt;Tobi042: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hier findet ihr ein paar Skripte um besondere Netzwerkkonfigurationen zu erstellen. Diese fassen alle die OpenWRT-Konfigurationsdateien an und daher sollte vorsichtshalber der Autoupdater deaktiviert werden, da wir nicht sagen können, wie dieser mit den &amp;quot;komischen&amp;quot; Einstellungen zurecht kommt.&lt;br /&gt;
&lt;br /&gt;
Alle diese Skripte müssen via Konsole, also am besten per SSH angewandt werden.&lt;br /&gt;
&lt;br /&gt;
Obwohl wir die Skripte ein bisschen getestet haben, möchte ich doch nicht ausschließen, dass sie nicht funktionieren und danach der Router im Eimer ist. Versucht erst sie zu verstehen bevor ihr sie anwendet. Wir schließen jegliche Haftung aus. Wenn ihr Probleme habt wendet euch am besten an die freifunk-public Mailingliste.&lt;br /&gt;
&lt;br /&gt;
== Ge-NAT-etes privates Netzwerk ==&lt;br /&gt;
&lt;br /&gt;
Falls der Router selber noch ein privates Netzwerk aufbauen soll, das einen eigenen Adressbereich haben soll und die Anfragen NAT-en soll, dann könnt ihr dazu das folgende Skript nutzen. Es sorgt dafür, dass das private WLAN und der Switch in ein neues Netzwerk mit dem IP-Adressbereich 192.168.5.0/24 gesteckt werden und dann der Knoten als Router agiert. Zusätzlich dazu wird natürlich weiterhin das Freifunk-Netz bereitgestellt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
# Erst einmal ein paar Einstellungen vornehmen bitte!&lt;br /&gt;
&lt;br /&gt;
# Hier die gewünschte SSID und WPA2 Key für das private Netz setzen&lt;br /&gt;
WLANSSID=test&lt;br /&gt;
WLANKEY=testtest&lt;br /&gt;
# SWITCHDEV muss auf den Namen des Interfaces für den Switch stehen&lt;br /&gt;
# Dieser ist pro Gerät abhängig, hier ein paar Beispiele:&lt;br /&gt;
# WDR3600:   eth0.1&lt;br /&gt;
# WR841N:    eth1&lt;br /&gt;
SWITCHDEV=eth1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# ================= Skript ==================&lt;br /&gt;
&lt;br /&gt;
# Erstmal den Switch befreien&lt;br /&gt;
uci set network.client.ifname=bat0&lt;br /&gt;
&lt;br /&gt;
# Und ihn dann in ein neues Netzwerk &amp;quot;lan&amp;quot; stecken&lt;br /&gt;
uci set network.lan=interface&lt;br /&gt;
uci set network.lan.type=bridge&lt;br /&gt;
uci set network.lan.proto=static&lt;br /&gt;
uci set network.lan.ifname=$SWITCHDEV&lt;br /&gt;
uci set network.lan.ipaddr=192.168.5.1&lt;br /&gt;
uci set network.lan.netmask=255.255.255.0&lt;br /&gt;
# Oh und noch schnell Mesh on WAN aktivieren.&lt;br /&gt;
# Falls gewünscht auskommentieren.&lt;br /&gt;
#uci set network.mesh_wan.auto=1&lt;br /&gt;
uci commit network&lt;br /&gt;
&lt;br /&gt;
# Dann das private WLAN dazutun&lt;br /&gt;
uci set wireless.wan_radio0=wifi-iface&lt;br /&gt;
uci set wireless.wan_radio0.network=lan&lt;br /&gt;
uci set wireless.wan_radio0.encryption=psk2&lt;br /&gt;
uci set wireless.wan_radio0.device=radio0&lt;br /&gt;
uci set wireless.wan_radio0.mode=ap&lt;br /&gt;
uci set wireless.wan_radio0.key=$WLANKEY&lt;br /&gt;
uci set wireless.wan_radio0.ssid=$WLANSSID&lt;br /&gt;
uci set wireless.wan_radio0.disabled=0&lt;br /&gt;
&lt;br /&gt;
# Evtl auch noch das 5 GHz Interface falls es existiert&lt;br /&gt;
if uci get wireless.mesh_radio1; then&lt;br /&gt;
	uci set wireless.wan_radio1=wifi-iface&lt;br /&gt;
	uci set wireless.wan_radio1.network=lan&lt;br /&gt;
	uci set wireless.wan_radio1.encryption=psk2&lt;br /&gt;
	uci set wireless.wan_radio1.device=radio1&lt;br /&gt;
	uci set wireless.wan_radio1.mode=ap&lt;br /&gt;
	uci set wireless.wan_radio1.key=$WLANKEY&lt;br /&gt;
	uci set wireless.wan_radio1.ssid=$WLANSSID&lt;br /&gt;
	uci set wireless.wan_radio1.disabled=0&lt;br /&gt;
fi&lt;br /&gt;
uci commit wireless&lt;br /&gt;
&lt;br /&gt;
# Und schließlich noch DNS Server hinzufügen.&lt;br /&gt;
uci add_list dhcp.@dnsmasq[0].server=8.8.8.8&lt;br /&gt;
uci add_list dhcp.@dnsmasq[0].server=8.8.4.4&lt;br /&gt;
uci commit dhcp&lt;br /&gt;
&lt;br /&gt;
# Uuund neustarten, wer weiß was mit der SSH-Verbindung &lt;br /&gt;
# passiert wenn wir jetzt nur network neustarten...&lt;br /&gt;
reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bitte zuerst oben die Einstellungen wie beschrieben setzen und dann das Skript auf dem Router ausführen. Bei Bedarf können auch die anderen Einstellungen wie IP-Bereich und DNS-Server geändert werden.&lt;br /&gt;
&lt;br /&gt;
Nach der Ausführung wird bei Geräten mit nur einem WLAN-Chip die Meldung &amp;quot;uci: Entry not found&amp;quot; ausgegeben. Das ist in Ordnung. Das Gerät startet dann neu, danach sollte ein privates ge-NAT-etes Netzwerk auf dem LAN-Switch (gelbe Ports) und dem privaten WLAN liegen.&lt;br /&gt;
&lt;br /&gt;
Bitte beachtet, dass ein paar der Konfigurationen rückgängig gemacht werden, wenn ihr in den Experteneinstellungen im Config-Mode etwas verstellt.&lt;br /&gt;
&lt;br /&gt;
== Gelbe Ports für WAN-Netzwerk ==&lt;br /&gt;
&lt;br /&gt;
To be continued, die Details hierfür wurden schonmal auf der Mailingliste gepostet... Irgendwann...&lt;/div&gt;</summary>
		<author><name>Tobi042</name></author>
	</entry>
	<entry>
		<id>https://wiki.hacksaar.de/index.php?title=Freifunk:Besondere_Netzwerkkonfigurationen&amp;diff=2027</id>
		<title>Freifunk:Besondere Netzwerkkonfigurationen</title>
		<link rel="alternate" type="text/html" href="https://wiki.hacksaar.de/index.php?title=Freifunk:Besondere_Netzwerkkonfigurationen&amp;diff=2027"/>
		<updated>2015-06-27T10:28:25Z</updated>

		<summary type="html">&lt;p&gt;Tobi042: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hier findet ihr ein paar Skripte um besondere Netzwerkkonfigurationen zu erstellen. Diese fassen alle die OpenWRT-Konfigurationsdateien an und daher sollte vorsichtshalber der Autoupdater deaktiviert werden, da wir nicht sagen können, wie dieser mit den &amp;quot;komischen&amp;quot; Einstellungen zurecht kommt.&lt;br /&gt;
&lt;br /&gt;
Alle diese Skripte müssen via Konsole, also am besten per SSH angewandt werden.&lt;br /&gt;
&lt;br /&gt;
Obwohl wir die Skripte ein bisschen getestet haben, möchte ich doch nicht ausschließen, dass sie nicht funktionieren und danach der Router im Eimer ist. Versucht erst sie zu verstehen bevor ihr sie anwendet. Wir schließen jegliche Haftung aus. Wenn ihr Probleme habt wendet euch am besten an die freifunk-public Mailingliste.&lt;br /&gt;
&lt;br /&gt;
== Ge-NAT-etes privates Netzwerk ==&lt;br /&gt;
&lt;br /&gt;
Falls der Router selber noch ein privates Netzwerk aufbauen soll, das einen eigenen Adressbereich haben soll und die Anfragen NAT-en soll, dann könnt ihr dazu das folgende Skript nutzen. Es sorgt dafür, dass das private WLAN und der Switch in ein neues Netzwerk mit dem IP-Adressbereich 192.168.5.0/24 gesteckt werden und dann der Knoten als Router agiert. Zusätzlich dazu wird natürlich weiterhin das Freifunk-Netz bereitgestellt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
# Erst einmal ein paar Einstellungen vornehmen bitte!&lt;br /&gt;
&lt;br /&gt;
# Hier die gewünschte SSID und WPA2 Key für das private Netz setzen&lt;br /&gt;
WLANSSID=test&lt;br /&gt;
WLANKEY=testtest&lt;br /&gt;
# SWITCHDEV muss auf den Namen des Interfaces für den Switch stehen&lt;br /&gt;
# Dieser ist pro Gerät abhängig, hier ein paar Beispiele:&lt;br /&gt;
# WDR3600:   eth0.1&lt;br /&gt;
# WR841N:    eth1&lt;br /&gt;
SWITCHDEV=eth1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# ================= Skript ==================&lt;br /&gt;
&lt;br /&gt;
# Erstmal den Switch befreien&lt;br /&gt;
uci set network.client.ifname=bat0&lt;br /&gt;
&lt;br /&gt;
# Und ihn dann in ein neues Netzwerk &amp;quot;lan&amp;quot; stecken&lt;br /&gt;
uci set network.lan=interface&lt;br /&gt;
uci set network.lan.type=bridge&lt;br /&gt;
uci set network.lan.proto=static&lt;br /&gt;
uci set network.lan.ifname=$SWITCHDEV&lt;br /&gt;
uci set network.lan.ipaddr=192.168.5.1&lt;br /&gt;
uci set network.lan.netmask=255.255.255.0&lt;br /&gt;
# Oh und noch schnell Mesh on WAN aktivieren.&lt;br /&gt;
# Falls gewünscht auskommentieren.&lt;br /&gt;
#uci set network.mesh_wan.auto=1&lt;br /&gt;
uci commit network&lt;br /&gt;
&lt;br /&gt;
# Dann das private WLAN dazutun&lt;br /&gt;
uci set wireless.wan_radio0=wifi-iface&lt;br /&gt;
uci set wireless.wan_radio0.network=lan&lt;br /&gt;
uci set wireless.wan_radio0.encryption=psk2&lt;br /&gt;
uci set wireless.wan_radio0.device=radio0&lt;br /&gt;
uci set wireless.wan_radio0.mode=ap&lt;br /&gt;
uci set wireless.wan_radio0.key=$WLANKEY&lt;br /&gt;
uci set wireless.wan_radio0.ssid=$WLANSSID&lt;br /&gt;
uci set wireless.wan_radio0.disabled=0&lt;br /&gt;
&lt;br /&gt;
# Evtl auch noch das 5 GHz Interface falls es existiert&lt;br /&gt;
if uci get wireless.mesh_radio1; then&lt;br /&gt;
	uci set wireless.wan_radio1=wifi-iface&lt;br /&gt;
	uci set wireless.wan_radio1.network=lan&lt;br /&gt;
	uci set wireless.wan_radio1.encryption=psk2&lt;br /&gt;
	uci set wireless.wan_radio1.device=radio1&lt;br /&gt;
	uci set wireless.wan_radio1.mode=ap&lt;br /&gt;
	uci set wireless.wan_radio1.key=$WLANKEY&lt;br /&gt;
	uci set wireless.wan_radio1.ssid=$WLANSSID&lt;br /&gt;
	uci set wireless.wan_radio1.disabled=0&lt;br /&gt;
fi&lt;br /&gt;
uci commit wireless&lt;br /&gt;
&lt;br /&gt;
# Und schließlich noch DNS Server hinzufügen.&lt;br /&gt;
uci add_list dhcp.@dnsmasq[0].server=8.8.8.8&lt;br /&gt;
uci add_list dhcp.@dnsmasq[0].server=8.8.4.4&lt;br /&gt;
uci commit dhcp&lt;br /&gt;
&lt;br /&gt;
# Uuund neustarten, wer weiß was mit der SSH-Verbindung &lt;br /&gt;
# passiert wenn wir jetzt nur network neustarten...&lt;br /&gt;
reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bitte zuerst oben die Einstellungen wie beschrieben setzen und dann das Skript auf dem Router ausführen. Bei Bedarf können auch die anderen Einstellungen wie IP-Bereich und DNS-Server geändert werden.&lt;br /&gt;
&lt;br /&gt;
Nach der Ausführung wird bei Geräten mit nur einem WLAN-Chip die Meldung &amp;quot;uci: Entry not found&amp;quot; ausgegeben. Das ist in Ordnung. Das Gerät startet dann neu, danach sollte ein privates ge-NAT-etes Netzwerk auf dem LAN-Switch (gelbe Ports) und dem privaten WLAN liegen.&lt;br /&gt;
&lt;br /&gt;
Bitte beachtet, dass ein paar der Konfigurationen rückgängig gemacht werden, wenn ihr in den Experteneinstellungen im Config-Mode etwas verstellt.&lt;/div&gt;</summary>
		<author><name>Tobi042</name></author>
	</entry>
	<entry>
		<id>https://wiki.hacksaar.de/index.php?title=Freifunk:Besondere_Netzwerkkonfigurationen&amp;diff=2026</id>
		<title>Freifunk:Besondere Netzwerkkonfigurationen</title>
		<link rel="alternate" type="text/html" href="https://wiki.hacksaar.de/index.php?title=Freifunk:Besondere_Netzwerkkonfigurationen&amp;diff=2026"/>
		<updated>2015-06-27T10:22:46Z</updated>

		<summary type="html">&lt;p&gt;Tobi042: Die Seite wurde neu angelegt: „Hier findet ihr ein paar Skripte um besondere Netzwerkkonfigurationen zu erstellen. Diese fassen alle die OpenWRT-Konfigurationsdateien an und daher sollte vor…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hier findet ihr ein paar Skripte um besondere Netzwerkkonfigurationen zu erstellen. Diese fassen alle die OpenWRT-Konfigurationsdateien an und daher sollte vorsichtshalber der Autoupdater deaktiviert werden, da wir nicht sagen können, wie dieser mit den &amp;quot;komischen&amp;quot; Einstellungen zurecht kommt.&lt;br /&gt;
&lt;br /&gt;
Alle diese Skripte müssen via Konsole, also am besten per SSH angewandt werden.&lt;br /&gt;
&lt;br /&gt;
Obwohl wir die Skripte ein bisschen getestet haben, möchte ich doch nicht ausschließen, dass sie nicht funktionieren und danach der Router im Eimer ist. Versucht erst sie zu verstehen bevor ihr sie anwendet. Wir schließen jegliche Haftung aus. Wenn ihr Probleme habt wendet euch am besten an die freifunk-public Mailingliste.&lt;br /&gt;
&lt;br /&gt;
== Ge-NAT-etes privates Netzwerk ==&lt;br /&gt;
&lt;br /&gt;
Falls der Router selber noch ein privates Netzwerk aufbauen soll, das einen eigenen Adressbereich haben soll und die Anfragen NAT-en soll, dann könnt ihr dazu das folgende Skript nutzen. Es sorgt dafür, dass das private WLAN und der Switch in ein neues Netzwerk mit dem IP-Adressbereich 192.168.5.0/24 gesteckt werden und dann der Knoten als Router agiert. Zusätzlich dazu wird natürlich weiterhin das Freifunk-Netz bereitgestellt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
# Erst einmal ein paar Einstellungen vornehmen bitte!&lt;br /&gt;
&lt;br /&gt;
# Hier die gewünschte SSID und WPA2 Key für das private Netz setzen&lt;br /&gt;
WLANSSID=test&lt;br /&gt;
WLANKEY=testtest&lt;br /&gt;
# SWITCHDEV muss auf den Namen des Interfaces für den Switch stehen&lt;br /&gt;
# Dieser ist pro Gerät abhängig, hier ein paar Beispiele:&lt;br /&gt;
# WDR3600:   eth0.1&lt;br /&gt;
# WR841N:    eth1&lt;br /&gt;
SWITCHDEV=eth1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# ================= Skript ==================&lt;br /&gt;
&lt;br /&gt;
# Erstmal den Switch befreien&lt;br /&gt;
uci set network.client.ifname=bat0&lt;br /&gt;
&lt;br /&gt;
# Und ihn dann in ein neues Netzwerk &amp;quot;lan&amp;quot; stecken&lt;br /&gt;
uci set network.lan=interface&lt;br /&gt;
uci set network.lan.type=bridge&lt;br /&gt;
uci set network.lan.proto=static&lt;br /&gt;
uci set network.lan.ifname=$SWITCHDEV&lt;br /&gt;
uci set network.lan.ipaddr=192.168.5.1&lt;br /&gt;
uci set network.lan.netmask=255.255.255.0&lt;br /&gt;
# Oh und noch schnell Mesh on WAN aktivieren.&lt;br /&gt;
# Falls gewünscht auskommentieren.&lt;br /&gt;
#uci set network.mesh_wan.auto=1&lt;br /&gt;
uci commit network&lt;br /&gt;
&lt;br /&gt;
# Dann das private WLAN dazutun&lt;br /&gt;
uci set wireless.wan_radio0=wifi-iface&lt;br /&gt;
uci set wireless.wan_radio0.network=lan&lt;br /&gt;
uci set wireless.wan_radio0.encryption=psk2&lt;br /&gt;
uci set wireless.wan_radio0.device=radio0&lt;br /&gt;
uci set wireless.wan_radio0.mode=ap&lt;br /&gt;
uci set wireless.wan_radio0.key=$WLANKEY&lt;br /&gt;
uci set wireless.wan_radio0.ssid=$WLANSSID&lt;br /&gt;
uci set wireless.wan_radio0.disabled=0&lt;br /&gt;
&lt;br /&gt;
# Evtl auch noch das 5 GHz Interface falls es existiert&lt;br /&gt;
if uci get wireless.mesh_radio1; then&lt;br /&gt;
	uci set wireless.wan_radio1=wifi-iface&lt;br /&gt;
	uci set wireless.wan_radio1.network=lan&lt;br /&gt;
	uci set wireless.wan_radio1.encryption=psk2&lt;br /&gt;
	uci set wireless.wan_radio1.device=radio1&lt;br /&gt;
	uci set wireless.wan_radio1.mode=ap&lt;br /&gt;
	uci set wireless.wan_radio1.key=$WLANKEY&lt;br /&gt;
	uci set wireless.wan_radio1.ssid=$WLANSSID&lt;br /&gt;
	uci set wireless.wan_radio1.disabled=0&lt;br /&gt;
fi&lt;br /&gt;
uci commit wireless&lt;br /&gt;
&lt;br /&gt;
# Und schließlich noch DNS Server hinzufügen.&lt;br /&gt;
uci add_list dhcp.@dnsmasq[0].server=8.8.8.8&lt;br /&gt;
uci add_list dhcp.@dnsmasq[0].server=8.8.4.4&lt;br /&gt;
uci commit dhcp&lt;br /&gt;
&lt;br /&gt;
# Uuund neustarten, wer weiß was mit der SSH-Verbindung &lt;br /&gt;
# passiert wenn wir jetzt nur network neustarten...&lt;br /&gt;
reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bitte zuerst oben die Einstellungen wie beschrieben setzen und dann das Skript auf dem Router ausführen. Bei Bedarf können auch die anderen Einstellungen wie IP-Bereich und DNS-Server geändert werden.&lt;/div&gt;</summary>
		<author><name>Tobi042</name></author>
	</entry>
	<entry>
		<id>https://wiki.hacksaar.de/index.php?title=Freifunk&amp;diff=2025</id>
		<title>Freifunk</title>
		<link rel="alternate" type="text/html" href="https://wiki.hacksaar.de/index.php?title=Freifunk&amp;diff=2025"/>
		<updated>2015-06-27T10:05:24Z</updated>

		<summary type="html">&lt;p&gt;Tobi042: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Diese Seite wird für die Dokumentation der Freifunk Saar-Infrastruktur genutzt. Der technische Hauptverantwortliche ist im Moment [[User:Tobi042 | Tobias Theobald]]&lt;br /&gt;
&lt;br /&gt;
[https://saar.freifunk.net Die Saar-Freifunk Website]&lt;br /&gt;
&lt;br /&gt;
[[Freifunk:Router_im_Saarland_kaufen | Router im Saarland kaufen]]&lt;br /&gt;
&lt;br /&gt;
[[Freifunk:Werbematerial | Werbematerial]]&lt;br /&gt;
&lt;br /&gt;
[[Freifunk:User Services | User Services]]&lt;br /&gt;
&lt;br /&gt;
[[Freifunk:Besondere_Netzwerkkonfigurationen | Besondere Netzwerkkonfigurationen]]&lt;br /&gt;
&lt;br /&gt;
== Admin-Sachen ==&lt;br /&gt;
&lt;br /&gt;
[[Freifunk:IP-Adressen | IP-Adressen]]&lt;br /&gt;
&lt;br /&gt;
[[Freifunk:Mesh-VPN Gateway-Server einrichten | Mesh-VPN Gateway-Server einrichten]]&lt;br /&gt;
&lt;br /&gt;
[[Freifunk:Mesh-VPN Keys eintragen | Mesh-VPN Keys eintragen]]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Freifunk]]&lt;/div&gt;</summary>
		<author><name>Tobi042</name></author>
	</entry>
	<entry>
		<id>https://wiki.hacksaar.de/index.php?title=Freifunk:User_Services&amp;diff=2014</id>
		<title>Freifunk:User Services</title>
		<link rel="alternate" type="text/html" href="https://wiki.hacksaar.de/index.php?title=Freifunk:User_Services&amp;diff=2014"/>
		<updated>2015-06-17T19:28:39Z</updated>

		<summary type="html">&lt;p&gt;Tobi042: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hier können User ihre über das Freifunknetz angebotenen Services eintragen. Das allozieren von IP-Adressen passiert aus dem Bereich 10.24.194.0/23 und passiert entweder indem ihr es selbst hier eintragt oder per E-Mail an die Mailingliste freifunk-vpn@lists.hacksaar.de bescheid gebt. Für einen DNS-Namen müsst ihr euch auf jeden Fall an die Mailingliste wenden.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Service&lt;br /&gt;
! Anbieter&lt;br /&gt;
! MAC-Adresse&lt;br /&gt;
! DNS-Name&lt;br /&gt;
! IPv4&lt;br /&gt;
! IPv6&lt;br /&gt;
|-&lt;br /&gt;
| Minecraft Server&lt;br /&gt;
| Marc Lippert &amp;lt;marc ät yulyvee punkt de&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
| mcserver.ffsaar&lt;br /&gt;
| 10.24.194.0&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Um den Server im Freifunk-Netz in Betrieb zu nehmen, schließt ihn entweder per WLAN oder über die gelben LAN-Ports an den Routern an und nehmt unten aufgeführten statischen IP-Einstellungen vor. Entsprechende Anleitungen für euer Betriebssystem findet ihr am einfachsten über Google. Wenn ihr Probleme mit den Einstellungen habt meldet euch einfach kurz auf der Mailingliste :)&lt;br /&gt;
&lt;br /&gt;
IPv4: &lt;br /&gt;
* Adresse: Die von euch / uns gewählte und in der Tabelle aufgeführte IP&lt;br /&gt;
* Subnetzmaske: 18 bzw 255.255.192.0&lt;br /&gt;
* Gateway: 10.24.192.2&lt;br /&gt;
* DNS: 10.24.192.2&lt;br /&gt;
&lt;br /&gt;
IPv6:&lt;br /&gt;
* Adresse: Die von euch / uns gewählte und in der Tabelle aufgeführte IP&lt;br /&gt;
* Subnetzmaske: 64&lt;br /&gt;
* DNS: fd4e:f2d7:88d2:ffff::2&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Freifunk]]&lt;/div&gt;</summary>
		<author><name>Tobi042</name></author>
	</entry>
	<entry>
		<id>https://wiki.hacksaar.de/index.php?title=Freifunk:User_Services&amp;diff=2012</id>
		<title>Freifunk:User Services</title>
		<link rel="alternate" type="text/html" href="https://wiki.hacksaar.de/index.php?title=Freifunk:User_Services&amp;diff=2012"/>
		<updated>2015-06-17T11:02:30Z</updated>

		<summary type="html">&lt;p&gt;Tobi042: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hier können User ihre über das Freifunknetz angebotenen Services eintragen. Das allozieren von IP-Adressen passiert aus dem Bereich 10.24.194.0/23 und passiert entweder indem ihr es selbst hier eintragt oder per E-Mail an die Mailingliste freifunk-vpn@lists.hacksaar.de bescheid gebt. Für einen DNS-Namen müsst ihr euch auf jeden Fall an die Mailingliste wenden.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Service&lt;br /&gt;
! Anbieter&lt;br /&gt;
! MAC-Adresse&lt;br /&gt;
! DNS-Name&lt;br /&gt;
! IPv4&lt;br /&gt;
! IPv6&lt;br /&gt;
|-&lt;br /&gt;
| Minecraft Server&lt;br /&gt;
| Marc Lippert &amp;lt;marc ät yulyvee punkt de&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
| mcserver.ffsaar&lt;br /&gt;
| 10.24.194.0&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Um den Server im Freifunk-Netz in Betrieb zu nehmen, schließt ihn entweder per WLAN oder über die blauen LAN-Ports an den Routern an und nehmt unten aufgeführten statischen IP-Einstellungen vor. Entsprechende Anleitungen für euer Betriebssystem findet ihr am einfachsten über Google. Wenn ihr Probleme mit den Einstellungen habt meldet euch einfach kurz auf der Mailingliste :)&lt;br /&gt;
&lt;br /&gt;
IPv4: &lt;br /&gt;
* Adresse: Die von euch / uns gewählte und in der Tabelle aufgeführte IP&lt;br /&gt;
* Subnetzmaske: 18 bzw 255.255.192.0&lt;br /&gt;
* Gateway: 10.24.192.2&lt;br /&gt;
* DNS: 10.24.192.2&lt;br /&gt;
&lt;br /&gt;
IPv6:&lt;br /&gt;
* Adresse: Die von euch / uns gewählte und in der Tabelle aufgeführte IP&lt;br /&gt;
* Subnetzmaske: 64&lt;br /&gt;
* DNS: fd4e:f2d7:88d2:ffff::2&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Freifunk]]&lt;/div&gt;</summary>
		<author><name>Tobi042</name></author>
	</entry>
	<entry>
		<id>https://wiki.hacksaar.de/index.php?title=Freifunk:Mesh-VPN_Gateway-Server_einrichten&amp;diff=1996</id>
		<title>Freifunk:Mesh-VPN Gateway-Server einrichten</title>
		<link rel="alternate" type="text/html" href="https://wiki.hacksaar.de/index.php?title=Freifunk:Mesh-VPN_Gateway-Server_einrichten&amp;diff=1996"/>
		<updated>2015-06-07T14:13:04Z</updated>

		<summary type="html">&lt;p&gt;Tobi042: /* Sysctl Einstellungen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Unsere Gateways laufen auf Debian 7 Wheezy. Diese Anleitungen orientieren sich an anderen Freifunk-Communities, aber einen sehr nennenswerten Einfluss hat die geniale Dokumentation von Freifunk Mainz, Wiesbaden und Umgebung (http://gluon-gateway-doku.readthedocs.org/de/latest/) gehabt.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
Größtenteils egal, wichtig ist folgendes: Root bekommt kein Passwort, dadurch wird der Root-Login gesperrt und man muss sudo benutzen. Als zu installierende Paketgruppen nutzen wir Debian-Standardutilities und SSH-Server.&lt;br /&gt;
&lt;br /&gt;
== SSH einrichten ==&lt;br /&gt;
&lt;br /&gt;
* Einloggen: &lt;br /&gt;
*: &amp;lt;code&amp;gt;ssh user@gwX.saar.freifunk.de&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;mkdir .ssh&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;echo &amp;quot;dein_ssh_key&amp;quot; &amp;gt; .ssh/authorized_keys&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;nano /etc/ssh/sshd_config&amp;lt;/code&amp;gt;&lt;br /&gt;
*: Folgende Änderungen vornehmen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;...&lt;br /&gt;
PermitRootLogin no&lt;br /&gt;
...&lt;br /&gt;
PasswordAuthentication no&lt;br /&gt;
...&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Alte Session aktiv lassen, in neuem Terminal versuchen mit Public Key einzuloggen. Wenn nicht erfolgreich debuggen.&lt;br /&gt;
* &amp;lt;code&amp;gt;sudo service ssh restart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Überflüssige Pakete deinstallieren ==&lt;br /&gt;
&lt;br /&gt;
Da wir eben etwas großzügig waren mit der Installation von Paketgruppen müssen wir jetzt exim und nfs-Kram deinstallieren:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;sudo apt-get remove exim4* nfs-common rpcbind&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Als Resultat sollte bei Ausführung von &amp;quot;sudo netstat -tulpn&amp;quot; keine Programme außer sshd und vielleicht dhclient angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
== Kimsufi / OVH Extras ==&lt;br /&gt;
&lt;br /&gt;
Bei den Servern von Kimsufi / OVH gibt es ein paar Kleinigkeiten zu beachten. Zum einen ist hier nicht sudo vorinstalliert, zum anderen benutzen die einen eigenen Kernel, den sie Rechnern vorinstallieren. Also müssen diesbezüglich erst einmal ein paar Vorkehrungen getroffen werden:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;apt-get install sudo linux-image-amd64&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;rm /etc/grub.d/06_OVHkernel&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;update-grub&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Danach sollte die VM neu gestartet werden um sicherzustellen, dass der neue Kernel auch wirklich bootet.&lt;br /&gt;
&lt;br /&gt;
== APT Sources hinzufügen ==&lt;br /&gt;
&lt;br /&gt;
Wir benötigen die Sources für fastd und batman-adv:&lt;br /&gt;
&lt;br /&gt;
* Mit &amp;lt;code&amp;gt;nano /etc/apt/sources.list&amp;lt;/code&amp;gt; folgendes hinzufügen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 deb http://security.debian.org/ wheezy/updates main contrib non-free&lt;br /&gt;
 deb-src http://security.debian.org/ wheezy/updates main contrib non-free&lt;br /&gt;
  &lt;br /&gt;
 # fastd&lt;br /&gt;
 deb http://ftp.de.debian.org/debian wheezy-backports main&lt;br /&gt;
 deb http://repo.universe-factory.net/debian/ sid main&lt;br /&gt;
&lt;br /&gt;
 # alfred&lt;br /&gt;
 deb http://debian.draic.info/ wheezy main&lt;br /&gt;
 deb-src http://debian.draic.info/ wheezy main&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Schlüssel für repo importieren: &lt;br /&gt;
* &amp;lt;code&amp;gt;gpg --keyserver pgpkeys.mit.edu --recv-key  B89033D8&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;gpg -a --export B89033D8 | apt-key add -&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;gpg --keyserver pgpkeys.mit.edu --recv-key  16EF3F64CB201D9C&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;gpg -a --export 16EF3F64CB201D9C | apt-key add -&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pakete installieren ==&lt;br /&gt;
* &amp;lt;code&amp;gt;apt-get update&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;apt-get install batctl batman-adv-dkms fastd bridge-utils ntp git htop iftop vnstat&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;echo &amp;quot;batman-adv&amp;quot; &amp;gt;&amp;gt; /etc/modules&amp;lt;/code&amp;gt;&lt;br /&gt;
* Zu beachten: Alle Pakete werden im folgenden eingerichtet. NTPs Standard-Config ist in Ordnung.&lt;br /&gt;
&lt;br /&gt;
== Netzwerk Grundkonfiguration ==&lt;br /&gt;
=== Sysctl Einstellungen ===&lt;br /&gt;
* /etc/sysctl.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Freifunk specific settings&lt;br /&gt;
net.ipv4.ip_forward=1&lt;br /&gt;
&lt;br /&gt;
net.bridge.bridge-nf-call-arptables = 0&lt;br /&gt;
net.bridge.bridge-nf-call-ip6tables = 0&lt;br /&gt;
net.bridge.bridge-nf-call-iptables = 0&lt;br /&gt;
&lt;br /&gt;
net.ipv6.conf.all.forwarding=1&lt;br /&gt;
&lt;br /&gt;
net.ipv6.conf.all.autoconf = 1&lt;br /&gt;
net.ipv6.conf.default.autoconf = 0&lt;br /&gt;
net.ipv6.conf.eth0.autoconf = 1&lt;br /&gt;
&lt;br /&gt;
net.ipv6.conf.all.accept_ra = 1&lt;br /&gt;
net.ipv6.conf.default.accept_ra = 0&lt;br /&gt;
net.ipv6.conf.eth0.accept_ra = 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Danach neu laden: &amp;lt;code&amp;gt;sysctl -p /etc/sysctl.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Routing Tables erstellen ===&lt;br /&gt;
* /etc/iproute2/rt_tables (bisherige Einstellungen beibehalten und folgende hinzufügen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# freifunk&lt;br /&gt;
32      saar&lt;br /&gt;
33      lux&lt;br /&gt;
42      icvpn&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Netzwerkinterafaces einstellen ===&lt;br /&gt;
* /etc/network/interfaces (andere Interfaces nach der entsprechenden Konfiguration belassen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# FREIFUNK SAAR&lt;br /&gt;
#&lt;br /&gt;
auto saarBR&lt;br /&gt;
iface saarBR inet static&lt;br /&gt;
    bridge_ports none&lt;br /&gt;
    bridge_fd 0&lt;br /&gt;
    bridge_maxwait 0&lt;br /&gt;
    address 10.24.192.XXX&lt;br /&gt;
    netmask 255.255.192.0&lt;br /&gt;
    # be sure all incoming traffic is handled by the appropriate rt_table&lt;br /&gt;
    post-up         /sbin/ip rule add iif $IFACE table saar priority 3200&lt;br /&gt;
    pre-down        /sbin/ip rule del iif $IFACE table saar priority 3200&lt;br /&gt;
    # default route is unreachable&lt;br /&gt;
    post-up         /sbin/ip route add unreachable default table saar&lt;br /&gt;
    post-down       /sbin/ip route del unreachable default table saar&lt;br /&gt;
    # local reachable subnet saar for rt_table lux&lt;br /&gt;
    post-up         /sbin/ip route add 10.24.128.0/18 proto static dev $IFACE table lux&lt;br /&gt;
    post-down       /sbin/ip route del 10.24.128.0/18 proto static dev $IFACE table lux&lt;br /&gt;
&lt;br /&gt;
iface saarBR inet6 static&lt;br /&gt;
    address fd4e:f2d7:88d2:ffff::XXX&lt;br /&gt;
    netmask 64&lt;br /&gt;
    # be sure all incoming traffic is handled by the appropriate rt_table&lt;br /&gt;
    post-up         /sbin/ip -6 rule add iif $IFACE table saar priority 3200&lt;br /&gt;
    pre-down        /sbin/ip -6 rule del iif $IFACE table saar priority 3200&lt;br /&gt;
    post-up         /sbin/ip -6 route add fe80::/64 proto static dev $IFACE table saar&lt;br /&gt;
    post-down       /sbin/ip -6 route del fe80::/64 proto static dev $IFACE table saar&lt;br /&gt;
    post-up         /sbin/ip -6 route add fd4e:f2d7:88d2:ffff::/64 proto static dev $IFACE table saar&lt;br /&gt;
    post-down       /sbin/ip -6 route del fd4e:f2d7:88d2:ffff::/64 proto static dev $IFACE table saar&lt;br /&gt;
    # ULA route mz for rt_table saar&lt;br /&gt;
    post-up         /sbin/ip -6 route add fd4e:f2d7:88d2:fffe::/64 proto static dev $IFACE table lux&lt;br /&gt;
    post-down       /sbin/ip -6 route del fd4e:f2d7:88d2:fffe::/64 proto static dev $IFACE table lux&lt;br /&gt;
&lt;br /&gt;
allow-hotplug saarMESH&lt;br /&gt;
iface saarMESH inet6 manual&lt;br /&gt;
    pre-up          /sbin/modprobe batman_adv&lt;br /&gt;
    post-up         /usr/sbin/batctl -m saarBAT if add $IFACE&lt;br /&gt;
    post-up         /sbin/ip link set dev saarBAT up&lt;br /&gt;
&lt;br /&gt;
allow-hotplug saarBAT&lt;br /&gt;
iface saarBAT inet6 manual&lt;br /&gt;
    pre-up          /sbin/modprobe batman-adv&lt;br /&gt;
    post-up         /sbin/brctl addif saarBR $IFACE&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE it 10000&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE vm server&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE gw server  6mbit/6mbit&lt;br /&gt;
    pre-down        /sbin/brctl delif saarBR $IFACE || true&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# FREIFUNK LUX &lt;br /&gt;
#&lt;br /&gt;
auto luxBR&lt;br /&gt;
iface luxBR inet static&lt;br /&gt;
    bridge_ports none&lt;br /&gt;
    bridge_fd 0&lt;br /&gt;
    bridge_maxwait 0&lt;br /&gt;
    address 10.24.128.XXX&lt;br /&gt;
    netmask 255.255.192.0&lt;br /&gt;
    # be sure all incoming traffic is handled by the appropriate rt_table&lt;br /&gt;
    post-up         /sbin/ip rule add iif $IFACE table lux priority 3300&lt;br /&gt;
    pre-down        /sbin/ip rule del iif $IFACE table lux priority 3300&lt;br /&gt;
    # default route is unreachable&lt;br /&gt;
    post-up         /sbin/ip route add unreachable default table lux &lt;br /&gt;
    post-down       /sbin/ip route del unreachable default table lux &lt;br /&gt;
    # local reachable subnet lux for rt_table saar&lt;br /&gt;
    post-up         /sbin/ip route add 10.24.192.0/18 proto static dev $IFACE table saar&lt;br /&gt;
    post-down       /sbin/ip route del 10.24.192.0/18 proto static dev $IFACE table saar&lt;br /&gt;
&lt;br /&gt;
iface luxBR inet6 static&lt;br /&gt;
    address fd4e:f2d7:88d2:fffe::XXX&lt;br /&gt;
    netmask 64&lt;br /&gt;
    # be sure all incoming traffic is handled by the appropriate rt_table&lt;br /&gt;
    post-up         /sbin/ip -6 rule add iif $IFACE table lux priority 3300&lt;br /&gt;
    pre-down        /sbin/ip -6 rule del iif $IFACE table lux priority 3300&lt;br /&gt;
    post-up         /sbin/ip -6 route add fe80::/64 proto static dev $IFACE table lux &lt;br /&gt;
    post-down       /sbin/ip -6 route del fe80::/64 proto static dev $IFACE table lux &lt;br /&gt;
    post-up         /sbin/ip -6 route add fd4e:f2d7:88d2:fffe::/64 proto static dev $IFACE table lux&lt;br /&gt;
    post-down       /sbin/ip -6 route del fd4e:f2d7:88d2:fffe::/64 proto static dev $IFACE table lux&lt;br /&gt;
    # ULA route saar for rt_table lux&lt;br /&gt;
    post-up         /sbin/ip -6 route add fd4e:f2d7:88d2:ffff::/64 proto static dev $IFACE table saar&lt;br /&gt;
    post-down       /sbin/ip -6 route del fd4e:f2d7:88d2:ffff::/64 proto static dev $IFACE table saar&lt;br /&gt;
&lt;br /&gt;
allow-hotplug luxMESH&lt;br /&gt;
iface luxMESH inet6 manual&lt;br /&gt;
    pre-up          /sbin/modprobe batman_adv&lt;br /&gt;
    post-up         /usr/sbin/batctl -m luxBAT if add $IFACE&lt;br /&gt;
    post-up         /sbin/ip link set dev luxBAT up&lt;br /&gt;
&lt;br /&gt;
allow-hotplug luxBAT&lt;br /&gt;
iface luxBAT inet6 manual&lt;br /&gt;
    pre-up          /sbin/modprobe batman-adv&lt;br /&gt;
    post-up         /sbin/brctl addif luxBR $IFACE&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE it 10000&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE vm server&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE gw server  6mbit/6mbit&lt;br /&gt;
    pre-down        /sbin/brctl delif luxBR $IFACE || true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Jedes Vorkommnis von XXX durch einen entsprechenden Wert aus dem Netzplan ersetzen, im Zweifel TobiT fragen&lt;br /&gt;
&lt;br /&gt;
== Helfer-Skripte ==&lt;br /&gt;
Es gibt 2 Helferskripte, die eingerichtet werden müssen. check_gateway.sh prüft minütlich, ob das ExitVPN noch steht. autoupdate_fastd_peers updatet die fastd-peers alle 5 Minuten per git.&lt;br /&gt;
=== check_gateway.sh ===&lt;br /&gt;
* /usr/bin/check_gateway.sh:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@gw2:/etc/fastd/freifunk-lux# less /usr/bin/check_gateway.sh&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
INTERFACE=tun0          # Set to name of VPN interface&lt;br /&gt;
DHCPSERVICE=dnsmasq     # Name of DHCP service&lt;br /&gt;
BANDWIDTH=XXX           # Server bandwidth&lt;br /&gt;
shopt -s nullglob&lt;br /&gt;
&lt;br /&gt;
# Test whether gateway is connected to the outer world via VPN&lt;br /&gt;
ping -q -I $INTERFACE 8.8.8.8 -c 4 -i 1 -W 5 &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
if test $? -eq 0; then&lt;br /&gt;
    NEW_STATE=server&lt;br /&gt;
else&lt;br /&gt;
    NEW_STATE=off&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Iterate through network interfaces in sys file system&lt;br /&gt;
for MESH in /sys/class/net/*/mesh; do&lt;br /&gt;
# Check whether gateway modus needs to be changed&lt;br /&gt;
OLD_STATE=&amp;quot;$(cat $MESH/gw_mode)&amp;quot;&lt;br /&gt;
[ &amp;quot;$OLD_STATE&amp;quot; == &amp;quot;$NEW_STATE&amp;quot; ] &amp;amp;&amp;amp; continue&lt;br /&gt;
    echo $NEW_STATE &amp;gt; $MESH/gw_mode&lt;br /&gt;
    echo ${BANDWIDTH}MBit/${BANDWIDTH}MBit &amp;gt; $MESH/gw_bandwidth&lt;br /&gt;
    logger &amp;quot;batman gateway mode changed to $NEW_STATE&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    # Check whether gateway modus has been deactivated&lt;br /&gt;
    if [ &amp;quot;$NEW_STATE&amp;quot; == &amp;quot;off&amp;quot; ]; then&lt;br /&gt;
        # Shutdown DHCP server to prevent renewal of leases&lt;br /&gt;
        /usr/sbin/service $DHCPSERVICE stop&lt;br /&gt;
    fi&lt;br /&gt;
&lt;br /&gt;
    # Check whether gateway modus has been activated&lt;br /&gt;
    if [ &amp;quot;$NEW_STATE&amp;quot; == &amp;quot;server&amp;quot; ]; then&lt;br /&gt;
        # Restart DHCP server&lt;br /&gt;
        /usr/sbin/service $DHCPSERVICE start&lt;br /&gt;
    fi&lt;br /&gt;
    exit 0&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
if [ &amp;quot;$NEW_STATE&amp;quot; == &amp;quot;server&amp;quot; ]; then&lt;br /&gt;
    /usr/sbin/service $DHCPSERVICE status 2&amp;gt;&amp;amp;1&amp;gt; /dev/null&lt;br /&gt;
    if [[ $? -ne 0 ]]&lt;br /&gt;
    then&lt;br /&gt;
        /usr/sbin/service $DHCPSERVICE restart&lt;br /&gt;
    fi&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$NEW_STATE&amp;quot; == &amp;quot;off&amp;quot; ]; then&lt;br /&gt;
    /usr/sbin/service $DHCPSERVICE status 2&amp;gt;&amp;amp;1&amp;gt; /dev/null&lt;br /&gt;
    if [[ $? -eq 0 ]]&lt;br /&gt;
    then&lt;br /&gt;
        /usr/sbin/service $DHCPSERVICE stop&lt;br /&gt;
    fi&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Ganz oben bei BANDWIDTH die Serverbandbreite in MBit/s einstellen, damit diese ordentlich via Batman announced werden kann.&lt;br /&gt;
* Speichern und mit &amp;lt;code&amp;gt;chmod +x /usr/bin/check_gateway.sh&amp;lt;/code&amp;gt; ausführbar machen&lt;br /&gt;
=== autoupdate_fastd_keys.sh ===&lt;br /&gt;
* /usr/bin/autoupate_fastd_keys.sh:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# Simple script to update fastd peers from git upstream&lt;br /&gt;
# and only send HUP to fastd when changes happend.&lt;br /&gt;
&lt;br /&gt;
# CONFIGURE THIS TO YOUR PEER DIRECTORY&lt;br /&gt;
FASTD_PEERS_ARRAY=( &amp;quot;freifunk-saar&amp;quot; &amp;quot;freifunk-lux&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
function getCurrentVersion() {&lt;br /&gt;
 # Get hash from latest revision&lt;br /&gt;
 git log --format=format:%H -1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
for FASTD_PEERS in &amp;quot;${FASTD_PEERS_ARRAY[@]}&amp;quot;&lt;br /&gt;
do&lt;br /&gt;
cd /etc/fastd/$FASTD_PEERS/peers&lt;br /&gt;
&lt;br /&gt;
# Get current version hash&lt;br /&gt;
GIT_REVISION=$(getCurrentVersion)&lt;br /&gt;
&lt;br /&gt;
# Automagically commit local changes&lt;br /&gt;
# This preserves local changes&lt;br /&gt;
git commit -m &amp;quot;CRON: auto commit&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Pull latest changes from upstream&lt;br /&gt;
git fetch&lt;br /&gt;
git merge origin/master -m &amp;quot;Auto Merge&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Get new version hash&lt;br /&gt;
GIT_NEW_REVISION=$(getCurrentVersion)&lt;br /&gt;
&lt;br /&gt;
if [ $GIT_REVISION != $GIT_NEW_REVISION ]&lt;br /&gt;
then&lt;br /&gt;
 # Version has changed we need to update&lt;br /&gt;
 echo &amp;quot;Reload fastd peers&amp;quot;&lt;br /&gt;
 kill -HUP $(cat /var/run/fastd.$FASTD_PEERS.pid)&lt;br /&gt;
fi&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Auch dieses Skript ausführbar machen: &amp;lt;code&amp;gt;chmod +x /usr/bin/autoupdate_fastd_keys.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
=== Skripte in crontab eintragen ===&lt;br /&gt;
* In &amp;lt;code&amp;gt;sudo crontab -e&amp;lt;/code&amp;gt; folgende Zeilen anhängen&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*/5 * * * *   /usr/bin/autoupdate_fastd_keys.sh &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
* * * * *   /usr/bin/check_gateway.sh &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Fastd-Config ==&lt;br /&gt;
* &amp;lt;code&amp;gt;mkdir /etc/fastd/freifunk-{saar,lux}/&amp;lt;/code&amp;gt;&lt;br /&gt;
* Config-Dateien anlegen und entsprechenden Inhalt reinkopieren:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
log level warn;&lt;br /&gt;
log to syslog level info;&lt;br /&gt;
&lt;br /&gt;
hide ip addresses yes;&lt;br /&gt;
hide mac addresses yes;&lt;br /&gt;
&lt;br /&gt;
interface &amp;quot;xxxxMESH&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
method &amp;quot;salsa2012+umac&amp;quot;;    # new method (faster)&lt;br /&gt;
method &amp;quot;salsa2012+gmac&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
bind any:10000 interface &amp;quot;eth0&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
include &amp;quot;secret.conf&amp;quot;;&lt;br /&gt;
mtu 1426; # 1492 - IPv4/IPv6 Header - fastd Header...&lt;br /&gt;
&lt;br /&gt;
include peers from &amp;quot;peers&amp;quot;;&lt;br /&gt;
include peers from &amp;quot;peers-gw&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
secure handshakes yes;&lt;br /&gt;
&lt;br /&gt;
on up &amp;quot;&lt;br /&gt;
ip link set dev xxxxMESH address ca:fe:ba:be:00:0X&lt;br /&gt;
ip link set dev xxxxMESH up&lt;br /&gt;
&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Secret Keys aus den Repos besorgen und in secret.conf schreiben&lt;br /&gt;
* Neuen SSH-Key anlegen mit &amp;lt;code&amp;gt;ssh-keygen -t ecdsa&amp;lt;/code&amp;gt;, als Deploy Key in die Gitlab-Projekte https://git.hacksaar.de/FreifunkSaar/mesh-vpn-peers und https://git.hacksaar.de/FreifunkSaar/mesh-vpn-peers-lux eintragen.&lt;br /&gt;
* Mesh-VPN-Peers-Verzeichnis als &amp;quot;peers&amp;quot; klonen: &amp;lt;code&amp;gt;git clone git@hacksaar.de:FreifunkSaar/mesh-vpn-peers.git peers&amp;lt;/code&amp;gt; bzw &amp;lt;code&amp;gt;git clone git@hacksaar.de:FreifunkSaar/mesh-vpn-peers-lux.git peers&amp;lt;/code&amp;gt; jeweils im entsprechende Verzeichnis&lt;br /&gt;
* Feuer!: &amp;lt;code&amp;gt;sudo service fastd start&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DNS, DHCP und RA-Server dnsmasq ==&lt;br /&gt;
* Installieren: &amp;lt;code&amp;gt;apt-get install dnsmasq&amp;lt;/code&amp;gt;&lt;br /&gt;
* /etc/dnsmasq.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bogus-priv&lt;br /&gt;
no-resolv&lt;br /&gt;
no-poll&lt;br /&gt;
log-facility=/dev/null&lt;br /&gt;
&lt;br /&gt;
server=8.8.8.8&lt;br /&gt;
server=8.8.4.4&lt;br /&gt;
&lt;br /&gt;
read-ethers&lt;br /&gt;
expand-hosts&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* /etc/dnsmasq.d/ffsaar&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local=/ffsaar/&lt;br /&gt;
interface=saarBR&lt;br /&gt;
domain=ffsaar&lt;br /&gt;
&lt;br /&gt;
dhcp-range=10.24.XXX.1,10.24.XXX.254,180&lt;br /&gt;
dhcp-range=fd4e:f2d7:88d2:ffff::,64,180,ra-names&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* /etc/dnsmasq.d/fflux&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local=/fflux/&lt;br /&gt;
interface=luxBR&lt;br /&gt;
domain=fflux&lt;br /&gt;
&lt;br /&gt;
dhcp-range=10.24.XXX.1,10.24.XXX.254,180&lt;br /&gt;
dhcp-range=fd4e:f2d7:88d2:fffe::,64,180,ra-names&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* /etc/hosts&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Freifunk Sachen&lt;br /&gt;
10.24.192.2                     static.services.ffsaar ntp.services.ffsaar&lt;br /&gt;
fd4e:f2d7:88d2:ffff::2          static.services.ffsaar ntp.services.ffsaar&lt;br /&gt;
&lt;br /&gt;
10.24.192.1                     router.ffsaar node.ffsaar local.ffsaar knoten.ffsaar my.ffsaar&lt;br /&gt;
fd4e:f2d7:88d2:ffff::1          router.ffsaar node.ffsaar local.ffsaar knoten.ffsaar my.ffsaar&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== isc-dhcp-server (in Zukunft mal umzustellen) ===&lt;br /&gt;
* /etc/dhcp/dhcpd.conf: (Komplett ersetzen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ddns-update-style none;&lt;br /&gt;
default-lease-time 300;&lt;br /&gt;
max-lease-time 300;&lt;br /&gt;
authoritative;&lt;br /&gt;
&lt;br /&gt;
log-facility local6;&lt;br /&gt;
&lt;br /&gt;
subnet 10.24.192.0 netmask 255.255.192.0 {&lt;br /&gt;
        range 10.24.XXX.0 10.24.XXX+3.255;&lt;br /&gt;
        option routers 10.24.192.ZZZ;&lt;br /&gt;
        option domain-name-servers 10.24.192.2, 10.24.192.3, 10.24.192.4;&lt;br /&gt;
        option domain-search &amp;quot;ffsaar&amp;quot;;&lt;br /&gt;
        option ntp-servers 10.24.192.2, 10.24.192.3, 10.24.192.4;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
subnet 10.24.128.0 netmask 255.255.192.0 {&lt;br /&gt;
        range 10.24.YYY.0 10.24.YYY+3.255;&lt;br /&gt;
        option routers 10.24.128.ZZZ;&lt;br /&gt;
        option domain-name-servers 10.24.128.2, 10.24.128.3, 10.24.128.4;&lt;br /&gt;
        option domain-search &amp;quot;fflux&amp;quot;;&lt;br /&gt;
        option ntp-servers 10.24.128.2, 10.24.128.3, 10.24.128.4;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* XXX, XXX+3, YYY, YYY+3, ZZZ durch richtige Werte ersetzen&lt;br /&gt;
* /etc/default/isc-dhcp-server (Zeile INTERFACES ersetzen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
INTERFACES=&amp;quot;saarBR luxBR&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Neu starten: &amp;lt;code&amp;gt;service isc-dhcp-server restart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== IPTables ==&lt;br /&gt;
&lt;br /&gt;
* installieren: &amp;lt;code&amp;gt;apt-get install iptables-persistent&amp;lt;/code&amp;gt;&lt;br /&gt;
* /etc/iptables/rules.v4 UND /etc/iptables/rules.v6&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*mangle&lt;br /&gt;
:PREROUTING ACCEPT [0:0]&lt;br /&gt;
:INPUT ACCEPT [0:0]&lt;br /&gt;
:FORWARD ACCEPT [0:0]&lt;br /&gt;
:OUTPUT ACCEPT [0:0]&lt;br /&gt;
:POSTROUTING ACCEPT [0:0]&lt;br /&gt;
COMMIT&lt;br /&gt;
&lt;br /&gt;
*nat&lt;br /&gt;
:PREROUTING ACCEPT [0:0]&lt;br /&gt;
:INPUT ACCEPT [0:0]&lt;br /&gt;
:OUTPUT ACCEPT [0:0]&lt;br /&gt;
:POSTROUTING ACCEPT [0:0]&lt;br /&gt;
-A POSTROUTING -o tun0 -j MASQUERADE&lt;br /&gt;
COMMIT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Exit-VPN ==&lt;br /&gt;
abhängig von der Config einzurichten&lt;br /&gt;
== Knoteninformationen (Alfred...) ==&lt;br /&gt;
&#039;&#039;&#039;Dieser Punkt befindet sich aktuell in der Erstellung und wird später noch auf die anderen Kapitel aufgeteilt --[[Benutzer:Rugosh|Rugosh]] ([[Benutzer Diskussion:Rugosh|Diskussion]]) 16:38, 22. Feb. 2015 (CET)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Alfred wird auf den Gateways benötigt um die Knoteninformationen zu sammeln und aus diesen Informationen eine Knotendatei unter anderem für die Freifunkkarte bauen zu können.&lt;br /&gt;
Der Server, auf welchem die Knotendatei generiert wird ist hier logisch gesehen der Master die anderen Systeme sind als Slave zu konfigurieren.&lt;br /&gt;
&lt;br /&gt;
Da wir auf unseren Gateways sowohl Saar las auch Lux Freifunk betreiben benötigen wir auch eine Doppelkonfiguration der Knotenerstellung. Dies betrifft sowohl Alfred als auch den Punkt, dass der Master für mehrere Communities Kartendaten erstellen können muss.&lt;br /&gt;
&lt;br /&gt;
=== Slave Konfiguration ===&lt;br /&gt;
Benötigte Komponenten:&lt;br /&gt;
* Alfred&lt;br /&gt;
* batadv-vis&lt;br /&gt;
&lt;br /&gt;
installation via&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install alfred batadv-vis&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Alfred Konfiguration (saar only) ====&lt;br /&gt;
Zuerst muss alfred und batadv gestopt werden&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo service alfred stop&lt;br /&gt;
sudo service batadv-vis stop&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Anpassen der alfred Konfigruation&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/default/alfred&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# /etc/default/alfred&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
# Additional command line options&lt;br /&gt;
DAEMON_OPTS=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Enable master mode (0/1)&lt;br /&gt;
MASTER=0&lt;br /&gt;
&lt;br /&gt;
# Interface for A.L.F.R.E.D. to listen on. Has to be specified.&lt;br /&gt;
INTERFACE=saarBR&lt;br /&gt;
&lt;br /&gt;
# Specify the batman-adv interface configured on the system (default: bat0).&lt;br /&gt;
# Use &#039;none&#039; to disable the batman-adv based best server selection.&lt;br /&gt;
BATMANIF=saarBAT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Anpassen der batadv-vis Konfuguration&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/default/batadv-vis&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# /etc/default/batadv-vis&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
# Specify the batman-adv interface configured on the system (default: bat0).&lt;br /&gt;
BATMANIF=saarBAT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Starten der Dienste&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo service alfred start&lt;br /&gt;
sudo service batadv-vis start&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Überprüfen ob alles läuft und hoffentlich freuen :-)&lt;br /&gt;
&lt;br /&gt;
==== Alfred Konfiguration für saar und lux (aktuell nicht verwendet) ====&lt;br /&gt;
Wir benötigen zuerst einmal zwei Alfred daemons:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo service alfred stop&lt;br /&gt;
sudo cp /etc/default/alfred /etc/default/alfred-saar&lt;br /&gt;
sudo cp /etc/default/alfred /etc/default/alfred-lux&lt;br /&gt;
sudo cp /etc/init.d/alfred /etc/init.d/alfred-saar&lt;br /&gt;
sudo cp /etc/init.d/alfred /etc/init.d/alfred-lux&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Alfred muss auf auf dem Slave lediglich auf den MASTER=0 gesetzt werden und das Interface, sowie Batman muss angegeben sein. Die Konfiguration findet in der Konfigurationsdatei &amp;lt;code&amp;gt;/etc/default/alfred-XXX&amp;lt;/code&amp;gt; wie folgt statt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# /etc/default/alfred-saar&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
# Additional command line options&lt;br /&gt;
DAEMON_OPTS=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Enable master mode (0/1)&lt;br /&gt;
MASTER=0&lt;br /&gt;
&lt;br /&gt;
# Interface for A.L.F.R.E.D. to listen on. Has to be specified.&lt;br /&gt;
INTERFACE=br-ff&lt;br /&gt;
&lt;br /&gt;
# Specify the batman-adv interface configured on the system (default: bat0).&lt;br /&gt;
# Use &#039;none&#039; to disable the batman-adv based best server selection.&lt;br /&gt;
BATMANIF=saarBAT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# /etc/default/alfred-lux&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
# Additional command line options&lt;br /&gt;
DAEMON_OPTS=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Enable master mode (0/1)&lt;br /&gt;
MASTER=0&lt;br /&gt;
&lt;br /&gt;
# Interface for A.L.F.R.E.D. to listen on. Has to be specified.&lt;br /&gt;
INTERFACE=luxBR&lt;br /&gt;
&lt;br /&gt;
# Specify the batman-adv interface configured on the system (default: bat0).&lt;br /&gt;
# Use &#039;none&#039; to disable the batman-adv based best server selection.&lt;br /&gt;
BATMANIF=luxBAT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Anpassen der init.d Dateien für die Alfreds...&lt;br /&gt;
&#039;&#039;&#039;Nachfolgende Configs erzeugen noch keinen eigenständigen Alfed Socket...&#039;&#039;&#039; Leider muss damit die Alfreds eigene Sockets haben anscheinend alfred selbst mit anderen werten kompaliert werden https://github.com/tcatm/alfred/blob/master/alfred.h oder hier muss eine andere (bessere) Lösung gefunden werden. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Ausschnitt der anzupassenden Datei /etc/init.d/alfred-saar&lt;br /&gt;
&lt;br /&gt;
DESC=&amp;quot;A.L.F.R.E.D -&amp;gt; Saar&amp;quot;&lt;br /&gt;
NAME=alfred&lt;br /&gt;
NAME2=alfred-saar&lt;br /&gt;
DAEMON=/usr/sbin/$NAME&lt;br /&gt;
PIDFILE=/var/run/$NAME2.pid&lt;br /&gt;
SCRIPTNAME=/etc/init.d/$NAME2&lt;br /&gt;
GROUP=alfred &lt;br /&gt;
OPTIONS=&amp;quot;&amp;quot;&lt;br /&gt;
UMASK=0117&lt;br /&gt;
&lt;br /&gt;
[ -x &amp;quot;$DAEMON&amp;quot; ] || exit 0&lt;br /&gt;
&lt;br /&gt;
# Source defaults.&lt;br /&gt;
[ -r /etc/default/$NAME2 ] &amp;amp;&amp;amp; . /etc/default/$NAME2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Ausschnitt der anzupassenden Datei /etc/init.d/alfred-lux&lt;br /&gt;
&lt;br /&gt;
DESC=&amp;quot;A.L.F.R.E.D -&amp;gt; Lux&amp;quot;&lt;br /&gt;
NAME=alfred-lux&lt;br /&gt;
DAEMON=/usr/sbin/$NAME&lt;br /&gt;
PIDFILE=/var/run/$NAME2.pid&lt;br /&gt;
SCRIPTNAME=/etc/init.d/$NAME2&lt;br /&gt;
GROUP=alfred&lt;br /&gt;
OPTIONS=&amp;quot;&amp;quot;&lt;br /&gt;
UMASK=0117&lt;br /&gt;
&lt;br /&gt;
[ -x &amp;quot;$DAEMON&amp;quot; ] || exit 0&lt;br /&gt;
&lt;br /&gt;
# Source defaults.&lt;br /&gt;
[ -r /etc/default/$NAME2 ] &amp;amp;&amp;amp; . /etc/default/$NAME2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Starten der neuen Alfreds&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo service alfred-saar start&lt;br /&gt;
sudo service alfred-lux start&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Nun testen ob alles wie gewünscht funktioniert und erst nach einem erfolgreichen Test die nun nicht mehr benötigten Daten löschen.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rm /etc/default/alfred&lt;br /&gt;
sudo rm /etc/init.d/alfred.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== batadv-vis ====&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=== Master Konfiguration ===&lt;br /&gt;
Benötigte Komponenten:&lt;br /&gt;
* Alfred&lt;br /&gt;
* Alfred-JSON&lt;br /&gt;
* Batman&lt;br /&gt;
&lt;br /&gt;
==== Alfred Konfiguration ====&lt;br /&gt;
Alfred muss auf auf dem Slave lediglich auf den MASTER=1 gesetzt werden und das Interface, sowie Batman muss angegeben sein. Für Details siehe [[#Alfred_Konfiguration | Slave Konfiguration -&amp;gt; Alfred Konfigurieren ]]&lt;br /&gt;
&#039;&#039;&#039;Achtung: Da auf dem Master aktuell nur ein Batman device läuft, ist hier aktuell kein alfred-lux gestartet, aber vorkonfiguriert&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Knotendateigenerierung ====&lt;br /&gt;
* Benötigt auch alias config&lt;br /&gt;
* bat2nodes für Kartengenerierung mit mkmap Skript. Checkout newest Version from https://github.com/freifunk-saar/ffmap-backend -&amp;gt; done.&lt;br /&gt;
* Cron Eintrag vom mkmap Skript&lt;br /&gt;
&lt;br /&gt;
==== Alias Konfiguration ====&lt;br /&gt;
Da wir uns für die manuelle Konfiguration des Announcement der Gateway Informationen entschieden haben ist eine Anpassung der Alias Datei für jede neue Gateway erforderlich.&lt;br /&gt;
Die Dateien &amp;lt;code&amp;gt;aliases_saar.json&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;aliases_lux.json&amp;lt;/code&amp;gt; befindet sich im bat2nodes Verzeichnis und beinhaltet für jede Gateway einen Alias Eintrag.&lt;br /&gt;
&lt;br /&gt;
Beipiel:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
   &amp;quot;&amp;lt;KENNUNG&amp;gt;1&amp;quot; : {&lt;br /&gt;
      &amp;quot;name&amp;quot; : &amp;quot;gw1.saar.freifunk.net&amp;quot;,&lt;br /&gt;
      &amp;quot;vpn&amp;quot; : true&lt;br /&gt;
   },&lt;br /&gt;
   &amp;quot;&amp;lt;KENNUNG&amp;gt;2&amp;quot; : {&lt;br /&gt;
      &amp;quot;name&amp;quot; : &amp;quot;gw2.saar.freifunk.net&amp;quot;,&lt;br /&gt;
      &amp;quot;vpn&amp;quot; : true&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== batadv-vis ====&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=== alfed-json ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== To be continued... ==&lt;br /&gt;
* DNSmasq statt radvd, bind, isc-dhcp-server&lt;/div&gt;</summary>
		<author><name>Tobi042</name></author>
	</entry>
	<entry>
		<id>https://wiki.hacksaar.de/index.php?title=Freifunk:IP-Adressen&amp;diff=1995</id>
		<title>Freifunk:IP-Adressen</title>
		<link rel="alternate" type="text/html" href="https://wiki.hacksaar.de/index.php?title=Freifunk:IP-Adressen&amp;diff=1995"/>
		<updated>2015-06-04T03:56:16Z</updated>

		<summary type="html">&lt;p&gt;Tobi042: /* Mesh Public Keys */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hier sind ein paar technische Details zu unseren Gateway-Servern.&lt;br /&gt;
&lt;br /&gt;
= Team =&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich kümmert sich jeder aus dem Team um allgemeine Fragen auf der Mailingliste und das Eintragen von neuen VPN-Keys. Darüber hinaus haben manche Team-Mitglieder spezielle Aufgaben, die sie ausführen bzw. Themengebiete mit denen sie sich besonders auskennen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Name&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Aufgabenbereiche&lt;br /&gt;
|-&lt;br /&gt;
| [[Benutzer:Kimcm|KimCM]]&lt;br /&gt;
| Public Relations, Webseite&lt;br /&gt;
|-&lt;br /&gt;
| [[Benutzer:Tobi042|Tobias Theobald]]&lt;br /&gt;
| Gateway-Administration, Firmware, allgemeine technische Fragen&lt;br /&gt;
|-&lt;br /&gt;
| [[Benutzer:Rugosh|Tobias Kuhn]]&lt;br /&gt;
| Knotenkarte, Alfred&lt;br /&gt;
|-&lt;br /&gt;
| Tobias von dem Broch&lt;br /&gt;
| Richtfunk, Antennenfragen&lt;br /&gt;
|-&lt;br /&gt;
| [[Benutzer:Marvin|Marvin W]]&lt;br /&gt;
| Richtfunk&lt;br /&gt;
|-&lt;br /&gt;
| [[Benutzer:Constantin|Constantin Berhard]]&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Hardware-Details =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Gateway&lt;br /&gt;
! CPU Typ&lt;br /&gt;
! CPU Kerne / Threads&lt;br /&gt;
! RAM&lt;br /&gt;
! Platte&lt;br /&gt;
! Internet-Anbindung&lt;br /&gt;
! Hoster&lt;br /&gt;
! Sponsor&lt;br /&gt;
! Zusätzliche Services&lt;br /&gt;
! Virtualisierung&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw1.saar.freifunk.net&lt;br /&gt;
| Intel(R) Xeon(R) CPU L5520 @ 2.27GHz&lt;br /&gt;
| 4 / 4&lt;br /&gt;
| 512 MB&lt;br /&gt;
| 10 GB&lt;br /&gt;
| 100 MBit Shared&lt;br /&gt;
| server.lu&lt;br /&gt;
| Tobias Theobald / Marc Schmit&lt;br /&gt;
| Firmwares für Autoupdater, Knotenkarte&lt;br /&gt;
| Xen&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw2.saar.freifunk.net&lt;br /&gt;
| Intel Core i7 9xx&lt;br /&gt;
| 2 / 2&lt;br /&gt;
| 512 MB&lt;br /&gt;
| 10 GB&lt;br /&gt;
| 100 MBit down / 6 MBit up&lt;br /&gt;
| &lt;br /&gt;
| TKS e.V.&lt;br /&gt;
| &lt;br /&gt;
| KVM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw3.saar.freifunk.net&lt;br /&gt;
| Intel(R) Atom(TM) CPU N2800 @ 1.86GHz&lt;br /&gt;
| 2 / 4&lt;br /&gt;
| 2 GB&lt;br /&gt;
| 500 GB&lt;br /&gt;
| 100 MBit shared&lt;br /&gt;
| Kimsufi / OVH&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw4.saar.freifunk.net&lt;br /&gt;
| Intel(R) Atom(TM) CPU N2800 @ 1.86GHz&lt;br /&gt;
| 2 / 4&lt;br /&gt;
| 2 GB&lt;br /&gt;
| 500 GB&lt;br /&gt;
| 100 MBit shared&lt;br /&gt;
| Kimsufi / OVH&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| ?&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Public DNS / IPs =&lt;br /&gt;
&lt;br /&gt;
Hier eine Tabelle mit den DNS-Namen und IP-Adressen unserer Gateways.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Gateway&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Alt DNS Name&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Public IPv4&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Public IPv6&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw1.saar.freifunk.net&lt;br /&gt;
| freifunk.tobi042.de&lt;br /&gt;
| 94.242.195.78&lt;br /&gt;
| 2a01:608:ffff:9876:cafe:babe:6:1&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw2.saar.freifunk.net&lt;br /&gt;
| freifunk.dyn.hacksaar.de&lt;br /&gt;
| (dynamisch)&lt;br /&gt;
| (dynamisch)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw3.saar.freifunk.net&lt;br /&gt;
| ns326072.ip-37-187-107.eu&lt;br /&gt;
| 37.187.107.18&lt;br /&gt;
| 2001:41d0:a:3b12::1&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw4.saar.freifunk.net&lt;br /&gt;
| ns327157.ip-37-187-109.eu&lt;br /&gt;
| 37.187.109.160&lt;br /&gt;
| 2001:41d0:a:62a0::1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Anmerkung: GW2 steht im Hackerspace des TKS e.V. hinter einem dynamischen Kabel Deutschland Anschluss, daher sind die IP-Adressen hier dynamisch.&lt;br /&gt;
&lt;br /&gt;
Weitere Anmerkung: GW3 und 4 sind Kimsufi-Server, deren DNS-CName verweist noch nicht auf die IPv6-Adresse der Server. &lt;br /&gt;
&lt;br /&gt;
= Mesh IPs =&lt;br /&gt;
&lt;br /&gt;
Jeder Gateway ist Teil unseres Mesh-VPN und braucht als solches diverse Adressen, über die er im Mesh erreichbar ist.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Gateway&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Saar Mesh IPv4&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Saar Mesh IPv6&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Saar Mesh MAC&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Lux Mesh IPv4&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Lux Mesh IPv6&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Lux Mesh MAC&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw1.saar.freifunk.net&lt;br /&gt;
| 10.24.192.2&lt;br /&gt;
| fd4e:f2d7:88d2:ffff::2&lt;br /&gt;
| ca:fe:ba:be:00:01&lt;br /&gt;
| 10.24.128.2&lt;br /&gt;
| fd4e:f2d7:88d2:fffe::2&lt;br /&gt;
| ca:fe:ba:be:01:01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw2.saar.freifunk.net&lt;br /&gt;
| 10.24.192.3&lt;br /&gt;
| fd4e:f2d7:88d2:ffff::3&lt;br /&gt;
| ca:fe:ba:be:00:02&lt;br /&gt;
| 10.24.128.3&lt;br /&gt;
| fd4e:f2d7:88d2:fffe::3&lt;br /&gt;
| ca:fe:ba:be:01:02&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw3.saar.freifunk.net&lt;br /&gt;
| 10.24.192.4&lt;br /&gt;
| fd4e:f2d7:88d2:ffff::4&lt;br /&gt;
| ca:fe:ba:be:00:03&lt;br /&gt;
| 10.24.128.4&lt;br /&gt;
| fd4e:f2d7:88d2:fffe::4&lt;br /&gt;
| ca:fe:ba:be:01:03&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw4.saar.freifunk.net&lt;br /&gt;
| 10.24.192.5&lt;br /&gt;
| fd4e:f2d7:88d2:ffff::5&lt;br /&gt;
| ca:fe:ba:be:00:04&lt;br /&gt;
| 10.24.128.5&lt;br /&gt;
| fd4e:f2d7:88d2:fffe::5&lt;br /&gt;
| ca:fe:ba:be:01:04&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Darüber hinaus gibt es in jedem Netz eine Anycast IP, die immer auf das gerade verwendete Gateway zeigt:&lt;br /&gt;
&lt;br /&gt;
Saar: 10.24.192.1 / fd4e:f2d7:88d2:ffff::1&lt;br /&gt;
Lux: 10.24.128.1 / fd4e:f2d7:88d2:fffe::1&lt;br /&gt;
&lt;br /&gt;
= DHCP-Ranges =&lt;br /&gt;
&lt;br /&gt;
Auf jedem Gateway läuft pro Netz (Saar, Lux) ein DHCP-Server, der IP-Adressen an Clients verteilt, die diesen Server als Gateway nutzen. Grundsätzlich verteilen wir hier /22-Ranges, also bis zu 1022 IP-Adressen pro Gateway. Ich halte es für denkbar, dass ein einzelner Server nicht so viele Clients packt, aber reduzieren geht ja schließlich immer, erweitern ist problematisch.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Gateway&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Saar DHCP Range&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Lux DHCP Range&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw1.saar.freifunk.net&lt;br /&gt;
| 10.24.196.0/22&lt;br /&gt;
| 10.24.132.0/22&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw2.saar.freifunk.net&lt;br /&gt;
| 10.24.200.0/22&lt;br /&gt;
| 10.24.136.0/22&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw3.saar.freifunk.net&lt;br /&gt;
| 10.24.204.0/22&lt;br /&gt;
| 10.24.140.0/22&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw4.saar.freifunk.net&lt;br /&gt;
| 10.24.208.0/22&lt;br /&gt;
| 10.24.144.0/22&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Reservierte andere Ranges:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Zuweisung&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Saar-Range&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Lux-Range&lt;br /&gt;
|-&lt;br /&gt;
| Admin-Netz&lt;br /&gt;
| 10.24.192.0/24&lt;br /&gt;
| 10.24.128.0/24&lt;br /&gt;
|-&lt;br /&gt;
| Nicht zugewiesen&lt;br /&gt;
| 10.24.193.0/24&lt;br /&gt;
| 10.24.129.0/24&lt;br /&gt;
|-&lt;br /&gt;
| User Services&lt;br /&gt;
| 10.24.194.0/23&lt;br /&gt;
| 10.24.130.0/23&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Mesh Public Keys =&lt;br /&gt;
&lt;br /&gt;
Das Mesh-VPN wird mit der VPN-Software fastd realisiert. Sie ist klein und schnell und damit wunderbar für den Einsatz auf Routern geeignet. &lt;br /&gt;
&lt;br /&gt;
Die saarländischen Mesh-Instanzen lauschen immer auf UDP Port 10000, die luxemburgischen auf Port 10001. Als Cipher unterstützen unsere Server salsa2012+umac, die VPN-interne MTU beträgt 1426 byte, wobei sich das in Zukunft ändern wird, da durch den größeren IPv6-Header die MTU kleiner wird (d.h. wird irgendwann in Zukunft auf 1406 geändert).&lt;br /&gt;
&lt;br /&gt;
Hier die Public Keys und den Online-Status (nicht live) unserer Gateways:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Gateway&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Public Key Saar&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Aktiv?&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Public Key Lux&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Aktiv?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw1.saar.freifunk.net&lt;br /&gt;
| 5136a920a8c7aa9ae2ca1c2a1e33ea8c45e01501fac0f02b9d6a05b167ac5993&lt;br /&gt;
| Ja&lt;br /&gt;
| 4ed85c21d3db653bd2f1b210a8b60cbe25c40a3c2b756fc9c30d864466ad519d&lt;br /&gt;
| Nein&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw2.saar.freifunk.net&lt;br /&gt;
| 80859883c8a22867b20082078ab0934bdf58f556e7acda90730ea282d8da9388&lt;br /&gt;
| Ja&lt;br /&gt;
| 0ce6c650b07207b05ee4be3680cb1b1c69aea92fd76fecda50c720061f5cf9af&lt;br /&gt;
| Ja&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw3.saar.freifunk.net&lt;br /&gt;
| 711d1dc6f2048ffe88997441612ca764595b414abea5495c4f3ce746c72774e6&lt;br /&gt;
| Ja&lt;br /&gt;
| 440fa235832b933bebb66c91929a83a9c3a47348f164b1c7440661bb142dd32b&lt;br /&gt;
| Ja&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw4.saar.freifunk.net&lt;br /&gt;
| 33e02014b00a45bc8249b4428a9da614a370b5e386fa5d8d66c325941aa27568&lt;br /&gt;
| Ja&lt;br /&gt;
| 260f0a780281f49cdee9332c2139416cd715fb0257ac75d49ce43c4125654e36&lt;br /&gt;
| Ja&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Mesh WLAN =&lt;br /&gt;
&lt;br /&gt;
Hier die Details für das WLAN auf den Clients&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Netz&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Mesh {E/B}SSID&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Clients ESSID&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | 2.4 GHz Kanal&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | 5 GHz Kanal&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | HT-Modul&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | Saar&lt;br /&gt;
| 5e:ba:7a:d2:c4:ba&lt;br /&gt;
| saar.freifunk.net&lt;br /&gt;
| 1&lt;br /&gt;
| 36&lt;br /&gt;
| HT40+&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | Lux&lt;br /&gt;
| 5e:ba:7a:d2:c4:bb&lt;br /&gt;
| luxembourg.freifunk.net&lt;br /&gt;
| 1&lt;br /&gt;
| 36&lt;br /&gt;
| HT40+&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Tobi042</name></author>
	</entry>
	<entry>
		<id>https://wiki.hacksaar.de/index.php?title=Freifunk:User_Services&amp;diff=1994</id>
		<title>Freifunk:User Services</title>
		<link rel="alternate" type="text/html" href="https://wiki.hacksaar.de/index.php?title=Freifunk:User_Services&amp;diff=1994"/>
		<updated>2015-05-30T13:24:26Z</updated>

		<summary type="html">&lt;p&gt;Tobi042: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hier können User ihre über das Freifunknetz angebotenen Services eintragen. Das allozieren von IP-Adressen passiert aus dem Bereich 10.24.194.0/23 und passiert entweder indem ihr es selbst hier eintragt oder uns auf der freifunk-vpn-Liste bescheid gebt. Für einen DNS-Namen müsst ihr euch auf jeden Fall an uns wenden.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Service&lt;br /&gt;
! Anbieter&lt;br /&gt;
! MAC-Adresse&lt;br /&gt;
! DNS-Name&lt;br /&gt;
! IPv4&lt;br /&gt;
! IPv6&lt;br /&gt;
|-&lt;br /&gt;
| Minecraft Server&lt;br /&gt;
| Marc Lippert &amp;lt;marc ät yulyvee punkt de&amp;gt;&lt;br /&gt;
| mcserver.ffsaar&lt;br /&gt;
| -&lt;br /&gt;
| 10.24.194.0&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Wenn euch eine IP-Adresse zugewiesen wurde oder ihr euch eine genommen habt, nehmt bitte folgende Einstellungen (im Moment noch statisch) vor:&lt;br /&gt;
&lt;br /&gt;
IPv4: &lt;br /&gt;
* Adresse: Die von euch / uns gewählte und in der Tabelle aufgeführte IP&lt;br /&gt;
* Subnetzmaske: 18 bzw 255.255.192.0&lt;br /&gt;
* Gateway: 10.24.192.2&lt;br /&gt;
* DNS: 10.24.192.2&lt;br /&gt;
&lt;br /&gt;
IPv6:&lt;br /&gt;
* Adresse: Die von euch / uns gewählte und in der Tabelle aufgeführte IP&lt;br /&gt;
* Subnetzmaske: 64&lt;br /&gt;
* DNS: fd4e:f2d7:88d2:ffff::2&lt;/div&gt;</summary>
		<author><name>Tobi042</name></author>
	</entry>
	<entry>
		<id>https://wiki.hacksaar.de/index.php?title=Freifunk:User_Services&amp;diff=1993</id>
		<title>Freifunk:User Services</title>
		<link rel="alternate" type="text/html" href="https://wiki.hacksaar.de/index.php?title=Freifunk:User_Services&amp;diff=1993"/>
		<updated>2015-05-30T13:15:30Z</updated>

		<summary type="html">&lt;p&gt;Tobi042: Die Seite wurde neu angelegt: „Hier können User ihre über das Freifunknetz angebotenen Services eintragen. Das allozieren von IP-Adressen passiert aus dem Bereich 10.24.194.0/23.  {| class…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hier können User ihre über das Freifunknetz angebotenen Services eintragen. Das allozieren von IP-Adressen passiert aus dem Bereich 10.24.194.0/23.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Service&lt;br /&gt;
! Anbieter&lt;br /&gt;
! IPv4&lt;br /&gt;
! IPv6&lt;br /&gt;
! DNS-Name&lt;br /&gt;
|-&lt;br /&gt;
| Minecraft Server&lt;br /&gt;
| Marc Lippert &amp;lt;marc ät yulyvee punkt de&amp;gt;&lt;br /&gt;
| 10.24.194.0&lt;br /&gt;
| Explizit keine gewünscht&lt;br /&gt;
| mcserver.ffsaar&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Tobi042</name></author>
	</entry>
	<entry>
		<id>https://wiki.hacksaar.de/index.php?title=Freifunk&amp;diff=1992</id>
		<title>Freifunk</title>
		<link rel="alternate" type="text/html" href="https://wiki.hacksaar.de/index.php?title=Freifunk&amp;diff=1992"/>
		<updated>2015-05-30T13:11:32Z</updated>

		<summary type="html">&lt;p&gt;Tobi042: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Diese Seite wird für die Dokumentation der Freifunk Saar-Infrastruktur genutzt. Der technische Hauptverantwortliche ist im Moment [[User:Tobi042 | Tobias Theobald]]&lt;br /&gt;
&lt;br /&gt;
[[Freifunk:Router_im_Saarland_kaufen | Router im Saarland kaufen]]&lt;br /&gt;
&lt;br /&gt;
[[Freifunk:Werbematerial | Werbematerial]]&lt;br /&gt;
&lt;br /&gt;
[[Freifunk:User Services | User Services]]&lt;br /&gt;
&lt;br /&gt;
== Admin-Sachen ==&lt;br /&gt;
&lt;br /&gt;
[[Freifunk:IP-Adressen | IP-Adressen]]&lt;br /&gt;
&lt;br /&gt;
[[Freifunk:Mesh-VPN Gateway-Server einrichten | Mesh-VPN Gateway-Server einrichten]]&lt;br /&gt;
&lt;br /&gt;
[[Freifunk:Mesh-VPN Keys eintragen | Mesh-VPN Keys eintragen]]&lt;/div&gt;</summary>
		<author><name>Tobi042</name></author>
	</entry>
	<entry>
		<id>https://wiki.hacksaar.de/index.php?title=Freifunk:Mesh-VPN_Gateway-Server_einrichten&amp;diff=1951</id>
		<title>Freifunk:Mesh-VPN Gateway-Server einrichten</title>
		<link rel="alternate" type="text/html" href="https://wiki.hacksaar.de/index.php?title=Freifunk:Mesh-VPN_Gateway-Server_einrichten&amp;diff=1951"/>
		<updated>2015-04-19T10:44:38Z</updated>

		<summary type="html">&lt;p&gt;Tobi042: /* Pakete installieren */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Unsere Gateways laufen auf Debian 7 Wheezy. Diese Anleitungen orientieren sich an anderen Freifunk-Communities, aber einen sehr nennenswerten Einfluss hat die geniale Dokumentation von Freifunk Mainz, Wiesbaden und Umgebung (http://gluon-gateway-doku.readthedocs.org/de/latest/) gehabt.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
Größtenteils egal, wichtig ist folgendes: Root bekommt kein Passwort, dadurch wird der Root-Login gesperrt und man muss sudo benutzen. Als zu installierende Paketgruppen nutzen wir Debian-Standardutilities und SSH-Server.&lt;br /&gt;
&lt;br /&gt;
== SSH einrichten ==&lt;br /&gt;
&lt;br /&gt;
* Einloggen: &lt;br /&gt;
*: &amp;lt;code&amp;gt;ssh user@gwX.saar.freifunk.de&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;mkdir .ssh&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;echo &amp;quot;dein_ssh_key&amp;quot; &amp;gt; .ssh/authorized_keys&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;nano /etc/ssh/sshd_config&amp;lt;/code&amp;gt;&lt;br /&gt;
*: Folgende Änderungen vornehmen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;...&lt;br /&gt;
PermitRootLogin no&lt;br /&gt;
...&lt;br /&gt;
PasswordAuthentication no&lt;br /&gt;
...&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Alte Session aktiv lassen, in neuem Terminal versuchen mit Public Key einzuloggen. Wenn nicht erfolgreich debuggen.&lt;br /&gt;
* &amp;lt;code&amp;gt;sudo service ssh restart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Überflüssige Pakete deinstallieren ==&lt;br /&gt;
&lt;br /&gt;
Da wir eben etwas großzügig waren mit der Installation von Paketgruppen müssen wir jetzt exim und nfs-Kram deinstallieren:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;sudo apt-get remove exim4* nfs-common rpcbind&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Als Resultat sollte bei Ausführung von &amp;quot;sudo netstat -tulpn&amp;quot; keine Programme außer sshd und vielleicht dhclient angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
== Kimsufi / OVH Extras ==&lt;br /&gt;
&lt;br /&gt;
Bei den Servern von Kimsufi / OVH gibt es ein paar Kleinigkeiten zu beachten. Zum einen ist hier nicht sudo vorinstalliert, zum anderen benutzen die einen eigenen Kernel, den sie Rechnern vorinstallieren. Also müssen diesbezüglich erst einmal ein paar Vorkehrungen getroffen werden:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;apt-get install sudo linux-image-amd64&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;rm /etc/grub.d/06_OVHkernel&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;update-grub&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Danach sollte die VM neu gestartet werden um sicherzustellen, dass der neue Kernel auch wirklich bootet.&lt;br /&gt;
&lt;br /&gt;
== APT Sources hinzufügen ==&lt;br /&gt;
&lt;br /&gt;
Wir benötigen die Sources für fastd und batman-adv:&lt;br /&gt;
&lt;br /&gt;
* Mit &amp;lt;code&amp;gt;nano /etc/apt/sources.list&amp;lt;/code&amp;gt; folgendes hinzufügen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 deb http://security.debian.org/ wheezy/updates main contrib non-free&lt;br /&gt;
 deb-src http://security.debian.org/ wheezy/updates main contrib non-free&lt;br /&gt;
  &lt;br /&gt;
 # fastd&lt;br /&gt;
 deb http://ftp.de.debian.org/debian wheezy-backports main&lt;br /&gt;
 deb http://repo.universe-factory.net/debian/ sid main&lt;br /&gt;
&lt;br /&gt;
 # alfred&lt;br /&gt;
 deb http://debian.draic.info/ wheezy main&lt;br /&gt;
 deb-src http://debian.draic.info/ wheezy main&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Schlüssel für repo importieren: &lt;br /&gt;
* &amp;lt;code&amp;gt;gpg --keyserver pgpkeys.mit.edu --recv-key  B89033D8&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;gpg -a --export B89033D8 | apt-key add -&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;gpg --keyserver pgpkeys.mit.edu --recv-key  16EF3F64CB201D9C&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;gpg -a --export 16EF3F64CB201D9C | apt-key add -&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pakete installieren ==&lt;br /&gt;
* &amp;lt;code&amp;gt;apt-get update&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;apt-get install batctl batman-adv-dkms fastd bridge-utils ntp git htop iftop vnstat&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;echo &amp;quot;batman-adv&amp;quot; &amp;gt;&amp;gt; /etc/modules&amp;lt;/code&amp;gt;&lt;br /&gt;
* Zu beachten: Alle Pakete werden im folgenden eingerichtet. NTPs Standard-Config ist in Ordnung.&lt;br /&gt;
&lt;br /&gt;
== Netzwerk Grundkonfiguration ==&lt;br /&gt;
=== Sysctl Einstellungen ===&lt;br /&gt;
* /etc/sysctl.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Freifunk specific settings&lt;br /&gt;
net.ipv4.ip_forward=1&lt;br /&gt;
&lt;br /&gt;
net.bridge.bridge-nf-call-arptables = 0&lt;br /&gt;
net.bridge.bridge-nf-call-ip6tables = 0&lt;br /&gt;
net.bridge.bridge-nf-call-iptables = 0&lt;br /&gt;
&lt;br /&gt;
net.ipv6.conf.all.forwarding=1&lt;br /&gt;
&lt;br /&gt;
net.ipv6.conf.all.autoconf = 0&lt;br /&gt;
net.ipv6.conf.default.autoconf = 0&lt;br /&gt;
net.ipv6.conf.eth0.autoconf = 0&lt;br /&gt;
&lt;br /&gt;
net.ipv6.conf.all.accept_ra = 0&lt;br /&gt;
net.ipv6.conf.default.accept_ra = 0&lt;br /&gt;
net.ipv6.conf.eth0.accept_ra = 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Danach neu laden: &amp;lt;code&amp;gt;sysctl -p /etc/sysctl.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Routing Tables erstellen ===&lt;br /&gt;
* /etc/iproute2/rt_tables (bisherige Einstellungen beibehalten und folgende hinzufügen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# freifunk&lt;br /&gt;
32      saar&lt;br /&gt;
33      lux&lt;br /&gt;
42      icvpn&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Netzwerkinterafaces einstellen ===&lt;br /&gt;
* /etc/network/interfaces (andere Interfaces nach der entsprechenden Konfiguration belassen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# FREIFUNK SAAR&lt;br /&gt;
#&lt;br /&gt;
auto saarBR&lt;br /&gt;
iface saarBR inet static&lt;br /&gt;
    bridge_ports none&lt;br /&gt;
    bridge_fd 0&lt;br /&gt;
    bridge_maxwait 0&lt;br /&gt;
    address 10.24.192.XXX&lt;br /&gt;
    netmask 255.255.192.0&lt;br /&gt;
    # be sure all incoming traffic is handled by the appropriate rt_table&lt;br /&gt;
    post-up         /sbin/ip rule add iif $IFACE table saar priority 3200&lt;br /&gt;
    pre-down        /sbin/ip rule del iif $IFACE table saar priority 3200&lt;br /&gt;
    # default route is unreachable&lt;br /&gt;
    post-up         /sbin/ip route add unreachable default table saar&lt;br /&gt;
    post-down       /sbin/ip route del unreachable default table saar&lt;br /&gt;
    # local reachable subnet saar for rt_table lux&lt;br /&gt;
    post-up         /sbin/ip route add 10.24.128.0/18 proto static dev $IFACE table lux&lt;br /&gt;
    post-down       /sbin/ip route del 10.24.128.0/18 proto static dev $IFACE table lux&lt;br /&gt;
&lt;br /&gt;
iface saarBR inet6 static&lt;br /&gt;
    address fd4e:f2d7:88d2:ffff::XXX&lt;br /&gt;
    netmask 64&lt;br /&gt;
    # be sure all incoming traffic is handled by the appropriate rt_table&lt;br /&gt;
    post-up         /sbin/ip -6 rule add iif $IFACE table saar priority 3200&lt;br /&gt;
    pre-down        /sbin/ip -6 rule del iif $IFACE table saar priority 3200&lt;br /&gt;
    post-up         /sbin/ip -6 route add fe80::/64 proto static dev $IFACE table saar&lt;br /&gt;
    post-down       /sbin/ip -6 route del fe80::/64 proto static dev $IFACE table saar&lt;br /&gt;
    post-up         /sbin/ip -6 route add fd4e:f2d7:88d2:ffff::/64 proto static dev $IFACE table saar&lt;br /&gt;
    post-down       /sbin/ip -6 route del fd4e:f2d7:88d2:ffff::/64 proto static dev $IFACE table saar&lt;br /&gt;
    # ULA route mz for rt_table saar&lt;br /&gt;
    post-up         /sbin/ip -6 route add fd4e:f2d7:88d2:fffe::/64 proto static dev $IFACE table lux&lt;br /&gt;
    post-down       /sbin/ip -6 route del fd4e:f2d7:88d2:fffe::/64 proto static dev $IFACE table lux&lt;br /&gt;
&lt;br /&gt;
allow-hotplug saarMESH&lt;br /&gt;
iface saarMESH inet6 manual&lt;br /&gt;
    pre-up          /sbin/modprobe batman_adv&lt;br /&gt;
    post-up         /usr/sbin/batctl -m saarBAT if add $IFACE&lt;br /&gt;
    post-up         /sbin/ip link set dev saarBAT up&lt;br /&gt;
&lt;br /&gt;
allow-hotplug saarBAT&lt;br /&gt;
iface saarBAT inet6 manual&lt;br /&gt;
    pre-up          /sbin/modprobe batman-adv&lt;br /&gt;
    post-up         /sbin/brctl addif saarBR $IFACE&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE it 10000&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE vm server&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE gw server  6mbit/6mbit&lt;br /&gt;
    pre-down        /sbin/brctl delif saarBR $IFACE || true&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# FREIFUNK LUX &lt;br /&gt;
#&lt;br /&gt;
auto luxBR&lt;br /&gt;
iface luxBR inet static&lt;br /&gt;
    bridge_ports none&lt;br /&gt;
    bridge_fd 0&lt;br /&gt;
    bridge_maxwait 0&lt;br /&gt;
    address 10.24.128.XXX&lt;br /&gt;
    netmask 255.255.192.0&lt;br /&gt;
    # be sure all incoming traffic is handled by the appropriate rt_table&lt;br /&gt;
    post-up         /sbin/ip rule add iif $IFACE table lux priority 3300&lt;br /&gt;
    pre-down        /sbin/ip rule del iif $IFACE table lux priority 3300&lt;br /&gt;
    # default route is unreachable&lt;br /&gt;
    post-up         /sbin/ip route add unreachable default table lux &lt;br /&gt;
    post-down       /sbin/ip route del unreachable default table lux &lt;br /&gt;
    # local reachable subnet lux for rt_table saar&lt;br /&gt;
    post-up         /sbin/ip route add 10.24.192.0/18 proto static dev $IFACE table saar&lt;br /&gt;
    post-down       /sbin/ip route del 10.24.192.0/18 proto static dev $IFACE table saar&lt;br /&gt;
&lt;br /&gt;
iface luxBR inet6 static&lt;br /&gt;
    address fd4e:f2d7:88d2:fffe::XXX&lt;br /&gt;
    netmask 64&lt;br /&gt;
    # be sure all incoming traffic is handled by the appropriate rt_table&lt;br /&gt;
    post-up         /sbin/ip -6 rule add iif $IFACE table lux priority 3300&lt;br /&gt;
    pre-down        /sbin/ip -6 rule del iif $IFACE table lux priority 3300&lt;br /&gt;
    post-up         /sbin/ip -6 route add fe80::/64 proto static dev $IFACE table lux &lt;br /&gt;
    post-down       /sbin/ip -6 route del fe80::/64 proto static dev $IFACE table lux &lt;br /&gt;
    post-up         /sbin/ip -6 route add fd4e:f2d7:88d2:fffe::/64 proto static dev $IFACE table lux&lt;br /&gt;
    post-down       /sbin/ip -6 route del fd4e:f2d7:88d2:fffe::/64 proto static dev $IFACE table lux&lt;br /&gt;
    # ULA route saar for rt_table lux&lt;br /&gt;
    post-up         /sbin/ip -6 route add fd4e:f2d7:88d2:ffff::/64 proto static dev $IFACE table saar&lt;br /&gt;
    post-down       /sbin/ip -6 route del fd4e:f2d7:88d2:ffff::/64 proto static dev $IFACE table saar&lt;br /&gt;
&lt;br /&gt;
allow-hotplug luxMESH&lt;br /&gt;
iface luxMESH inet6 manual&lt;br /&gt;
    pre-up          /sbin/modprobe batman_adv&lt;br /&gt;
    post-up         /usr/sbin/batctl -m luxBAT if add $IFACE&lt;br /&gt;
    post-up         /sbin/ip link set dev luxBAT up&lt;br /&gt;
&lt;br /&gt;
allow-hotplug luxBAT&lt;br /&gt;
iface luxBAT inet6 manual&lt;br /&gt;
    pre-up          /sbin/modprobe batman-adv&lt;br /&gt;
    post-up         /sbin/brctl addif luxBR $IFACE&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE it 10000&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE vm server&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE gw server  6mbit/6mbit&lt;br /&gt;
    pre-down        /sbin/brctl delif luxBR $IFACE || true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Jedes Vorkommnis von XXX durch einen entsprechenden Wert aus dem Netzplan ersetzen, im Zweifel TobiT fragen&lt;br /&gt;
&lt;br /&gt;
== Helfer-Skripte ==&lt;br /&gt;
Es gibt 2 Helferskripte, die eingerichtet werden müssen. check_gateway.sh prüft minütlich, ob das ExitVPN noch steht. autoupdate_fastd_peers updatet die fastd-peers alle 5 Minuten per git.&lt;br /&gt;
=== check_gateway.sh ===&lt;br /&gt;
* /usr/bin/check_gateway.sh:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@gw2:/etc/fastd/freifunk-lux# less /usr/bin/check_gateway.sh&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
INTERFACE=tun0          # Set to name of VPN interface&lt;br /&gt;
DHCPSERVICE=dnsmasq     # Name of DHCP service&lt;br /&gt;
BANDWIDTH=XXX           # Server bandwidth&lt;br /&gt;
shopt -s nullglob&lt;br /&gt;
&lt;br /&gt;
# Test whether gateway is connected to the outer world via VPN&lt;br /&gt;
ping -q -I $INTERFACE 8.8.8.8 -c 4 -i 1 -W 5 &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
if test $? -eq 0; then&lt;br /&gt;
    NEW_STATE=server&lt;br /&gt;
else&lt;br /&gt;
    NEW_STATE=off&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Iterate through network interfaces in sys file system&lt;br /&gt;
for MESH in /sys/class/net/*/mesh; do&lt;br /&gt;
# Check whether gateway modus needs to be changed&lt;br /&gt;
OLD_STATE=&amp;quot;$(cat $MESH/gw_mode)&amp;quot;&lt;br /&gt;
[ &amp;quot;$OLD_STATE&amp;quot; == &amp;quot;$NEW_STATE&amp;quot; ] &amp;amp;&amp;amp; continue&lt;br /&gt;
    echo $NEW_STATE &amp;gt; $MESH/gw_mode&lt;br /&gt;
    echo ${BANDWIDTH}MBit/${BANDWIDTH}MBit &amp;gt; $MESH/gw_bandwidth&lt;br /&gt;
    logger &amp;quot;batman gateway mode changed to $NEW_STATE&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    # Check whether gateway modus has been deactivated&lt;br /&gt;
    if [ &amp;quot;$NEW_STATE&amp;quot; == &amp;quot;off&amp;quot; ]; then&lt;br /&gt;
        # Shutdown DHCP server to prevent renewal of leases&lt;br /&gt;
        /usr/sbin/service $DHCPSERVICE stop&lt;br /&gt;
    fi&lt;br /&gt;
&lt;br /&gt;
    # Check whether gateway modus has been activated&lt;br /&gt;
    if [ &amp;quot;$NEW_STATE&amp;quot; == &amp;quot;server&amp;quot; ]; then&lt;br /&gt;
        # Restart DHCP server&lt;br /&gt;
        /usr/sbin/service $DHCPSERVICE start&lt;br /&gt;
    fi&lt;br /&gt;
    exit 0&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
if [ &amp;quot;$NEW_STATE&amp;quot; == &amp;quot;server&amp;quot; ]; then&lt;br /&gt;
    /usr/sbin/service $DHCPSERVICE status 2&amp;gt;&amp;amp;1&amp;gt; /dev/null&lt;br /&gt;
    if [[ $? -ne 0 ]]&lt;br /&gt;
    then&lt;br /&gt;
        /usr/sbin/service $DHCPSERVICE restart&lt;br /&gt;
    fi&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$NEW_STATE&amp;quot; == &amp;quot;off&amp;quot; ]; then&lt;br /&gt;
    /usr/sbin/service $DHCPSERVICE status 2&amp;gt;&amp;amp;1&amp;gt; /dev/null&lt;br /&gt;
    if [[ $? -eq 0 ]]&lt;br /&gt;
    then&lt;br /&gt;
        /usr/sbin/service $DHCPSERVICE stop&lt;br /&gt;
    fi&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Ganz oben bei BANDWIDTH die Serverbandbreite in MBit/s einstellen, damit diese ordentlich via Batman announced werden kann.&lt;br /&gt;
* Speichern und mit &amp;lt;code&amp;gt;chmod +x /usr/bin/check_gateway.sh&amp;lt;/code&amp;gt; ausführbar machen&lt;br /&gt;
=== autoupdate_fastd_keys.sh ===&lt;br /&gt;
* /usr/bin/autoupate_fastd_keys.sh:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# Simple script to update fastd peers from git upstream&lt;br /&gt;
# and only send HUP to fastd when changes happend.&lt;br /&gt;
&lt;br /&gt;
# CONFIGURE THIS TO YOUR PEER DIRECTORY&lt;br /&gt;
FASTD_PEERS_ARRAY=( &amp;quot;freifunk-saar&amp;quot; &amp;quot;freifunk-lux&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
function getCurrentVersion() {&lt;br /&gt;
 # Get hash from latest revision&lt;br /&gt;
 git log --format=format:%H -1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
for FASTD_PEERS in &amp;quot;${FASTD_PEERS_ARRAY[@]}&amp;quot;&lt;br /&gt;
do&lt;br /&gt;
cd /etc/fastd/$FASTD_PEERS/peers&lt;br /&gt;
&lt;br /&gt;
# Get current version hash&lt;br /&gt;
GIT_REVISION=$(getCurrentVersion)&lt;br /&gt;
&lt;br /&gt;
# Automagically commit local changes&lt;br /&gt;
# This preserves local changes&lt;br /&gt;
git commit -m &amp;quot;CRON: auto commit&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Pull latest changes from upstream&lt;br /&gt;
git fetch&lt;br /&gt;
git merge origin/master -m &amp;quot;Auto Merge&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Get new version hash&lt;br /&gt;
GIT_NEW_REVISION=$(getCurrentVersion)&lt;br /&gt;
&lt;br /&gt;
if [ $GIT_REVISION != $GIT_NEW_REVISION ]&lt;br /&gt;
then&lt;br /&gt;
 # Version has changed we need to update&lt;br /&gt;
 echo &amp;quot;Reload fastd peers&amp;quot;&lt;br /&gt;
 kill -HUP $(cat /var/run/fastd.$FASTD_PEERS.pid)&lt;br /&gt;
fi&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Auch dieses Skript ausführbar machen: &amp;lt;code&amp;gt;chmod +x /usr/bin/autoupdate_fastd_keys.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
=== Skripte in crontab eintragen ===&lt;br /&gt;
* In &amp;lt;code&amp;gt;sudo crontab -e&amp;lt;/code&amp;gt; folgende Zeilen anhängen&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*/5 * * * *   /usr/bin/autoupdate_fastd_keys.sh &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
* * * * *   /usr/bin/check_gateway.sh &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Fastd-Config ==&lt;br /&gt;
* &amp;lt;code&amp;gt;mkdir /etc/fastd/freifunk-{saar,lux}/&amp;lt;/code&amp;gt;&lt;br /&gt;
* Config-Dateien anlegen und entsprechenden Inhalt reinkopieren:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
log level warn;&lt;br /&gt;
log to syslog level info;&lt;br /&gt;
&lt;br /&gt;
hide ip addresses yes;&lt;br /&gt;
hide mac addresses yes;&lt;br /&gt;
&lt;br /&gt;
interface &amp;quot;xxxxMESH&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
method &amp;quot;salsa2012+umac&amp;quot;;    # new method (faster)&lt;br /&gt;
method &amp;quot;salsa2012+gmac&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
bind any:10000 interface &amp;quot;eth0&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
include &amp;quot;secret.conf&amp;quot;;&lt;br /&gt;
mtu 1426; # 1492 - IPv4/IPv6 Header - fastd Header...&lt;br /&gt;
&lt;br /&gt;
include peers from &amp;quot;peers&amp;quot;;&lt;br /&gt;
include peers from &amp;quot;peers-gw&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
secure handshakes yes;&lt;br /&gt;
&lt;br /&gt;
on up &amp;quot;&lt;br /&gt;
ip link set dev xxxxMESH address ca:fe:ba:be:00:0X&lt;br /&gt;
ip link set dev xxxxMESH up&lt;br /&gt;
&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Secret Keys aus den Repos besorgen und in secret.conf schreiben&lt;br /&gt;
* Neuen SSH-Key anlegen mit &amp;lt;code&amp;gt;ssh-keygen -t ecdsa&amp;lt;/code&amp;gt;, als Deploy Key in die Gitlab-Projekte https://git.hacksaar.de/FreifunkSaar/mesh-vpn-peers und https://git.hacksaar.de/FreifunkSaar/mesh-vpn-peers-lux eintragen.&lt;br /&gt;
* Mesh-VPN-Peers-Verzeichnis als &amp;quot;peers&amp;quot; klonen: &amp;lt;code&amp;gt;git clone git@hacksaar.de:FreifunkSaar/mesh-vpn-peers.git peers&amp;lt;/code&amp;gt; bzw &amp;lt;code&amp;gt;git clone git@hacksaar.de:FreifunkSaar/mesh-vpn-peers-lux.git peers&amp;lt;/code&amp;gt; jeweils im entsprechende Verzeichnis&lt;br /&gt;
* Feuer!: &amp;lt;code&amp;gt;sudo service fastd start&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DNS, DHCP und RA-Server dnsmasq ==&lt;br /&gt;
* Installieren: &amp;lt;code&amp;gt;apt-get install dnsmasq&amp;lt;/code&amp;gt;&lt;br /&gt;
* /etc/dnsmasq.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bogus-priv&lt;br /&gt;
no-resolv&lt;br /&gt;
no-poll&lt;br /&gt;
log-facility=/dev/null&lt;br /&gt;
&lt;br /&gt;
server=8.8.8.8&lt;br /&gt;
server=8.8.4.4&lt;br /&gt;
&lt;br /&gt;
read-ethers&lt;br /&gt;
expand-hosts&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* /etc/dnsmasq.d/ffsaar&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local=/ffsaar/&lt;br /&gt;
interface=saarBR&lt;br /&gt;
domain=ffsaar&lt;br /&gt;
&lt;br /&gt;
dhcp-range=10.24.XXX.1,10.24.XXX.254,180&lt;br /&gt;
dhcp-range=fd4e:f2d7:88d2:ffff::,64,180,ra-names&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* /etc/dnsmasq.d/fflux&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local=/fflux/&lt;br /&gt;
interface=luxBR&lt;br /&gt;
domain=fflux&lt;br /&gt;
&lt;br /&gt;
dhcp-range=10.24.XXX.1,10.24.XXX.254,180&lt;br /&gt;
dhcp-range=fd4e:f2d7:88d2:fffe::,64,180,ra-names&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* /etc/hosts&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Freifunk Sachen&lt;br /&gt;
10.24.192.2                     static.services.ffsaar ntp.services.ffsaar&lt;br /&gt;
fd4e:f2d7:88d2:ffff::2          static.services.ffsaar ntp.services.ffsaar&lt;br /&gt;
&lt;br /&gt;
10.24.192.1                     router.ffsaar node.ffsaar local.ffsaar knoten.ffsaar my.ffsaar&lt;br /&gt;
fd4e:f2d7:88d2:ffff::1          router.ffsaar node.ffsaar local.ffsaar knoten.ffsaar my.ffsaar&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== isc-dhcp-server (in Zukunft mal umzustellen) ===&lt;br /&gt;
* /etc/dhcp/dhcpd.conf: (Komplett ersetzen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ddns-update-style none;&lt;br /&gt;
default-lease-time 300;&lt;br /&gt;
max-lease-time 300;&lt;br /&gt;
authoritative;&lt;br /&gt;
&lt;br /&gt;
log-facility local6;&lt;br /&gt;
&lt;br /&gt;
subnet 10.24.192.0 netmask 255.255.192.0 {&lt;br /&gt;
        range 10.24.XXX.0 10.24.XXX+3.255;&lt;br /&gt;
        option routers 10.24.192.ZZZ;&lt;br /&gt;
        option domain-name-servers 10.24.192.2, 10.24.192.3, 10.24.192.4;&lt;br /&gt;
        option domain-search &amp;quot;ffsaar&amp;quot;;&lt;br /&gt;
        option ntp-servers 10.24.192.2, 10.24.192.3, 10.24.192.4;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
subnet 10.24.128.0 netmask 255.255.192.0 {&lt;br /&gt;
        range 10.24.YYY.0 10.24.YYY+3.255;&lt;br /&gt;
        option routers 10.24.128.ZZZ;&lt;br /&gt;
        option domain-name-servers 10.24.128.2, 10.24.128.3, 10.24.128.4;&lt;br /&gt;
        option domain-search &amp;quot;fflux&amp;quot;;&lt;br /&gt;
        option ntp-servers 10.24.128.2, 10.24.128.3, 10.24.128.4;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* XXX, XXX+3, YYY, YYY+3, ZZZ durch richtige Werte ersetzen&lt;br /&gt;
* /etc/default/isc-dhcp-server (Zeile INTERFACES ersetzen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
INTERFACES=&amp;quot;saarBR luxBR&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Neu starten: &amp;lt;code&amp;gt;service isc-dhcp-server restart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== IPTables ==&lt;br /&gt;
&lt;br /&gt;
* installieren: &amp;lt;code&amp;gt;apt-get install iptables-persistent&amp;lt;/code&amp;gt;&lt;br /&gt;
* /etc/iptables/rules.v4 UND /etc/iptables/rules.v6&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*mangle&lt;br /&gt;
:PREROUTING ACCEPT [0:0]&lt;br /&gt;
:INPUT ACCEPT [0:0]&lt;br /&gt;
:FORWARD ACCEPT [0:0]&lt;br /&gt;
:OUTPUT ACCEPT [0:0]&lt;br /&gt;
:POSTROUTING ACCEPT [0:0]&lt;br /&gt;
COMMIT&lt;br /&gt;
&lt;br /&gt;
*nat&lt;br /&gt;
:PREROUTING ACCEPT [0:0]&lt;br /&gt;
:INPUT ACCEPT [0:0]&lt;br /&gt;
:OUTPUT ACCEPT [0:0]&lt;br /&gt;
:POSTROUTING ACCEPT [0:0]&lt;br /&gt;
-A POSTROUTING -o tun0 -j MASQUERADE&lt;br /&gt;
COMMIT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Exit-VPN ==&lt;br /&gt;
abhängig von der Config einzurichten&lt;br /&gt;
== Knoteninformationen (Alfred...) ==&lt;br /&gt;
&#039;&#039;&#039;Dieser Punkt befindet sich aktuell in der Erstellung und wird später noch auf die anderen Kapitel aufgeteilt --[[Benutzer:Rugosh|Rugosh]] ([[Benutzer Diskussion:Rugosh|Diskussion]]) 16:38, 22. Feb. 2015 (CET)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Alfred wird auf den Gateways benötigt um die Knoteninformationen zu sammeln und aus diesen Informationen eine Knotendatei unter anderem für die Freifunkkarte bauen zu können.&lt;br /&gt;
Der Server, auf welchem die Knotendatei generiert wird ist hier logisch gesehen der Master die anderen Systeme sind als Slave zu konfigurieren.&lt;br /&gt;
&lt;br /&gt;
Da wir auf unseren Gateways sowohl Saar las auch Lux Freifunk betreiben benötigen wir auch eine Doppelkonfiguration der Knotenerstellung. Dies betrifft sowohl Alfred als auch den Punkt, dass der Master für mehrere Communities Kartendaten erstellen können muss.&lt;br /&gt;
&lt;br /&gt;
=== Slave Konfiguration ===&lt;br /&gt;
Benötigte Komponenten:&lt;br /&gt;
* Alfred&lt;br /&gt;
* Batman&lt;br /&gt;
&lt;br /&gt;
==== Alfred Konfiguration ====&lt;br /&gt;
Wir benötigen zuerst einmal zwei Alfred daemons:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo service alfred stop&lt;br /&gt;
sudo cp /etc/default/alfred /etc/default/alfred-saar&lt;br /&gt;
sudo cp /etc/default/alfred /etc/default/alfred-lux&lt;br /&gt;
sudo cp /etc/init.d/alfred /etc/init.d/alfred-saar&lt;br /&gt;
sudo cp /etc/init.d/alfred /etc/init.d/alfred-lux&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Alfred muss auf auf dem Slave lediglich auf den MASTER=0 gesetzt werden und das Interface, sowie Batman muss angegeben sein. Die Konfiguration findet in der Konfigurationsdatei &amp;lt;code&amp;gt;/etc/default/alfred-XXX&amp;lt;/code&amp;gt; wie folgt statt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# /etc/default/alfred-saar&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
# Additional command line options&lt;br /&gt;
DAEMON_OPTS=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Enable master mode (0/1)&lt;br /&gt;
MASTER=0&lt;br /&gt;
&lt;br /&gt;
# Interface for A.L.F.R.E.D. to listen on. Has to be specified.&lt;br /&gt;
INTERFACE=br-ff&lt;br /&gt;
&lt;br /&gt;
# Specify the batman-adv interface configured on the system (default: bat0).&lt;br /&gt;
# Use &#039;none&#039; to disable the batman-adv based best server selection.&lt;br /&gt;
BATMANIF=saarBAT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# /etc/default/alfred-lux&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
# Additional command line options&lt;br /&gt;
DAEMON_OPTS=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Enable master mode (0/1)&lt;br /&gt;
MASTER=0&lt;br /&gt;
&lt;br /&gt;
# Interface for A.L.F.R.E.D. to listen on. Has to be specified.&lt;br /&gt;
INTERFACE=luxBR&lt;br /&gt;
&lt;br /&gt;
# Specify the batman-adv interface configured on the system (default: bat0).&lt;br /&gt;
# Use &#039;none&#039; to disable the batman-adv based best server selection.&lt;br /&gt;
BATMANIF=luxBAT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Anpassen der init.d Dateien für die Alfreds...&lt;br /&gt;
&#039;&#039;&#039;Nachfolgende Configs erzeugen noch keinen eigenständigen Alfed Socket...&#039;&#039;&#039; Leider muss damit die Alfreds eigene Sockets haben anscheinend alfred selbst mit anderen werten kompaliert werden https://github.com/tcatm/alfred/blob/master/alfred.h oder hier muss eine andere (bessere) Lösung gefunden werden. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Ausschnitt der anzupassenden Datei /etc/init.d/alfred-saar&lt;br /&gt;
&lt;br /&gt;
DESC=&amp;quot;A.L.F.R.E.D -&amp;gt; Saar&amp;quot;&lt;br /&gt;
NAME=alfred&lt;br /&gt;
NAME2=alfred-saar&lt;br /&gt;
DAEMON=/usr/sbin/$NAME&lt;br /&gt;
PIDFILE=/var/run/$NAME2.pid&lt;br /&gt;
SCRIPTNAME=/etc/init.d/$NAME2&lt;br /&gt;
GROUP=alfred &lt;br /&gt;
OPTIONS=&amp;quot;&amp;quot;&lt;br /&gt;
UMASK=0117&lt;br /&gt;
&lt;br /&gt;
[ -x &amp;quot;$DAEMON&amp;quot; ] || exit 0&lt;br /&gt;
&lt;br /&gt;
# Source defaults.&lt;br /&gt;
[ -r /etc/default/$NAME2 ] &amp;amp;&amp;amp; . /etc/default/$NAME2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Ausschnitt der anzupassenden Datei /etc/init.d/alfred-lux&lt;br /&gt;
&lt;br /&gt;
DESC=&amp;quot;A.L.F.R.E.D -&amp;gt; Lux&amp;quot;&lt;br /&gt;
NAME=alfred-lux&lt;br /&gt;
DAEMON=/usr/sbin/$NAME&lt;br /&gt;
PIDFILE=/var/run/$NAME2.pid&lt;br /&gt;
SCRIPTNAME=/etc/init.d/$NAME2&lt;br /&gt;
GROUP=alfred&lt;br /&gt;
OPTIONS=&amp;quot;&amp;quot;&lt;br /&gt;
UMASK=0117&lt;br /&gt;
&lt;br /&gt;
[ -x &amp;quot;$DAEMON&amp;quot; ] || exit 0&lt;br /&gt;
&lt;br /&gt;
# Source defaults.&lt;br /&gt;
[ -r /etc/default/$NAME2 ] &amp;amp;&amp;amp; . /etc/default/$NAME2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Starten der neuen Alfreds&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo service alfred-saar start&lt;br /&gt;
sudo service alfred-lux start&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Nun testen ob alles wie gewünscht funktioniert und erst nach einem erfolgreichen Test die nun nicht mehr benötigten Daten löschen.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rm /etc/default/alfred&lt;br /&gt;
sudo rm /etc/init.d/alfred.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== batadv-vis ====&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=== Master Konfiguration ===&lt;br /&gt;
Benötigte Komponenten:&lt;br /&gt;
* Alfred&lt;br /&gt;
* Alfred-JSON&lt;br /&gt;
* Batman&lt;br /&gt;
&lt;br /&gt;
==== Alfred Konfiguration ====&lt;br /&gt;
Alfred muss auf auf dem Slave lediglich auf den MASTER=1 gesetzt werden und das Interface, sowie Batman muss angegeben sein. Für Details siehe [[#Alfred_Konfiguration | Slave Konfiguration -&amp;gt; Alfred Konfigurieren ]]&lt;br /&gt;
&#039;&#039;&#039;Achtung: Da auf dem Master aktuell nur ein Batman device läuft, ist hier aktuell kein alfred-lux gestartet, aber vorkonfiguriert&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Knotendateigenerierung ====&lt;br /&gt;
* Benötigt auch alias config&lt;br /&gt;
* bat2nodes für Kartengenerierung mit mkmap Skript. Checkout newest Version from https://github.com/freifunk-saar/ffmap-backend -&amp;gt; done.&lt;br /&gt;
* Cron Eintrag vom mkmap Skript&lt;br /&gt;
&lt;br /&gt;
==== Alias Konfiguration ====&lt;br /&gt;
Da wir uns für die manuelle Konfiguration des Announcement der Gateway Informationen entschieden haben ist eine Anpassung der Alias Datei für jede neue Gateway erforderlich.&lt;br /&gt;
Die Dateien &amp;lt;code&amp;gt;aliases_saar.json&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;aliases_lux.json&amp;lt;/code&amp;gt; befindet sich im bat2nodes Verzeichnis und beinhaltet für jede Gateway einen Alias Eintrag.&lt;br /&gt;
&lt;br /&gt;
Beipiel:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
   &amp;quot;&amp;lt;KENNUNG&amp;gt;1&amp;quot; : {&lt;br /&gt;
      &amp;quot;name&amp;quot; : &amp;quot;gw1.saar.freifunk.net&amp;quot;,&lt;br /&gt;
      &amp;quot;vpn&amp;quot; : true&lt;br /&gt;
   },&lt;br /&gt;
   &amp;quot;&amp;lt;KENNUNG&amp;gt;2&amp;quot; : {&lt;br /&gt;
      &amp;quot;name&amp;quot; : &amp;quot;gw2.saar.freifunk.net&amp;quot;,&lt;br /&gt;
      &amp;quot;vpn&amp;quot; : true&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== batadv-vis ====&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=== alfed-json ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== To be continued... ==&lt;br /&gt;
* DNSmasq statt radvd, bind, isc-dhcp-server&lt;/div&gt;</summary>
		<author><name>Tobi042</name></author>
	</entry>
	<entry>
		<id>https://wiki.hacksaar.de/index.php?title=Freifunk:Mesh-VPN_Gateway-Server_einrichten&amp;diff=1950</id>
		<title>Freifunk:Mesh-VPN Gateway-Server einrichten</title>
		<link rel="alternate" type="text/html" href="https://wiki.hacksaar.de/index.php?title=Freifunk:Mesh-VPN_Gateway-Server_einrichten&amp;diff=1950"/>
		<updated>2015-04-19T10:04:02Z</updated>

		<summary type="html">&lt;p&gt;Tobi042: /* Pakete installieren */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Unsere Gateways laufen auf Debian 7 Wheezy. Diese Anleitungen orientieren sich an anderen Freifunk-Communities, aber einen sehr nennenswerten Einfluss hat die geniale Dokumentation von Freifunk Mainz, Wiesbaden und Umgebung (http://gluon-gateway-doku.readthedocs.org/de/latest/) gehabt.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
Größtenteils egal, wichtig ist folgendes: Root bekommt kein Passwort, dadurch wird der Root-Login gesperrt und man muss sudo benutzen. Als zu installierende Paketgruppen nutzen wir Debian-Standardutilities und SSH-Server.&lt;br /&gt;
&lt;br /&gt;
== SSH einrichten ==&lt;br /&gt;
&lt;br /&gt;
* Einloggen: &lt;br /&gt;
*: &amp;lt;code&amp;gt;ssh user@gwX.saar.freifunk.de&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;mkdir .ssh&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;echo &amp;quot;dein_ssh_key&amp;quot; &amp;gt; .ssh/authorized_keys&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;nano /etc/ssh/sshd_config&amp;lt;/code&amp;gt;&lt;br /&gt;
*: Folgende Änderungen vornehmen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;...&lt;br /&gt;
PermitRootLogin no&lt;br /&gt;
...&lt;br /&gt;
PasswordAuthentication no&lt;br /&gt;
...&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Alte Session aktiv lassen, in neuem Terminal versuchen mit Public Key einzuloggen. Wenn nicht erfolgreich debuggen.&lt;br /&gt;
* &amp;lt;code&amp;gt;sudo service ssh restart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Überflüssige Pakete deinstallieren ==&lt;br /&gt;
&lt;br /&gt;
Da wir eben etwas großzügig waren mit der Installation von Paketgruppen müssen wir jetzt exim und nfs-Kram deinstallieren:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;sudo apt-get remove exim4* nfs-common rpcbind&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Als Resultat sollte bei Ausführung von &amp;quot;sudo netstat -tulpn&amp;quot; keine Programme außer sshd und vielleicht dhclient angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
== Kimsufi / OVH Extras ==&lt;br /&gt;
&lt;br /&gt;
Bei den Servern von Kimsufi / OVH gibt es ein paar Kleinigkeiten zu beachten. Zum einen ist hier nicht sudo vorinstalliert, zum anderen benutzen die einen eigenen Kernel, den sie Rechnern vorinstallieren. Also müssen diesbezüglich erst einmal ein paar Vorkehrungen getroffen werden:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;apt-get install sudo linux-image-amd64&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;rm /etc/grub.d/06_OVHkernel&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;update-grub&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Danach sollte die VM neu gestartet werden um sicherzustellen, dass der neue Kernel auch wirklich bootet.&lt;br /&gt;
&lt;br /&gt;
== APT Sources hinzufügen ==&lt;br /&gt;
&lt;br /&gt;
Wir benötigen die Sources für fastd und batman-adv:&lt;br /&gt;
&lt;br /&gt;
* Mit &amp;lt;code&amp;gt;nano /etc/apt/sources.list&amp;lt;/code&amp;gt; folgendes hinzufügen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 deb http://security.debian.org/ wheezy/updates main contrib non-free&lt;br /&gt;
 deb-src http://security.debian.org/ wheezy/updates main contrib non-free&lt;br /&gt;
  &lt;br /&gt;
 # fastd&lt;br /&gt;
 deb http://ftp.de.debian.org/debian wheezy-backports main&lt;br /&gt;
 deb http://repo.universe-factory.net/debian/ sid main&lt;br /&gt;
&lt;br /&gt;
 # alfred&lt;br /&gt;
 deb http://debian.draic.info/ wheezy main&lt;br /&gt;
 deb-src http://debian.draic.info/ wheezy main&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Schlüssel für repo importieren: &lt;br /&gt;
* &amp;lt;code&amp;gt;gpg --keyserver pgpkeys.mit.edu --recv-key  B89033D8&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;gpg -a --export B89033D8 | apt-key add -&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;gpg --keyserver pgpkeys.mit.edu --recv-key  16EF3F64CB201D9C&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;gpg -a --export 16EF3F64CB201D9C | apt-key add -&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pakete installieren ==&lt;br /&gt;
* &amp;lt;code&amp;gt;apt-get update&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;apt-get install batctl batman-adv-dkms fastd bridge-utils ntp git&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;echo &amp;quot;batman-adv&amp;quot; &amp;gt;&amp;gt; /etc/modules&amp;lt;/code&amp;gt;&lt;br /&gt;
* Zu beachten: Alle Pakete werden im folgenden eingerichtet. NTPs Standard-Config ist in Ordnung.&lt;br /&gt;
&lt;br /&gt;
== Netzwerk Grundkonfiguration ==&lt;br /&gt;
=== Sysctl Einstellungen ===&lt;br /&gt;
* /etc/sysctl.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Freifunk specific settings&lt;br /&gt;
net.ipv4.ip_forward=1&lt;br /&gt;
&lt;br /&gt;
net.bridge.bridge-nf-call-arptables = 0&lt;br /&gt;
net.bridge.bridge-nf-call-ip6tables = 0&lt;br /&gt;
net.bridge.bridge-nf-call-iptables = 0&lt;br /&gt;
&lt;br /&gt;
net.ipv6.conf.all.forwarding=1&lt;br /&gt;
&lt;br /&gt;
net.ipv6.conf.all.autoconf = 0&lt;br /&gt;
net.ipv6.conf.default.autoconf = 0&lt;br /&gt;
net.ipv6.conf.eth0.autoconf = 0&lt;br /&gt;
&lt;br /&gt;
net.ipv6.conf.all.accept_ra = 0&lt;br /&gt;
net.ipv6.conf.default.accept_ra = 0&lt;br /&gt;
net.ipv6.conf.eth0.accept_ra = 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Danach neu laden: &amp;lt;code&amp;gt;sysctl -p /etc/sysctl.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Routing Tables erstellen ===&lt;br /&gt;
* /etc/iproute2/rt_tables (bisherige Einstellungen beibehalten und folgende hinzufügen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# freifunk&lt;br /&gt;
32      saar&lt;br /&gt;
33      lux&lt;br /&gt;
42      icvpn&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Netzwerkinterafaces einstellen ===&lt;br /&gt;
* /etc/network/interfaces (andere Interfaces nach der entsprechenden Konfiguration belassen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# FREIFUNK SAAR&lt;br /&gt;
#&lt;br /&gt;
auto saarBR&lt;br /&gt;
iface saarBR inet static&lt;br /&gt;
    bridge_ports none&lt;br /&gt;
    bridge_fd 0&lt;br /&gt;
    bridge_maxwait 0&lt;br /&gt;
    address 10.24.192.XXX&lt;br /&gt;
    netmask 255.255.192.0&lt;br /&gt;
    # be sure all incoming traffic is handled by the appropriate rt_table&lt;br /&gt;
    post-up         /sbin/ip rule add iif $IFACE table saar priority 3200&lt;br /&gt;
    pre-down        /sbin/ip rule del iif $IFACE table saar priority 3200&lt;br /&gt;
    # default route is unreachable&lt;br /&gt;
    post-up         /sbin/ip route add unreachable default table saar&lt;br /&gt;
    post-down       /sbin/ip route del unreachable default table saar&lt;br /&gt;
    # local reachable subnet saar for rt_table lux&lt;br /&gt;
    post-up         /sbin/ip route add 10.24.128.0/18 proto static dev $IFACE table lux&lt;br /&gt;
    post-down       /sbin/ip route del 10.24.128.0/18 proto static dev $IFACE table lux&lt;br /&gt;
&lt;br /&gt;
iface saarBR inet6 static&lt;br /&gt;
    address fd4e:f2d7:88d2:ffff::XXX&lt;br /&gt;
    netmask 64&lt;br /&gt;
    # be sure all incoming traffic is handled by the appropriate rt_table&lt;br /&gt;
    post-up         /sbin/ip -6 rule add iif $IFACE table saar priority 3200&lt;br /&gt;
    pre-down        /sbin/ip -6 rule del iif $IFACE table saar priority 3200&lt;br /&gt;
    post-up         /sbin/ip -6 route add fe80::/64 proto static dev $IFACE table saar&lt;br /&gt;
    post-down       /sbin/ip -6 route del fe80::/64 proto static dev $IFACE table saar&lt;br /&gt;
    post-up         /sbin/ip -6 route add fd4e:f2d7:88d2:ffff::/64 proto static dev $IFACE table saar&lt;br /&gt;
    post-down       /sbin/ip -6 route del fd4e:f2d7:88d2:ffff::/64 proto static dev $IFACE table saar&lt;br /&gt;
    # ULA route mz for rt_table saar&lt;br /&gt;
    post-up         /sbin/ip -6 route add fd4e:f2d7:88d2:fffe::/64 proto static dev $IFACE table lux&lt;br /&gt;
    post-down       /sbin/ip -6 route del fd4e:f2d7:88d2:fffe::/64 proto static dev $IFACE table lux&lt;br /&gt;
&lt;br /&gt;
allow-hotplug saarMESH&lt;br /&gt;
iface saarMESH inet6 manual&lt;br /&gt;
    pre-up          /sbin/modprobe batman_adv&lt;br /&gt;
    post-up         /usr/sbin/batctl -m saarBAT if add $IFACE&lt;br /&gt;
    post-up         /sbin/ip link set dev saarBAT up&lt;br /&gt;
&lt;br /&gt;
allow-hotplug saarBAT&lt;br /&gt;
iface saarBAT inet6 manual&lt;br /&gt;
    pre-up          /sbin/modprobe batman-adv&lt;br /&gt;
    post-up         /sbin/brctl addif saarBR $IFACE&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE it 10000&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE vm server&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE gw server  6mbit/6mbit&lt;br /&gt;
    pre-down        /sbin/brctl delif saarBR $IFACE || true&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# FREIFUNK LUX &lt;br /&gt;
#&lt;br /&gt;
auto luxBR&lt;br /&gt;
iface luxBR inet static&lt;br /&gt;
    bridge_ports none&lt;br /&gt;
    bridge_fd 0&lt;br /&gt;
    bridge_maxwait 0&lt;br /&gt;
    address 10.24.128.XXX&lt;br /&gt;
    netmask 255.255.192.0&lt;br /&gt;
    # be sure all incoming traffic is handled by the appropriate rt_table&lt;br /&gt;
    post-up         /sbin/ip rule add iif $IFACE table lux priority 3300&lt;br /&gt;
    pre-down        /sbin/ip rule del iif $IFACE table lux priority 3300&lt;br /&gt;
    # default route is unreachable&lt;br /&gt;
    post-up         /sbin/ip route add unreachable default table lux &lt;br /&gt;
    post-down       /sbin/ip route del unreachable default table lux &lt;br /&gt;
    # local reachable subnet lux for rt_table saar&lt;br /&gt;
    post-up         /sbin/ip route add 10.24.192.0/18 proto static dev $IFACE table saar&lt;br /&gt;
    post-down       /sbin/ip route del 10.24.192.0/18 proto static dev $IFACE table saar&lt;br /&gt;
&lt;br /&gt;
iface luxBR inet6 static&lt;br /&gt;
    address fd4e:f2d7:88d2:fffe::XXX&lt;br /&gt;
    netmask 64&lt;br /&gt;
    # be sure all incoming traffic is handled by the appropriate rt_table&lt;br /&gt;
    post-up         /sbin/ip -6 rule add iif $IFACE table lux priority 3300&lt;br /&gt;
    pre-down        /sbin/ip -6 rule del iif $IFACE table lux priority 3300&lt;br /&gt;
    post-up         /sbin/ip -6 route add fe80::/64 proto static dev $IFACE table lux &lt;br /&gt;
    post-down       /sbin/ip -6 route del fe80::/64 proto static dev $IFACE table lux &lt;br /&gt;
    post-up         /sbin/ip -6 route add fd4e:f2d7:88d2:fffe::/64 proto static dev $IFACE table lux&lt;br /&gt;
    post-down       /sbin/ip -6 route del fd4e:f2d7:88d2:fffe::/64 proto static dev $IFACE table lux&lt;br /&gt;
    # ULA route saar for rt_table lux&lt;br /&gt;
    post-up         /sbin/ip -6 route add fd4e:f2d7:88d2:ffff::/64 proto static dev $IFACE table saar&lt;br /&gt;
    post-down       /sbin/ip -6 route del fd4e:f2d7:88d2:ffff::/64 proto static dev $IFACE table saar&lt;br /&gt;
&lt;br /&gt;
allow-hotplug luxMESH&lt;br /&gt;
iface luxMESH inet6 manual&lt;br /&gt;
    pre-up          /sbin/modprobe batman_adv&lt;br /&gt;
    post-up         /usr/sbin/batctl -m luxBAT if add $IFACE&lt;br /&gt;
    post-up         /sbin/ip link set dev luxBAT up&lt;br /&gt;
&lt;br /&gt;
allow-hotplug luxBAT&lt;br /&gt;
iface luxBAT inet6 manual&lt;br /&gt;
    pre-up          /sbin/modprobe batman-adv&lt;br /&gt;
    post-up         /sbin/brctl addif luxBR $IFACE&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE it 10000&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE vm server&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE gw server  6mbit/6mbit&lt;br /&gt;
    pre-down        /sbin/brctl delif luxBR $IFACE || true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Jedes Vorkommnis von XXX durch einen entsprechenden Wert aus dem Netzplan ersetzen, im Zweifel TobiT fragen&lt;br /&gt;
&lt;br /&gt;
== Helfer-Skripte ==&lt;br /&gt;
Es gibt 2 Helferskripte, die eingerichtet werden müssen. check_gateway.sh prüft minütlich, ob das ExitVPN noch steht. autoupdate_fastd_peers updatet die fastd-peers alle 5 Minuten per git.&lt;br /&gt;
=== check_gateway.sh ===&lt;br /&gt;
* /usr/bin/check_gateway.sh:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@gw2:/etc/fastd/freifunk-lux# less /usr/bin/check_gateway.sh&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
INTERFACE=tun0          # Set to name of VPN interface&lt;br /&gt;
DHCPSERVICE=dnsmasq     # Name of DHCP service&lt;br /&gt;
BANDWIDTH=XXX           # Server bandwidth&lt;br /&gt;
shopt -s nullglob&lt;br /&gt;
&lt;br /&gt;
# Test whether gateway is connected to the outer world via VPN&lt;br /&gt;
ping -q -I $INTERFACE 8.8.8.8 -c 4 -i 1 -W 5 &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
if test $? -eq 0; then&lt;br /&gt;
    NEW_STATE=server&lt;br /&gt;
else&lt;br /&gt;
    NEW_STATE=off&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Iterate through network interfaces in sys file system&lt;br /&gt;
for MESH in /sys/class/net/*/mesh; do&lt;br /&gt;
# Check whether gateway modus needs to be changed&lt;br /&gt;
OLD_STATE=&amp;quot;$(cat $MESH/gw_mode)&amp;quot;&lt;br /&gt;
[ &amp;quot;$OLD_STATE&amp;quot; == &amp;quot;$NEW_STATE&amp;quot; ] &amp;amp;&amp;amp; continue&lt;br /&gt;
    echo $NEW_STATE &amp;gt; $MESH/gw_mode&lt;br /&gt;
    echo ${BANDWIDTH}MBit/${BANDWIDTH}MBit &amp;gt; $MESH/gw_bandwidth&lt;br /&gt;
    logger &amp;quot;batman gateway mode changed to $NEW_STATE&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    # Check whether gateway modus has been deactivated&lt;br /&gt;
    if [ &amp;quot;$NEW_STATE&amp;quot; == &amp;quot;off&amp;quot; ]; then&lt;br /&gt;
        # Shutdown DHCP server to prevent renewal of leases&lt;br /&gt;
        /usr/sbin/service $DHCPSERVICE stop&lt;br /&gt;
    fi&lt;br /&gt;
&lt;br /&gt;
    # Check whether gateway modus has been activated&lt;br /&gt;
    if [ &amp;quot;$NEW_STATE&amp;quot; == &amp;quot;server&amp;quot; ]; then&lt;br /&gt;
        # Restart DHCP server&lt;br /&gt;
        /usr/sbin/service $DHCPSERVICE start&lt;br /&gt;
    fi&lt;br /&gt;
    exit 0&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
if [ &amp;quot;$NEW_STATE&amp;quot; == &amp;quot;server&amp;quot; ]; then&lt;br /&gt;
    /usr/sbin/service $DHCPSERVICE status 2&amp;gt;&amp;amp;1&amp;gt; /dev/null&lt;br /&gt;
    if [[ $? -ne 0 ]]&lt;br /&gt;
    then&lt;br /&gt;
        /usr/sbin/service $DHCPSERVICE restart&lt;br /&gt;
    fi&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$NEW_STATE&amp;quot; == &amp;quot;off&amp;quot; ]; then&lt;br /&gt;
    /usr/sbin/service $DHCPSERVICE status 2&amp;gt;&amp;amp;1&amp;gt; /dev/null&lt;br /&gt;
    if [[ $? -eq 0 ]]&lt;br /&gt;
    then&lt;br /&gt;
        /usr/sbin/service $DHCPSERVICE stop&lt;br /&gt;
    fi&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Ganz oben bei BANDWIDTH die Serverbandbreite in MBit/s einstellen, damit diese ordentlich via Batman announced werden kann.&lt;br /&gt;
* Speichern und mit &amp;lt;code&amp;gt;chmod +x /usr/bin/check_gateway.sh&amp;lt;/code&amp;gt; ausführbar machen&lt;br /&gt;
=== autoupdate_fastd_keys.sh ===&lt;br /&gt;
* /usr/bin/autoupate_fastd_keys.sh:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# Simple script to update fastd peers from git upstream&lt;br /&gt;
# and only send HUP to fastd when changes happend.&lt;br /&gt;
&lt;br /&gt;
# CONFIGURE THIS TO YOUR PEER DIRECTORY&lt;br /&gt;
FASTD_PEERS_ARRAY=( &amp;quot;freifunk-saar&amp;quot; &amp;quot;freifunk-lux&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
function getCurrentVersion() {&lt;br /&gt;
 # Get hash from latest revision&lt;br /&gt;
 git log --format=format:%H -1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
for FASTD_PEERS in &amp;quot;${FASTD_PEERS_ARRAY[@]}&amp;quot;&lt;br /&gt;
do&lt;br /&gt;
cd /etc/fastd/$FASTD_PEERS/peers&lt;br /&gt;
&lt;br /&gt;
# Get current version hash&lt;br /&gt;
GIT_REVISION=$(getCurrentVersion)&lt;br /&gt;
&lt;br /&gt;
# Automagically commit local changes&lt;br /&gt;
# This preserves local changes&lt;br /&gt;
git commit -m &amp;quot;CRON: auto commit&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Pull latest changes from upstream&lt;br /&gt;
git fetch&lt;br /&gt;
git merge origin/master -m &amp;quot;Auto Merge&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Get new version hash&lt;br /&gt;
GIT_NEW_REVISION=$(getCurrentVersion)&lt;br /&gt;
&lt;br /&gt;
if [ $GIT_REVISION != $GIT_NEW_REVISION ]&lt;br /&gt;
then&lt;br /&gt;
 # Version has changed we need to update&lt;br /&gt;
 echo &amp;quot;Reload fastd peers&amp;quot;&lt;br /&gt;
 kill -HUP $(cat /var/run/fastd.$FASTD_PEERS.pid)&lt;br /&gt;
fi&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Auch dieses Skript ausführbar machen: &amp;lt;code&amp;gt;chmod +x /usr/bin/autoupdate_fastd_keys.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
=== Skripte in crontab eintragen ===&lt;br /&gt;
* In &amp;lt;code&amp;gt;sudo crontab -e&amp;lt;/code&amp;gt; folgende Zeilen anhängen&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*/5 * * * *   /usr/bin/autoupdate_fastd_keys.sh &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
* * * * *   /usr/bin/check_gateway.sh &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Fastd-Config ==&lt;br /&gt;
* &amp;lt;code&amp;gt;mkdir /etc/fastd/freifunk-{saar,lux}/&amp;lt;/code&amp;gt;&lt;br /&gt;
* Config-Dateien anlegen und entsprechenden Inhalt reinkopieren:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
log level warn;&lt;br /&gt;
log to syslog level info;&lt;br /&gt;
&lt;br /&gt;
hide ip addresses yes;&lt;br /&gt;
hide mac addresses yes;&lt;br /&gt;
&lt;br /&gt;
interface &amp;quot;xxxxMESH&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
method &amp;quot;salsa2012+umac&amp;quot;;    # new method (faster)&lt;br /&gt;
method &amp;quot;salsa2012+gmac&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
bind any:10000 interface &amp;quot;eth0&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
include &amp;quot;secret.conf&amp;quot;;&lt;br /&gt;
mtu 1426; # 1492 - IPv4/IPv6 Header - fastd Header...&lt;br /&gt;
&lt;br /&gt;
include peers from &amp;quot;peers&amp;quot;;&lt;br /&gt;
include peers from &amp;quot;peers-gw&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
secure handshakes yes;&lt;br /&gt;
&lt;br /&gt;
on up &amp;quot;&lt;br /&gt;
ip link set dev xxxxMESH address ca:fe:ba:be:00:0X&lt;br /&gt;
ip link set dev xxxxMESH up&lt;br /&gt;
&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Secret Keys aus den Repos besorgen und in secret.conf schreiben&lt;br /&gt;
* Neuen SSH-Key anlegen mit &amp;lt;code&amp;gt;ssh-keygen -t ecdsa&amp;lt;/code&amp;gt;, als Deploy Key in die Gitlab-Projekte https://git.hacksaar.de/FreifunkSaar/mesh-vpn-peers und https://git.hacksaar.de/FreifunkSaar/mesh-vpn-peers-lux eintragen.&lt;br /&gt;
* Mesh-VPN-Peers-Verzeichnis als &amp;quot;peers&amp;quot; klonen: &amp;lt;code&amp;gt;git clone git@hacksaar.de:FreifunkSaar/mesh-vpn-peers.git peers&amp;lt;/code&amp;gt; bzw &amp;lt;code&amp;gt;git clone git@hacksaar.de:FreifunkSaar/mesh-vpn-peers-lux.git peers&amp;lt;/code&amp;gt; jeweils im entsprechende Verzeichnis&lt;br /&gt;
* Feuer!: &amp;lt;code&amp;gt;sudo service fastd start&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DNS, DHCP und RA-Server dnsmasq ==&lt;br /&gt;
* Installieren: &amp;lt;code&amp;gt;apt-get install dnsmasq&amp;lt;/code&amp;gt;&lt;br /&gt;
* /etc/dnsmasq.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bogus-priv&lt;br /&gt;
no-resolv&lt;br /&gt;
no-poll&lt;br /&gt;
log-facility=/dev/null&lt;br /&gt;
&lt;br /&gt;
server=8.8.8.8&lt;br /&gt;
server=8.8.4.4&lt;br /&gt;
&lt;br /&gt;
read-ethers&lt;br /&gt;
expand-hosts&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* /etc/dnsmasq.d/ffsaar&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local=/ffsaar/&lt;br /&gt;
interface=saarBR&lt;br /&gt;
domain=ffsaar&lt;br /&gt;
&lt;br /&gt;
dhcp-range=10.24.XXX.1,10.24.XXX.254,180&lt;br /&gt;
dhcp-range=fd4e:f2d7:88d2:ffff::,64,180,ra-names&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* /etc/dnsmasq.d/fflux&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local=/fflux/&lt;br /&gt;
interface=luxBR&lt;br /&gt;
domain=fflux&lt;br /&gt;
&lt;br /&gt;
dhcp-range=10.24.XXX.1,10.24.XXX.254,180&lt;br /&gt;
dhcp-range=fd4e:f2d7:88d2:fffe::,64,180,ra-names&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* /etc/hosts&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Freifunk Sachen&lt;br /&gt;
10.24.192.2                     static.services.ffsaar ntp.services.ffsaar&lt;br /&gt;
fd4e:f2d7:88d2:ffff::2          static.services.ffsaar ntp.services.ffsaar&lt;br /&gt;
&lt;br /&gt;
10.24.192.1                     router.ffsaar node.ffsaar local.ffsaar knoten.ffsaar my.ffsaar&lt;br /&gt;
fd4e:f2d7:88d2:ffff::1          router.ffsaar node.ffsaar local.ffsaar knoten.ffsaar my.ffsaar&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== isc-dhcp-server (in Zukunft mal umzustellen) ===&lt;br /&gt;
* /etc/dhcp/dhcpd.conf: (Komplett ersetzen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ddns-update-style none;&lt;br /&gt;
default-lease-time 300;&lt;br /&gt;
max-lease-time 300;&lt;br /&gt;
authoritative;&lt;br /&gt;
&lt;br /&gt;
log-facility local6;&lt;br /&gt;
&lt;br /&gt;
subnet 10.24.192.0 netmask 255.255.192.0 {&lt;br /&gt;
        range 10.24.XXX.0 10.24.XXX+3.255;&lt;br /&gt;
        option routers 10.24.192.ZZZ;&lt;br /&gt;
        option domain-name-servers 10.24.192.2, 10.24.192.3, 10.24.192.4;&lt;br /&gt;
        option domain-search &amp;quot;ffsaar&amp;quot;;&lt;br /&gt;
        option ntp-servers 10.24.192.2, 10.24.192.3, 10.24.192.4;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
subnet 10.24.128.0 netmask 255.255.192.0 {&lt;br /&gt;
        range 10.24.YYY.0 10.24.YYY+3.255;&lt;br /&gt;
        option routers 10.24.128.ZZZ;&lt;br /&gt;
        option domain-name-servers 10.24.128.2, 10.24.128.3, 10.24.128.4;&lt;br /&gt;
        option domain-search &amp;quot;fflux&amp;quot;;&lt;br /&gt;
        option ntp-servers 10.24.128.2, 10.24.128.3, 10.24.128.4;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* XXX, XXX+3, YYY, YYY+3, ZZZ durch richtige Werte ersetzen&lt;br /&gt;
* /etc/default/isc-dhcp-server (Zeile INTERFACES ersetzen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
INTERFACES=&amp;quot;saarBR luxBR&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Neu starten: &amp;lt;code&amp;gt;service isc-dhcp-server restart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== IPTables ==&lt;br /&gt;
&lt;br /&gt;
* installieren: &amp;lt;code&amp;gt;apt-get install iptables-persistent&amp;lt;/code&amp;gt;&lt;br /&gt;
* /etc/iptables/rules.v4 UND /etc/iptables/rules.v6&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*mangle&lt;br /&gt;
:PREROUTING ACCEPT [0:0]&lt;br /&gt;
:INPUT ACCEPT [0:0]&lt;br /&gt;
:FORWARD ACCEPT [0:0]&lt;br /&gt;
:OUTPUT ACCEPT [0:0]&lt;br /&gt;
:POSTROUTING ACCEPT [0:0]&lt;br /&gt;
COMMIT&lt;br /&gt;
&lt;br /&gt;
*nat&lt;br /&gt;
:PREROUTING ACCEPT [0:0]&lt;br /&gt;
:INPUT ACCEPT [0:0]&lt;br /&gt;
:OUTPUT ACCEPT [0:0]&lt;br /&gt;
:POSTROUTING ACCEPT [0:0]&lt;br /&gt;
-A POSTROUTING -o tun0 -j MASQUERADE&lt;br /&gt;
COMMIT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Exit-VPN ==&lt;br /&gt;
abhängig von der Config einzurichten&lt;br /&gt;
== Knoteninformationen (Alfred...) ==&lt;br /&gt;
&#039;&#039;&#039;Dieser Punkt befindet sich aktuell in der Erstellung und wird später noch auf die anderen Kapitel aufgeteilt --[[Benutzer:Rugosh|Rugosh]] ([[Benutzer Diskussion:Rugosh|Diskussion]]) 16:38, 22. Feb. 2015 (CET)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Alfred wird auf den Gateways benötigt um die Knoteninformationen zu sammeln und aus diesen Informationen eine Knotendatei unter anderem für die Freifunkkarte bauen zu können.&lt;br /&gt;
Der Server, auf welchem die Knotendatei generiert wird ist hier logisch gesehen der Master die anderen Systeme sind als Slave zu konfigurieren.&lt;br /&gt;
&lt;br /&gt;
Da wir auf unseren Gateways sowohl Saar las auch Lux Freifunk betreiben benötigen wir auch eine Doppelkonfiguration der Knotenerstellung. Dies betrifft sowohl Alfred als auch den Punkt, dass der Master für mehrere Communities Kartendaten erstellen können muss.&lt;br /&gt;
&lt;br /&gt;
=== Slave Konfiguration ===&lt;br /&gt;
Benötigte Komponenten:&lt;br /&gt;
* Alfred&lt;br /&gt;
* Batman&lt;br /&gt;
&lt;br /&gt;
==== Alfred Konfiguration ====&lt;br /&gt;
Wir benötigen zuerst einmal zwei Alfred daemons:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo service alfred stop&lt;br /&gt;
sudo cp /etc/default/alfred /etc/default/alfred-saar&lt;br /&gt;
sudo cp /etc/default/alfred /etc/default/alfred-lux&lt;br /&gt;
sudo cp /etc/init.d/alfred /etc/init.d/alfred-saar&lt;br /&gt;
sudo cp /etc/init.d/alfred /etc/init.d/alfred-lux&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Alfred muss auf auf dem Slave lediglich auf den MASTER=0 gesetzt werden und das Interface, sowie Batman muss angegeben sein. Die Konfiguration findet in der Konfigurationsdatei &amp;lt;code&amp;gt;/etc/default/alfred-XXX&amp;lt;/code&amp;gt; wie folgt statt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# /etc/default/alfred-saar&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
# Additional command line options&lt;br /&gt;
DAEMON_OPTS=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Enable master mode (0/1)&lt;br /&gt;
MASTER=0&lt;br /&gt;
&lt;br /&gt;
# Interface for A.L.F.R.E.D. to listen on. Has to be specified.&lt;br /&gt;
INTERFACE=br-ff&lt;br /&gt;
&lt;br /&gt;
# Specify the batman-adv interface configured on the system (default: bat0).&lt;br /&gt;
# Use &#039;none&#039; to disable the batman-adv based best server selection.&lt;br /&gt;
BATMANIF=saarBAT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# /etc/default/alfred-lux&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
# Additional command line options&lt;br /&gt;
DAEMON_OPTS=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Enable master mode (0/1)&lt;br /&gt;
MASTER=0&lt;br /&gt;
&lt;br /&gt;
# Interface for A.L.F.R.E.D. to listen on. Has to be specified.&lt;br /&gt;
INTERFACE=luxBR&lt;br /&gt;
&lt;br /&gt;
# Specify the batman-adv interface configured on the system (default: bat0).&lt;br /&gt;
# Use &#039;none&#039; to disable the batman-adv based best server selection.&lt;br /&gt;
BATMANIF=luxBAT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Anpassen der init.d Dateien für die Alfreds...&lt;br /&gt;
&#039;&#039;&#039;Nachfolgende Configs erzeugen noch keinen eigenständigen Alfed Socket...&#039;&#039;&#039; Leider muss damit die Alfreds eigene Sockets haben anscheinend alfred selbst mit anderen werten kompaliert werden https://github.com/tcatm/alfred/blob/master/alfred.h oder hier muss eine andere (bessere) Lösung gefunden werden. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Ausschnitt der anzupassenden Datei /etc/init.d/alfred-saar&lt;br /&gt;
&lt;br /&gt;
DESC=&amp;quot;A.L.F.R.E.D -&amp;gt; Saar&amp;quot;&lt;br /&gt;
NAME=alfred&lt;br /&gt;
NAME2=alfred-saar&lt;br /&gt;
DAEMON=/usr/sbin/$NAME&lt;br /&gt;
PIDFILE=/var/run/$NAME2.pid&lt;br /&gt;
SCRIPTNAME=/etc/init.d/$NAME2&lt;br /&gt;
GROUP=alfred &lt;br /&gt;
OPTIONS=&amp;quot;&amp;quot;&lt;br /&gt;
UMASK=0117&lt;br /&gt;
&lt;br /&gt;
[ -x &amp;quot;$DAEMON&amp;quot; ] || exit 0&lt;br /&gt;
&lt;br /&gt;
# Source defaults.&lt;br /&gt;
[ -r /etc/default/$NAME2 ] &amp;amp;&amp;amp; . /etc/default/$NAME2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Ausschnitt der anzupassenden Datei /etc/init.d/alfred-lux&lt;br /&gt;
&lt;br /&gt;
DESC=&amp;quot;A.L.F.R.E.D -&amp;gt; Lux&amp;quot;&lt;br /&gt;
NAME=alfred-lux&lt;br /&gt;
DAEMON=/usr/sbin/$NAME&lt;br /&gt;
PIDFILE=/var/run/$NAME2.pid&lt;br /&gt;
SCRIPTNAME=/etc/init.d/$NAME2&lt;br /&gt;
GROUP=alfred&lt;br /&gt;
OPTIONS=&amp;quot;&amp;quot;&lt;br /&gt;
UMASK=0117&lt;br /&gt;
&lt;br /&gt;
[ -x &amp;quot;$DAEMON&amp;quot; ] || exit 0&lt;br /&gt;
&lt;br /&gt;
# Source defaults.&lt;br /&gt;
[ -r /etc/default/$NAME2 ] &amp;amp;&amp;amp; . /etc/default/$NAME2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Starten der neuen Alfreds&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo service alfred-saar start&lt;br /&gt;
sudo service alfred-lux start&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Nun testen ob alles wie gewünscht funktioniert und erst nach einem erfolgreichen Test die nun nicht mehr benötigten Daten löschen.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rm /etc/default/alfred&lt;br /&gt;
sudo rm /etc/init.d/alfred.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== batadv-vis ====&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=== Master Konfiguration ===&lt;br /&gt;
Benötigte Komponenten:&lt;br /&gt;
* Alfred&lt;br /&gt;
* Alfred-JSON&lt;br /&gt;
* Batman&lt;br /&gt;
&lt;br /&gt;
==== Alfred Konfiguration ====&lt;br /&gt;
Alfred muss auf auf dem Slave lediglich auf den MASTER=1 gesetzt werden und das Interface, sowie Batman muss angegeben sein. Für Details siehe [[#Alfred_Konfiguration | Slave Konfiguration -&amp;gt; Alfred Konfigurieren ]]&lt;br /&gt;
&#039;&#039;&#039;Achtung: Da auf dem Master aktuell nur ein Batman device läuft, ist hier aktuell kein alfred-lux gestartet, aber vorkonfiguriert&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Knotendateigenerierung ====&lt;br /&gt;
* Benötigt auch alias config&lt;br /&gt;
* bat2nodes für Kartengenerierung mit mkmap Skript. Checkout newest Version from https://github.com/freifunk-saar/ffmap-backend -&amp;gt; done.&lt;br /&gt;
* Cron Eintrag vom mkmap Skript&lt;br /&gt;
&lt;br /&gt;
==== Alias Konfiguration ====&lt;br /&gt;
Da wir uns für die manuelle Konfiguration des Announcement der Gateway Informationen entschieden haben ist eine Anpassung der Alias Datei für jede neue Gateway erforderlich.&lt;br /&gt;
Die Dateien &amp;lt;code&amp;gt;aliases_saar.json&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;aliases_lux.json&amp;lt;/code&amp;gt; befindet sich im bat2nodes Verzeichnis und beinhaltet für jede Gateway einen Alias Eintrag.&lt;br /&gt;
&lt;br /&gt;
Beipiel:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
   &amp;quot;&amp;lt;KENNUNG&amp;gt;1&amp;quot; : {&lt;br /&gt;
      &amp;quot;name&amp;quot; : &amp;quot;gw1.saar.freifunk.net&amp;quot;,&lt;br /&gt;
      &amp;quot;vpn&amp;quot; : true&lt;br /&gt;
   },&lt;br /&gt;
   &amp;quot;&amp;lt;KENNUNG&amp;gt;2&amp;quot; : {&lt;br /&gt;
      &amp;quot;name&amp;quot; : &amp;quot;gw2.saar.freifunk.net&amp;quot;,&lt;br /&gt;
      &amp;quot;vpn&amp;quot; : true&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== batadv-vis ====&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=== alfed-json ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== To be continued... ==&lt;br /&gt;
* DNSmasq statt radvd, bind, isc-dhcp-server&lt;/div&gt;</summary>
		<author><name>Tobi042</name></author>
	</entry>
	<entry>
		<id>https://wiki.hacksaar.de/index.php?title=Freifunk:Mesh-VPN_Gateway-Server_einrichten&amp;diff=1949</id>
		<title>Freifunk:Mesh-VPN Gateway-Server einrichten</title>
		<link rel="alternate" type="text/html" href="https://wiki.hacksaar.de/index.php?title=Freifunk:Mesh-VPN_Gateway-Server_einrichten&amp;diff=1949"/>
		<updated>2015-04-19T10:03:37Z</updated>

		<summary type="html">&lt;p&gt;Tobi042: /* Fastd-Config */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Unsere Gateways laufen auf Debian 7 Wheezy. Diese Anleitungen orientieren sich an anderen Freifunk-Communities, aber einen sehr nennenswerten Einfluss hat die geniale Dokumentation von Freifunk Mainz, Wiesbaden und Umgebung (http://gluon-gateway-doku.readthedocs.org/de/latest/) gehabt.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
Größtenteils egal, wichtig ist folgendes: Root bekommt kein Passwort, dadurch wird der Root-Login gesperrt und man muss sudo benutzen. Als zu installierende Paketgruppen nutzen wir Debian-Standardutilities und SSH-Server.&lt;br /&gt;
&lt;br /&gt;
== SSH einrichten ==&lt;br /&gt;
&lt;br /&gt;
* Einloggen: &lt;br /&gt;
*: &amp;lt;code&amp;gt;ssh user@gwX.saar.freifunk.de&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;mkdir .ssh&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;echo &amp;quot;dein_ssh_key&amp;quot; &amp;gt; .ssh/authorized_keys&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;nano /etc/ssh/sshd_config&amp;lt;/code&amp;gt;&lt;br /&gt;
*: Folgende Änderungen vornehmen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;...&lt;br /&gt;
PermitRootLogin no&lt;br /&gt;
...&lt;br /&gt;
PasswordAuthentication no&lt;br /&gt;
...&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Alte Session aktiv lassen, in neuem Terminal versuchen mit Public Key einzuloggen. Wenn nicht erfolgreich debuggen.&lt;br /&gt;
* &amp;lt;code&amp;gt;sudo service ssh restart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Überflüssige Pakete deinstallieren ==&lt;br /&gt;
&lt;br /&gt;
Da wir eben etwas großzügig waren mit der Installation von Paketgruppen müssen wir jetzt exim und nfs-Kram deinstallieren:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;sudo apt-get remove exim4* nfs-common rpcbind&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Als Resultat sollte bei Ausführung von &amp;quot;sudo netstat -tulpn&amp;quot; keine Programme außer sshd und vielleicht dhclient angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
== Kimsufi / OVH Extras ==&lt;br /&gt;
&lt;br /&gt;
Bei den Servern von Kimsufi / OVH gibt es ein paar Kleinigkeiten zu beachten. Zum einen ist hier nicht sudo vorinstalliert, zum anderen benutzen die einen eigenen Kernel, den sie Rechnern vorinstallieren. Also müssen diesbezüglich erst einmal ein paar Vorkehrungen getroffen werden:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;apt-get install sudo linux-image-amd64&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;rm /etc/grub.d/06_OVHkernel&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;update-grub&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Danach sollte die VM neu gestartet werden um sicherzustellen, dass der neue Kernel auch wirklich bootet.&lt;br /&gt;
&lt;br /&gt;
== APT Sources hinzufügen ==&lt;br /&gt;
&lt;br /&gt;
Wir benötigen die Sources für fastd und batman-adv:&lt;br /&gt;
&lt;br /&gt;
* Mit &amp;lt;code&amp;gt;nano /etc/apt/sources.list&amp;lt;/code&amp;gt; folgendes hinzufügen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 deb http://security.debian.org/ wheezy/updates main contrib non-free&lt;br /&gt;
 deb-src http://security.debian.org/ wheezy/updates main contrib non-free&lt;br /&gt;
  &lt;br /&gt;
 # fastd&lt;br /&gt;
 deb http://ftp.de.debian.org/debian wheezy-backports main&lt;br /&gt;
 deb http://repo.universe-factory.net/debian/ sid main&lt;br /&gt;
&lt;br /&gt;
 # alfred&lt;br /&gt;
 deb http://debian.draic.info/ wheezy main&lt;br /&gt;
 deb-src http://debian.draic.info/ wheezy main&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Schlüssel für repo importieren: &lt;br /&gt;
* &amp;lt;code&amp;gt;gpg --keyserver pgpkeys.mit.edu --recv-key  B89033D8&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;gpg -a --export B89033D8 | apt-key add -&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;gpg --keyserver pgpkeys.mit.edu --recv-key  16EF3F64CB201D9C&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;gpg -a --export 16EF3F64CB201D9C | apt-key add -&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pakete installieren ==&lt;br /&gt;
* &amp;lt;code&amp;gt;apt-get update&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;apt-get install batctl batman-adv-dkms fastd bridge-utils ntp&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;echo &amp;quot;batman-adv&amp;quot; &amp;gt;&amp;gt; /etc/modules&amp;lt;/code&amp;gt;&lt;br /&gt;
* Zu beachten: Alle Pakete werden im folgenden eingerichtet. NTPs Standard-Config ist in Ordnung.&lt;br /&gt;
&lt;br /&gt;
== Netzwerk Grundkonfiguration ==&lt;br /&gt;
=== Sysctl Einstellungen ===&lt;br /&gt;
* /etc/sysctl.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Freifunk specific settings&lt;br /&gt;
net.ipv4.ip_forward=1&lt;br /&gt;
&lt;br /&gt;
net.bridge.bridge-nf-call-arptables = 0&lt;br /&gt;
net.bridge.bridge-nf-call-ip6tables = 0&lt;br /&gt;
net.bridge.bridge-nf-call-iptables = 0&lt;br /&gt;
&lt;br /&gt;
net.ipv6.conf.all.forwarding=1&lt;br /&gt;
&lt;br /&gt;
net.ipv6.conf.all.autoconf = 0&lt;br /&gt;
net.ipv6.conf.default.autoconf = 0&lt;br /&gt;
net.ipv6.conf.eth0.autoconf = 0&lt;br /&gt;
&lt;br /&gt;
net.ipv6.conf.all.accept_ra = 0&lt;br /&gt;
net.ipv6.conf.default.accept_ra = 0&lt;br /&gt;
net.ipv6.conf.eth0.accept_ra = 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Danach neu laden: &amp;lt;code&amp;gt;sysctl -p /etc/sysctl.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Routing Tables erstellen ===&lt;br /&gt;
* /etc/iproute2/rt_tables (bisherige Einstellungen beibehalten und folgende hinzufügen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# freifunk&lt;br /&gt;
32      saar&lt;br /&gt;
33      lux&lt;br /&gt;
42      icvpn&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Netzwerkinterafaces einstellen ===&lt;br /&gt;
* /etc/network/interfaces (andere Interfaces nach der entsprechenden Konfiguration belassen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# FREIFUNK SAAR&lt;br /&gt;
#&lt;br /&gt;
auto saarBR&lt;br /&gt;
iface saarBR inet static&lt;br /&gt;
    bridge_ports none&lt;br /&gt;
    bridge_fd 0&lt;br /&gt;
    bridge_maxwait 0&lt;br /&gt;
    address 10.24.192.XXX&lt;br /&gt;
    netmask 255.255.192.0&lt;br /&gt;
    # be sure all incoming traffic is handled by the appropriate rt_table&lt;br /&gt;
    post-up         /sbin/ip rule add iif $IFACE table saar priority 3200&lt;br /&gt;
    pre-down        /sbin/ip rule del iif $IFACE table saar priority 3200&lt;br /&gt;
    # default route is unreachable&lt;br /&gt;
    post-up         /sbin/ip route add unreachable default table saar&lt;br /&gt;
    post-down       /sbin/ip route del unreachable default table saar&lt;br /&gt;
    # local reachable subnet saar for rt_table lux&lt;br /&gt;
    post-up         /sbin/ip route add 10.24.128.0/18 proto static dev $IFACE table lux&lt;br /&gt;
    post-down       /sbin/ip route del 10.24.128.0/18 proto static dev $IFACE table lux&lt;br /&gt;
&lt;br /&gt;
iface saarBR inet6 static&lt;br /&gt;
    address fd4e:f2d7:88d2:ffff::XXX&lt;br /&gt;
    netmask 64&lt;br /&gt;
    # be sure all incoming traffic is handled by the appropriate rt_table&lt;br /&gt;
    post-up         /sbin/ip -6 rule add iif $IFACE table saar priority 3200&lt;br /&gt;
    pre-down        /sbin/ip -6 rule del iif $IFACE table saar priority 3200&lt;br /&gt;
    post-up         /sbin/ip -6 route add fe80::/64 proto static dev $IFACE table saar&lt;br /&gt;
    post-down       /sbin/ip -6 route del fe80::/64 proto static dev $IFACE table saar&lt;br /&gt;
    post-up         /sbin/ip -6 route add fd4e:f2d7:88d2:ffff::/64 proto static dev $IFACE table saar&lt;br /&gt;
    post-down       /sbin/ip -6 route del fd4e:f2d7:88d2:ffff::/64 proto static dev $IFACE table saar&lt;br /&gt;
    # ULA route mz for rt_table saar&lt;br /&gt;
    post-up         /sbin/ip -6 route add fd4e:f2d7:88d2:fffe::/64 proto static dev $IFACE table lux&lt;br /&gt;
    post-down       /sbin/ip -6 route del fd4e:f2d7:88d2:fffe::/64 proto static dev $IFACE table lux&lt;br /&gt;
&lt;br /&gt;
allow-hotplug saarMESH&lt;br /&gt;
iface saarMESH inet6 manual&lt;br /&gt;
    pre-up          /sbin/modprobe batman_adv&lt;br /&gt;
    post-up         /usr/sbin/batctl -m saarBAT if add $IFACE&lt;br /&gt;
    post-up         /sbin/ip link set dev saarBAT up&lt;br /&gt;
&lt;br /&gt;
allow-hotplug saarBAT&lt;br /&gt;
iface saarBAT inet6 manual&lt;br /&gt;
    pre-up          /sbin/modprobe batman-adv&lt;br /&gt;
    post-up         /sbin/brctl addif saarBR $IFACE&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE it 10000&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE vm server&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE gw server  6mbit/6mbit&lt;br /&gt;
    pre-down        /sbin/brctl delif saarBR $IFACE || true&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# FREIFUNK LUX &lt;br /&gt;
#&lt;br /&gt;
auto luxBR&lt;br /&gt;
iface luxBR inet static&lt;br /&gt;
    bridge_ports none&lt;br /&gt;
    bridge_fd 0&lt;br /&gt;
    bridge_maxwait 0&lt;br /&gt;
    address 10.24.128.XXX&lt;br /&gt;
    netmask 255.255.192.0&lt;br /&gt;
    # be sure all incoming traffic is handled by the appropriate rt_table&lt;br /&gt;
    post-up         /sbin/ip rule add iif $IFACE table lux priority 3300&lt;br /&gt;
    pre-down        /sbin/ip rule del iif $IFACE table lux priority 3300&lt;br /&gt;
    # default route is unreachable&lt;br /&gt;
    post-up         /sbin/ip route add unreachable default table lux &lt;br /&gt;
    post-down       /sbin/ip route del unreachable default table lux &lt;br /&gt;
    # local reachable subnet lux for rt_table saar&lt;br /&gt;
    post-up         /sbin/ip route add 10.24.192.0/18 proto static dev $IFACE table saar&lt;br /&gt;
    post-down       /sbin/ip route del 10.24.192.0/18 proto static dev $IFACE table saar&lt;br /&gt;
&lt;br /&gt;
iface luxBR inet6 static&lt;br /&gt;
    address fd4e:f2d7:88d2:fffe::XXX&lt;br /&gt;
    netmask 64&lt;br /&gt;
    # be sure all incoming traffic is handled by the appropriate rt_table&lt;br /&gt;
    post-up         /sbin/ip -6 rule add iif $IFACE table lux priority 3300&lt;br /&gt;
    pre-down        /sbin/ip -6 rule del iif $IFACE table lux priority 3300&lt;br /&gt;
    post-up         /sbin/ip -6 route add fe80::/64 proto static dev $IFACE table lux &lt;br /&gt;
    post-down       /sbin/ip -6 route del fe80::/64 proto static dev $IFACE table lux &lt;br /&gt;
    post-up         /sbin/ip -6 route add fd4e:f2d7:88d2:fffe::/64 proto static dev $IFACE table lux&lt;br /&gt;
    post-down       /sbin/ip -6 route del fd4e:f2d7:88d2:fffe::/64 proto static dev $IFACE table lux&lt;br /&gt;
    # ULA route saar for rt_table lux&lt;br /&gt;
    post-up         /sbin/ip -6 route add fd4e:f2d7:88d2:ffff::/64 proto static dev $IFACE table saar&lt;br /&gt;
    post-down       /sbin/ip -6 route del fd4e:f2d7:88d2:ffff::/64 proto static dev $IFACE table saar&lt;br /&gt;
&lt;br /&gt;
allow-hotplug luxMESH&lt;br /&gt;
iface luxMESH inet6 manual&lt;br /&gt;
    pre-up          /sbin/modprobe batman_adv&lt;br /&gt;
    post-up         /usr/sbin/batctl -m luxBAT if add $IFACE&lt;br /&gt;
    post-up         /sbin/ip link set dev luxBAT up&lt;br /&gt;
&lt;br /&gt;
allow-hotplug luxBAT&lt;br /&gt;
iface luxBAT inet6 manual&lt;br /&gt;
    pre-up          /sbin/modprobe batman-adv&lt;br /&gt;
    post-up         /sbin/brctl addif luxBR $IFACE&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE it 10000&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE vm server&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE gw server  6mbit/6mbit&lt;br /&gt;
    pre-down        /sbin/brctl delif luxBR $IFACE || true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Jedes Vorkommnis von XXX durch einen entsprechenden Wert aus dem Netzplan ersetzen, im Zweifel TobiT fragen&lt;br /&gt;
&lt;br /&gt;
== Helfer-Skripte ==&lt;br /&gt;
Es gibt 2 Helferskripte, die eingerichtet werden müssen. check_gateway.sh prüft minütlich, ob das ExitVPN noch steht. autoupdate_fastd_peers updatet die fastd-peers alle 5 Minuten per git.&lt;br /&gt;
=== check_gateway.sh ===&lt;br /&gt;
* /usr/bin/check_gateway.sh:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@gw2:/etc/fastd/freifunk-lux# less /usr/bin/check_gateway.sh&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
INTERFACE=tun0          # Set to name of VPN interface&lt;br /&gt;
DHCPSERVICE=dnsmasq     # Name of DHCP service&lt;br /&gt;
BANDWIDTH=XXX           # Server bandwidth&lt;br /&gt;
shopt -s nullglob&lt;br /&gt;
&lt;br /&gt;
# Test whether gateway is connected to the outer world via VPN&lt;br /&gt;
ping -q -I $INTERFACE 8.8.8.8 -c 4 -i 1 -W 5 &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
if test $? -eq 0; then&lt;br /&gt;
    NEW_STATE=server&lt;br /&gt;
else&lt;br /&gt;
    NEW_STATE=off&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Iterate through network interfaces in sys file system&lt;br /&gt;
for MESH in /sys/class/net/*/mesh; do&lt;br /&gt;
# Check whether gateway modus needs to be changed&lt;br /&gt;
OLD_STATE=&amp;quot;$(cat $MESH/gw_mode)&amp;quot;&lt;br /&gt;
[ &amp;quot;$OLD_STATE&amp;quot; == &amp;quot;$NEW_STATE&amp;quot; ] &amp;amp;&amp;amp; continue&lt;br /&gt;
    echo $NEW_STATE &amp;gt; $MESH/gw_mode&lt;br /&gt;
    echo ${BANDWIDTH}MBit/${BANDWIDTH}MBit &amp;gt; $MESH/gw_bandwidth&lt;br /&gt;
    logger &amp;quot;batman gateway mode changed to $NEW_STATE&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    # Check whether gateway modus has been deactivated&lt;br /&gt;
    if [ &amp;quot;$NEW_STATE&amp;quot; == &amp;quot;off&amp;quot; ]; then&lt;br /&gt;
        # Shutdown DHCP server to prevent renewal of leases&lt;br /&gt;
        /usr/sbin/service $DHCPSERVICE stop&lt;br /&gt;
    fi&lt;br /&gt;
&lt;br /&gt;
    # Check whether gateway modus has been activated&lt;br /&gt;
    if [ &amp;quot;$NEW_STATE&amp;quot; == &amp;quot;server&amp;quot; ]; then&lt;br /&gt;
        # Restart DHCP server&lt;br /&gt;
        /usr/sbin/service $DHCPSERVICE start&lt;br /&gt;
    fi&lt;br /&gt;
    exit 0&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
if [ &amp;quot;$NEW_STATE&amp;quot; == &amp;quot;server&amp;quot; ]; then&lt;br /&gt;
    /usr/sbin/service $DHCPSERVICE status 2&amp;gt;&amp;amp;1&amp;gt; /dev/null&lt;br /&gt;
    if [[ $? -ne 0 ]]&lt;br /&gt;
    then&lt;br /&gt;
        /usr/sbin/service $DHCPSERVICE restart&lt;br /&gt;
    fi&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$NEW_STATE&amp;quot; == &amp;quot;off&amp;quot; ]; then&lt;br /&gt;
    /usr/sbin/service $DHCPSERVICE status 2&amp;gt;&amp;amp;1&amp;gt; /dev/null&lt;br /&gt;
    if [[ $? -eq 0 ]]&lt;br /&gt;
    then&lt;br /&gt;
        /usr/sbin/service $DHCPSERVICE stop&lt;br /&gt;
    fi&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Ganz oben bei BANDWIDTH die Serverbandbreite in MBit/s einstellen, damit diese ordentlich via Batman announced werden kann.&lt;br /&gt;
* Speichern und mit &amp;lt;code&amp;gt;chmod +x /usr/bin/check_gateway.sh&amp;lt;/code&amp;gt; ausführbar machen&lt;br /&gt;
=== autoupdate_fastd_keys.sh ===&lt;br /&gt;
* /usr/bin/autoupate_fastd_keys.sh:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# Simple script to update fastd peers from git upstream&lt;br /&gt;
# and only send HUP to fastd when changes happend.&lt;br /&gt;
&lt;br /&gt;
# CONFIGURE THIS TO YOUR PEER DIRECTORY&lt;br /&gt;
FASTD_PEERS_ARRAY=( &amp;quot;freifunk-saar&amp;quot; &amp;quot;freifunk-lux&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
function getCurrentVersion() {&lt;br /&gt;
 # Get hash from latest revision&lt;br /&gt;
 git log --format=format:%H -1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
for FASTD_PEERS in &amp;quot;${FASTD_PEERS_ARRAY[@]}&amp;quot;&lt;br /&gt;
do&lt;br /&gt;
cd /etc/fastd/$FASTD_PEERS/peers&lt;br /&gt;
&lt;br /&gt;
# Get current version hash&lt;br /&gt;
GIT_REVISION=$(getCurrentVersion)&lt;br /&gt;
&lt;br /&gt;
# Automagically commit local changes&lt;br /&gt;
# This preserves local changes&lt;br /&gt;
git commit -m &amp;quot;CRON: auto commit&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Pull latest changes from upstream&lt;br /&gt;
git fetch&lt;br /&gt;
git merge origin/master -m &amp;quot;Auto Merge&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Get new version hash&lt;br /&gt;
GIT_NEW_REVISION=$(getCurrentVersion)&lt;br /&gt;
&lt;br /&gt;
if [ $GIT_REVISION != $GIT_NEW_REVISION ]&lt;br /&gt;
then&lt;br /&gt;
 # Version has changed we need to update&lt;br /&gt;
 echo &amp;quot;Reload fastd peers&amp;quot;&lt;br /&gt;
 kill -HUP $(cat /var/run/fastd.$FASTD_PEERS.pid)&lt;br /&gt;
fi&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Auch dieses Skript ausführbar machen: &amp;lt;code&amp;gt;chmod +x /usr/bin/autoupdate_fastd_keys.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
=== Skripte in crontab eintragen ===&lt;br /&gt;
* In &amp;lt;code&amp;gt;sudo crontab -e&amp;lt;/code&amp;gt; folgende Zeilen anhängen&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*/5 * * * *   /usr/bin/autoupdate_fastd_keys.sh &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
* * * * *   /usr/bin/check_gateway.sh &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Fastd-Config ==&lt;br /&gt;
* &amp;lt;code&amp;gt;mkdir /etc/fastd/freifunk-{saar,lux}/&amp;lt;/code&amp;gt;&lt;br /&gt;
* Config-Dateien anlegen und entsprechenden Inhalt reinkopieren:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
log level warn;&lt;br /&gt;
log to syslog level info;&lt;br /&gt;
&lt;br /&gt;
hide ip addresses yes;&lt;br /&gt;
hide mac addresses yes;&lt;br /&gt;
&lt;br /&gt;
interface &amp;quot;xxxxMESH&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
method &amp;quot;salsa2012+umac&amp;quot;;    # new method (faster)&lt;br /&gt;
method &amp;quot;salsa2012+gmac&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
bind any:10000 interface &amp;quot;eth0&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
include &amp;quot;secret.conf&amp;quot;;&lt;br /&gt;
mtu 1426; # 1492 - IPv4/IPv6 Header - fastd Header...&lt;br /&gt;
&lt;br /&gt;
include peers from &amp;quot;peers&amp;quot;;&lt;br /&gt;
include peers from &amp;quot;peers-gw&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
secure handshakes yes;&lt;br /&gt;
&lt;br /&gt;
on up &amp;quot;&lt;br /&gt;
ip link set dev xxxxMESH address ca:fe:ba:be:00:0X&lt;br /&gt;
ip link set dev xxxxMESH up&lt;br /&gt;
&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Secret Keys aus den Repos besorgen und in secret.conf schreiben&lt;br /&gt;
* Neuen SSH-Key anlegen mit &amp;lt;code&amp;gt;ssh-keygen -t ecdsa&amp;lt;/code&amp;gt;, als Deploy Key in die Gitlab-Projekte https://git.hacksaar.de/FreifunkSaar/mesh-vpn-peers und https://git.hacksaar.de/FreifunkSaar/mesh-vpn-peers-lux eintragen.&lt;br /&gt;
* Mesh-VPN-Peers-Verzeichnis als &amp;quot;peers&amp;quot; klonen: &amp;lt;code&amp;gt;git clone git@hacksaar.de:FreifunkSaar/mesh-vpn-peers.git peers&amp;lt;/code&amp;gt; bzw &amp;lt;code&amp;gt;git clone git@hacksaar.de:FreifunkSaar/mesh-vpn-peers-lux.git peers&amp;lt;/code&amp;gt; jeweils im entsprechende Verzeichnis&lt;br /&gt;
* Feuer!: &amp;lt;code&amp;gt;sudo service fastd start&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DNS, DHCP und RA-Server dnsmasq ==&lt;br /&gt;
* Installieren: &amp;lt;code&amp;gt;apt-get install dnsmasq&amp;lt;/code&amp;gt;&lt;br /&gt;
* /etc/dnsmasq.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bogus-priv&lt;br /&gt;
no-resolv&lt;br /&gt;
no-poll&lt;br /&gt;
log-facility=/dev/null&lt;br /&gt;
&lt;br /&gt;
server=8.8.8.8&lt;br /&gt;
server=8.8.4.4&lt;br /&gt;
&lt;br /&gt;
read-ethers&lt;br /&gt;
expand-hosts&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* /etc/dnsmasq.d/ffsaar&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local=/ffsaar/&lt;br /&gt;
interface=saarBR&lt;br /&gt;
domain=ffsaar&lt;br /&gt;
&lt;br /&gt;
dhcp-range=10.24.XXX.1,10.24.XXX.254,180&lt;br /&gt;
dhcp-range=fd4e:f2d7:88d2:ffff::,64,180,ra-names&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* /etc/dnsmasq.d/fflux&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local=/fflux/&lt;br /&gt;
interface=luxBR&lt;br /&gt;
domain=fflux&lt;br /&gt;
&lt;br /&gt;
dhcp-range=10.24.XXX.1,10.24.XXX.254,180&lt;br /&gt;
dhcp-range=fd4e:f2d7:88d2:fffe::,64,180,ra-names&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* /etc/hosts&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Freifunk Sachen&lt;br /&gt;
10.24.192.2                     static.services.ffsaar ntp.services.ffsaar&lt;br /&gt;
fd4e:f2d7:88d2:ffff::2          static.services.ffsaar ntp.services.ffsaar&lt;br /&gt;
&lt;br /&gt;
10.24.192.1                     router.ffsaar node.ffsaar local.ffsaar knoten.ffsaar my.ffsaar&lt;br /&gt;
fd4e:f2d7:88d2:ffff::1          router.ffsaar node.ffsaar local.ffsaar knoten.ffsaar my.ffsaar&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== isc-dhcp-server (in Zukunft mal umzustellen) ===&lt;br /&gt;
* /etc/dhcp/dhcpd.conf: (Komplett ersetzen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ddns-update-style none;&lt;br /&gt;
default-lease-time 300;&lt;br /&gt;
max-lease-time 300;&lt;br /&gt;
authoritative;&lt;br /&gt;
&lt;br /&gt;
log-facility local6;&lt;br /&gt;
&lt;br /&gt;
subnet 10.24.192.0 netmask 255.255.192.0 {&lt;br /&gt;
        range 10.24.XXX.0 10.24.XXX+3.255;&lt;br /&gt;
        option routers 10.24.192.ZZZ;&lt;br /&gt;
        option domain-name-servers 10.24.192.2, 10.24.192.3, 10.24.192.4;&lt;br /&gt;
        option domain-search &amp;quot;ffsaar&amp;quot;;&lt;br /&gt;
        option ntp-servers 10.24.192.2, 10.24.192.3, 10.24.192.4;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
subnet 10.24.128.0 netmask 255.255.192.0 {&lt;br /&gt;
        range 10.24.YYY.0 10.24.YYY+3.255;&lt;br /&gt;
        option routers 10.24.128.ZZZ;&lt;br /&gt;
        option domain-name-servers 10.24.128.2, 10.24.128.3, 10.24.128.4;&lt;br /&gt;
        option domain-search &amp;quot;fflux&amp;quot;;&lt;br /&gt;
        option ntp-servers 10.24.128.2, 10.24.128.3, 10.24.128.4;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* XXX, XXX+3, YYY, YYY+3, ZZZ durch richtige Werte ersetzen&lt;br /&gt;
* /etc/default/isc-dhcp-server (Zeile INTERFACES ersetzen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
INTERFACES=&amp;quot;saarBR luxBR&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Neu starten: &amp;lt;code&amp;gt;service isc-dhcp-server restart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== IPTables ==&lt;br /&gt;
&lt;br /&gt;
* installieren: &amp;lt;code&amp;gt;apt-get install iptables-persistent&amp;lt;/code&amp;gt;&lt;br /&gt;
* /etc/iptables/rules.v4 UND /etc/iptables/rules.v6&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*mangle&lt;br /&gt;
:PREROUTING ACCEPT [0:0]&lt;br /&gt;
:INPUT ACCEPT [0:0]&lt;br /&gt;
:FORWARD ACCEPT [0:0]&lt;br /&gt;
:OUTPUT ACCEPT [0:0]&lt;br /&gt;
:POSTROUTING ACCEPT [0:0]&lt;br /&gt;
COMMIT&lt;br /&gt;
&lt;br /&gt;
*nat&lt;br /&gt;
:PREROUTING ACCEPT [0:0]&lt;br /&gt;
:INPUT ACCEPT [0:0]&lt;br /&gt;
:OUTPUT ACCEPT [0:0]&lt;br /&gt;
:POSTROUTING ACCEPT [0:0]&lt;br /&gt;
-A POSTROUTING -o tun0 -j MASQUERADE&lt;br /&gt;
COMMIT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Exit-VPN ==&lt;br /&gt;
abhängig von der Config einzurichten&lt;br /&gt;
== Knoteninformationen (Alfred...) ==&lt;br /&gt;
&#039;&#039;&#039;Dieser Punkt befindet sich aktuell in der Erstellung und wird später noch auf die anderen Kapitel aufgeteilt --[[Benutzer:Rugosh|Rugosh]] ([[Benutzer Diskussion:Rugosh|Diskussion]]) 16:38, 22. Feb. 2015 (CET)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Alfred wird auf den Gateways benötigt um die Knoteninformationen zu sammeln und aus diesen Informationen eine Knotendatei unter anderem für die Freifunkkarte bauen zu können.&lt;br /&gt;
Der Server, auf welchem die Knotendatei generiert wird ist hier logisch gesehen der Master die anderen Systeme sind als Slave zu konfigurieren.&lt;br /&gt;
&lt;br /&gt;
Da wir auf unseren Gateways sowohl Saar las auch Lux Freifunk betreiben benötigen wir auch eine Doppelkonfiguration der Knotenerstellung. Dies betrifft sowohl Alfred als auch den Punkt, dass der Master für mehrere Communities Kartendaten erstellen können muss.&lt;br /&gt;
&lt;br /&gt;
=== Slave Konfiguration ===&lt;br /&gt;
Benötigte Komponenten:&lt;br /&gt;
* Alfred&lt;br /&gt;
* Batman&lt;br /&gt;
&lt;br /&gt;
==== Alfred Konfiguration ====&lt;br /&gt;
Wir benötigen zuerst einmal zwei Alfred daemons:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo service alfred stop&lt;br /&gt;
sudo cp /etc/default/alfred /etc/default/alfred-saar&lt;br /&gt;
sudo cp /etc/default/alfred /etc/default/alfred-lux&lt;br /&gt;
sudo cp /etc/init.d/alfred /etc/init.d/alfred-saar&lt;br /&gt;
sudo cp /etc/init.d/alfred /etc/init.d/alfred-lux&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Alfred muss auf auf dem Slave lediglich auf den MASTER=0 gesetzt werden und das Interface, sowie Batman muss angegeben sein. Die Konfiguration findet in der Konfigurationsdatei &amp;lt;code&amp;gt;/etc/default/alfred-XXX&amp;lt;/code&amp;gt; wie folgt statt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# /etc/default/alfred-saar&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
# Additional command line options&lt;br /&gt;
DAEMON_OPTS=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Enable master mode (0/1)&lt;br /&gt;
MASTER=0&lt;br /&gt;
&lt;br /&gt;
# Interface for A.L.F.R.E.D. to listen on. Has to be specified.&lt;br /&gt;
INTERFACE=br-ff&lt;br /&gt;
&lt;br /&gt;
# Specify the batman-adv interface configured on the system (default: bat0).&lt;br /&gt;
# Use &#039;none&#039; to disable the batman-adv based best server selection.&lt;br /&gt;
BATMANIF=saarBAT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# /etc/default/alfred-lux&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
# Additional command line options&lt;br /&gt;
DAEMON_OPTS=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Enable master mode (0/1)&lt;br /&gt;
MASTER=0&lt;br /&gt;
&lt;br /&gt;
# Interface for A.L.F.R.E.D. to listen on. Has to be specified.&lt;br /&gt;
INTERFACE=luxBR&lt;br /&gt;
&lt;br /&gt;
# Specify the batman-adv interface configured on the system (default: bat0).&lt;br /&gt;
# Use &#039;none&#039; to disable the batman-adv based best server selection.&lt;br /&gt;
BATMANIF=luxBAT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Anpassen der init.d Dateien für die Alfreds...&lt;br /&gt;
&#039;&#039;&#039;Nachfolgende Configs erzeugen noch keinen eigenständigen Alfed Socket...&#039;&#039;&#039; Leider muss damit die Alfreds eigene Sockets haben anscheinend alfred selbst mit anderen werten kompaliert werden https://github.com/tcatm/alfred/blob/master/alfred.h oder hier muss eine andere (bessere) Lösung gefunden werden. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Ausschnitt der anzupassenden Datei /etc/init.d/alfred-saar&lt;br /&gt;
&lt;br /&gt;
DESC=&amp;quot;A.L.F.R.E.D -&amp;gt; Saar&amp;quot;&lt;br /&gt;
NAME=alfred&lt;br /&gt;
NAME2=alfred-saar&lt;br /&gt;
DAEMON=/usr/sbin/$NAME&lt;br /&gt;
PIDFILE=/var/run/$NAME2.pid&lt;br /&gt;
SCRIPTNAME=/etc/init.d/$NAME2&lt;br /&gt;
GROUP=alfred &lt;br /&gt;
OPTIONS=&amp;quot;&amp;quot;&lt;br /&gt;
UMASK=0117&lt;br /&gt;
&lt;br /&gt;
[ -x &amp;quot;$DAEMON&amp;quot; ] || exit 0&lt;br /&gt;
&lt;br /&gt;
# Source defaults.&lt;br /&gt;
[ -r /etc/default/$NAME2 ] &amp;amp;&amp;amp; . /etc/default/$NAME2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Ausschnitt der anzupassenden Datei /etc/init.d/alfred-lux&lt;br /&gt;
&lt;br /&gt;
DESC=&amp;quot;A.L.F.R.E.D -&amp;gt; Lux&amp;quot;&lt;br /&gt;
NAME=alfred-lux&lt;br /&gt;
DAEMON=/usr/sbin/$NAME&lt;br /&gt;
PIDFILE=/var/run/$NAME2.pid&lt;br /&gt;
SCRIPTNAME=/etc/init.d/$NAME2&lt;br /&gt;
GROUP=alfred&lt;br /&gt;
OPTIONS=&amp;quot;&amp;quot;&lt;br /&gt;
UMASK=0117&lt;br /&gt;
&lt;br /&gt;
[ -x &amp;quot;$DAEMON&amp;quot; ] || exit 0&lt;br /&gt;
&lt;br /&gt;
# Source defaults.&lt;br /&gt;
[ -r /etc/default/$NAME2 ] &amp;amp;&amp;amp; . /etc/default/$NAME2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Starten der neuen Alfreds&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo service alfred-saar start&lt;br /&gt;
sudo service alfred-lux start&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Nun testen ob alles wie gewünscht funktioniert und erst nach einem erfolgreichen Test die nun nicht mehr benötigten Daten löschen.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rm /etc/default/alfred&lt;br /&gt;
sudo rm /etc/init.d/alfred.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== batadv-vis ====&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=== Master Konfiguration ===&lt;br /&gt;
Benötigte Komponenten:&lt;br /&gt;
* Alfred&lt;br /&gt;
* Alfred-JSON&lt;br /&gt;
* Batman&lt;br /&gt;
&lt;br /&gt;
==== Alfred Konfiguration ====&lt;br /&gt;
Alfred muss auf auf dem Slave lediglich auf den MASTER=1 gesetzt werden und das Interface, sowie Batman muss angegeben sein. Für Details siehe [[#Alfred_Konfiguration | Slave Konfiguration -&amp;gt; Alfred Konfigurieren ]]&lt;br /&gt;
&#039;&#039;&#039;Achtung: Da auf dem Master aktuell nur ein Batman device läuft, ist hier aktuell kein alfred-lux gestartet, aber vorkonfiguriert&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Knotendateigenerierung ====&lt;br /&gt;
* Benötigt auch alias config&lt;br /&gt;
* bat2nodes für Kartengenerierung mit mkmap Skript. Checkout newest Version from https://github.com/freifunk-saar/ffmap-backend -&amp;gt; done.&lt;br /&gt;
* Cron Eintrag vom mkmap Skript&lt;br /&gt;
&lt;br /&gt;
==== Alias Konfiguration ====&lt;br /&gt;
Da wir uns für die manuelle Konfiguration des Announcement der Gateway Informationen entschieden haben ist eine Anpassung der Alias Datei für jede neue Gateway erforderlich.&lt;br /&gt;
Die Dateien &amp;lt;code&amp;gt;aliases_saar.json&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;aliases_lux.json&amp;lt;/code&amp;gt; befindet sich im bat2nodes Verzeichnis und beinhaltet für jede Gateway einen Alias Eintrag.&lt;br /&gt;
&lt;br /&gt;
Beipiel:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
   &amp;quot;&amp;lt;KENNUNG&amp;gt;1&amp;quot; : {&lt;br /&gt;
      &amp;quot;name&amp;quot; : &amp;quot;gw1.saar.freifunk.net&amp;quot;,&lt;br /&gt;
      &amp;quot;vpn&amp;quot; : true&lt;br /&gt;
   },&lt;br /&gt;
   &amp;quot;&amp;lt;KENNUNG&amp;gt;2&amp;quot; : {&lt;br /&gt;
      &amp;quot;name&amp;quot; : &amp;quot;gw2.saar.freifunk.net&amp;quot;,&lt;br /&gt;
      &amp;quot;vpn&amp;quot; : true&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== batadv-vis ====&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=== alfed-json ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== To be continued... ==&lt;br /&gt;
* DNSmasq statt radvd, bind, isc-dhcp-server&lt;/div&gt;</summary>
		<author><name>Tobi042</name></author>
	</entry>
	<entry>
		<id>https://wiki.hacksaar.de/index.php?title=Freifunk:Mesh-VPN_Gateway-Server_einrichten&amp;diff=1948</id>
		<title>Freifunk:Mesh-VPN Gateway-Server einrichten</title>
		<link rel="alternate" type="text/html" href="https://wiki.hacksaar.de/index.php?title=Freifunk:Mesh-VPN_Gateway-Server_einrichten&amp;diff=1948"/>
		<updated>2015-04-19T09:46:20Z</updated>

		<summary type="html">&lt;p&gt;Tobi042: /* Kimsufi / OVH Extras */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Unsere Gateways laufen auf Debian 7 Wheezy. Diese Anleitungen orientieren sich an anderen Freifunk-Communities, aber einen sehr nennenswerten Einfluss hat die geniale Dokumentation von Freifunk Mainz, Wiesbaden und Umgebung (http://gluon-gateway-doku.readthedocs.org/de/latest/) gehabt.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
Größtenteils egal, wichtig ist folgendes: Root bekommt kein Passwort, dadurch wird der Root-Login gesperrt und man muss sudo benutzen. Als zu installierende Paketgruppen nutzen wir Debian-Standardutilities und SSH-Server.&lt;br /&gt;
&lt;br /&gt;
== SSH einrichten ==&lt;br /&gt;
&lt;br /&gt;
* Einloggen: &lt;br /&gt;
*: &amp;lt;code&amp;gt;ssh user@gwX.saar.freifunk.de&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;mkdir .ssh&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;echo &amp;quot;dein_ssh_key&amp;quot; &amp;gt; .ssh/authorized_keys&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;nano /etc/ssh/sshd_config&amp;lt;/code&amp;gt;&lt;br /&gt;
*: Folgende Änderungen vornehmen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;...&lt;br /&gt;
PermitRootLogin no&lt;br /&gt;
...&lt;br /&gt;
PasswordAuthentication no&lt;br /&gt;
...&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Alte Session aktiv lassen, in neuem Terminal versuchen mit Public Key einzuloggen. Wenn nicht erfolgreich debuggen.&lt;br /&gt;
* &amp;lt;code&amp;gt;sudo service ssh restart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Überflüssige Pakete deinstallieren ==&lt;br /&gt;
&lt;br /&gt;
Da wir eben etwas großzügig waren mit der Installation von Paketgruppen müssen wir jetzt exim und nfs-Kram deinstallieren:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;sudo apt-get remove exim4* nfs-common rpcbind&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Als Resultat sollte bei Ausführung von &amp;quot;sudo netstat -tulpn&amp;quot; keine Programme außer sshd und vielleicht dhclient angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
== Kimsufi / OVH Extras ==&lt;br /&gt;
&lt;br /&gt;
Bei den Servern von Kimsufi / OVH gibt es ein paar Kleinigkeiten zu beachten. Zum einen ist hier nicht sudo vorinstalliert, zum anderen benutzen die einen eigenen Kernel, den sie Rechnern vorinstallieren. Also müssen diesbezüglich erst einmal ein paar Vorkehrungen getroffen werden:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;apt-get install sudo linux-image-amd64&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;rm /etc/grub.d/06_OVHkernel&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;update-grub&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Danach sollte die VM neu gestartet werden um sicherzustellen, dass der neue Kernel auch wirklich bootet.&lt;br /&gt;
&lt;br /&gt;
== APT Sources hinzufügen ==&lt;br /&gt;
&lt;br /&gt;
Wir benötigen die Sources für fastd und batman-adv:&lt;br /&gt;
&lt;br /&gt;
* Mit &amp;lt;code&amp;gt;nano /etc/apt/sources.list&amp;lt;/code&amp;gt; folgendes hinzufügen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 deb http://security.debian.org/ wheezy/updates main contrib non-free&lt;br /&gt;
 deb-src http://security.debian.org/ wheezy/updates main contrib non-free&lt;br /&gt;
  &lt;br /&gt;
 # fastd&lt;br /&gt;
 deb http://ftp.de.debian.org/debian wheezy-backports main&lt;br /&gt;
 deb http://repo.universe-factory.net/debian/ sid main&lt;br /&gt;
&lt;br /&gt;
 # alfred&lt;br /&gt;
 deb http://debian.draic.info/ wheezy main&lt;br /&gt;
 deb-src http://debian.draic.info/ wheezy main&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Schlüssel für repo importieren: &lt;br /&gt;
* &amp;lt;code&amp;gt;gpg --keyserver pgpkeys.mit.edu --recv-key  B89033D8&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;gpg -a --export B89033D8 | apt-key add -&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;gpg --keyserver pgpkeys.mit.edu --recv-key  16EF3F64CB201D9C&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;gpg -a --export 16EF3F64CB201D9C | apt-key add -&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pakete installieren ==&lt;br /&gt;
* &amp;lt;code&amp;gt;apt-get update&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;apt-get install batctl batman-adv-dkms fastd bridge-utils ntp&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;echo &amp;quot;batman-adv&amp;quot; &amp;gt;&amp;gt; /etc/modules&amp;lt;/code&amp;gt;&lt;br /&gt;
* Zu beachten: Alle Pakete werden im folgenden eingerichtet. NTPs Standard-Config ist in Ordnung.&lt;br /&gt;
&lt;br /&gt;
== Netzwerk Grundkonfiguration ==&lt;br /&gt;
=== Sysctl Einstellungen ===&lt;br /&gt;
* /etc/sysctl.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Freifunk specific settings&lt;br /&gt;
net.ipv4.ip_forward=1&lt;br /&gt;
&lt;br /&gt;
net.bridge.bridge-nf-call-arptables = 0&lt;br /&gt;
net.bridge.bridge-nf-call-ip6tables = 0&lt;br /&gt;
net.bridge.bridge-nf-call-iptables = 0&lt;br /&gt;
&lt;br /&gt;
net.ipv6.conf.all.forwarding=1&lt;br /&gt;
&lt;br /&gt;
net.ipv6.conf.all.autoconf = 0&lt;br /&gt;
net.ipv6.conf.default.autoconf = 0&lt;br /&gt;
net.ipv6.conf.eth0.autoconf = 0&lt;br /&gt;
&lt;br /&gt;
net.ipv6.conf.all.accept_ra = 0&lt;br /&gt;
net.ipv6.conf.default.accept_ra = 0&lt;br /&gt;
net.ipv6.conf.eth0.accept_ra = 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Danach neu laden: &amp;lt;code&amp;gt;sysctl -p /etc/sysctl.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Routing Tables erstellen ===&lt;br /&gt;
* /etc/iproute2/rt_tables (bisherige Einstellungen beibehalten und folgende hinzufügen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# freifunk&lt;br /&gt;
32      saar&lt;br /&gt;
33      lux&lt;br /&gt;
42      icvpn&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Netzwerkinterafaces einstellen ===&lt;br /&gt;
* /etc/network/interfaces (andere Interfaces nach der entsprechenden Konfiguration belassen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# FREIFUNK SAAR&lt;br /&gt;
#&lt;br /&gt;
auto saarBR&lt;br /&gt;
iface saarBR inet static&lt;br /&gt;
    bridge_ports none&lt;br /&gt;
    bridge_fd 0&lt;br /&gt;
    bridge_maxwait 0&lt;br /&gt;
    address 10.24.192.XXX&lt;br /&gt;
    netmask 255.255.192.0&lt;br /&gt;
    # be sure all incoming traffic is handled by the appropriate rt_table&lt;br /&gt;
    post-up         /sbin/ip rule add iif $IFACE table saar priority 3200&lt;br /&gt;
    pre-down        /sbin/ip rule del iif $IFACE table saar priority 3200&lt;br /&gt;
    # default route is unreachable&lt;br /&gt;
    post-up         /sbin/ip route add unreachable default table saar&lt;br /&gt;
    post-down       /sbin/ip route del unreachable default table saar&lt;br /&gt;
    # local reachable subnet saar for rt_table lux&lt;br /&gt;
    post-up         /sbin/ip route add 10.24.128.0/18 proto static dev $IFACE table lux&lt;br /&gt;
    post-down       /sbin/ip route del 10.24.128.0/18 proto static dev $IFACE table lux&lt;br /&gt;
&lt;br /&gt;
iface saarBR inet6 static&lt;br /&gt;
    address fd4e:f2d7:88d2:ffff::XXX&lt;br /&gt;
    netmask 64&lt;br /&gt;
    # be sure all incoming traffic is handled by the appropriate rt_table&lt;br /&gt;
    post-up         /sbin/ip -6 rule add iif $IFACE table saar priority 3200&lt;br /&gt;
    pre-down        /sbin/ip -6 rule del iif $IFACE table saar priority 3200&lt;br /&gt;
    post-up         /sbin/ip -6 route add fe80::/64 proto static dev $IFACE table saar&lt;br /&gt;
    post-down       /sbin/ip -6 route del fe80::/64 proto static dev $IFACE table saar&lt;br /&gt;
    post-up         /sbin/ip -6 route add fd4e:f2d7:88d2:ffff::/64 proto static dev $IFACE table saar&lt;br /&gt;
    post-down       /sbin/ip -6 route del fd4e:f2d7:88d2:ffff::/64 proto static dev $IFACE table saar&lt;br /&gt;
    # ULA route mz for rt_table saar&lt;br /&gt;
    post-up         /sbin/ip -6 route add fd4e:f2d7:88d2:fffe::/64 proto static dev $IFACE table lux&lt;br /&gt;
    post-down       /sbin/ip -6 route del fd4e:f2d7:88d2:fffe::/64 proto static dev $IFACE table lux&lt;br /&gt;
&lt;br /&gt;
allow-hotplug saarMESH&lt;br /&gt;
iface saarMESH inet6 manual&lt;br /&gt;
    pre-up          /sbin/modprobe batman_adv&lt;br /&gt;
    post-up         /usr/sbin/batctl -m saarBAT if add $IFACE&lt;br /&gt;
    post-up         /sbin/ip link set dev saarBAT up&lt;br /&gt;
&lt;br /&gt;
allow-hotplug saarBAT&lt;br /&gt;
iface saarBAT inet6 manual&lt;br /&gt;
    pre-up          /sbin/modprobe batman-adv&lt;br /&gt;
    post-up         /sbin/brctl addif saarBR $IFACE&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE it 10000&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE vm server&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE gw server  6mbit/6mbit&lt;br /&gt;
    pre-down        /sbin/brctl delif saarBR $IFACE || true&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# FREIFUNK LUX &lt;br /&gt;
#&lt;br /&gt;
auto luxBR&lt;br /&gt;
iface luxBR inet static&lt;br /&gt;
    bridge_ports none&lt;br /&gt;
    bridge_fd 0&lt;br /&gt;
    bridge_maxwait 0&lt;br /&gt;
    address 10.24.128.XXX&lt;br /&gt;
    netmask 255.255.192.0&lt;br /&gt;
    # be sure all incoming traffic is handled by the appropriate rt_table&lt;br /&gt;
    post-up         /sbin/ip rule add iif $IFACE table lux priority 3300&lt;br /&gt;
    pre-down        /sbin/ip rule del iif $IFACE table lux priority 3300&lt;br /&gt;
    # default route is unreachable&lt;br /&gt;
    post-up         /sbin/ip route add unreachable default table lux &lt;br /&gt;
    post-down       /sbin/ip route del unreachable default table lux &lt;br /&gt;
    # local reachable subnet lux for rt_table saar&lt;br /&gt;
    post-up         /sbin/ip route add 10.24.192.0/18 proto static dev $IFACE table saar&lt;br /&gt;
    post-down       /sbin/ip route del 10.24.192.0/18 proto static dev $IFACE table saar&lt;br /&gt;
&lt;br /&gt;
iface luxBR inet6 static&lt;br /&gt;
    address fd4e:f2d7:88d2:fffe::XXX&lt;br /&gt;
    netmask 64&lt;br /&gt;
    # be sure all incoming traffic is handled by the appropriate rt_table&lt;br /&gt;
    post-up         /sbin/ip -6 rule add iif $IFACE table lux priority 3300&lt;br /&gt;
    pre-down        /sbin/ip -6 rule del iif $IFACE table lux priority 3300&lt;br /&gt;
    post-up         /sbin/ip -6 route add fe80::/64 proto static dev $IFACE table lux &lt;br /&gt;
    post-down       /sbin/ip -6 route del fe80::/64 proto static dev $IFACE table lux &lt;br /&gt;
    post-up         /sbin/ip -6 route add fd4e:f2d7:88d2:fffe::/64 proto static dev $IFACE table lux&lt;br /&gt;
    post-down       /sbin/ip -6 route del fd4e:f2d7:88d2:fffe::/64 proto static dev $IFACE table lux&lt;br /&gt;
    # ULA route saar for rt_table lux&lt;br /&gt;
    post-up         /sbin/ip -6 route add fd4e:f2d7:88d2:ffff::/64 proto static dev $IFACE table saar&lt;br /&gt;
    post-down       /sbin/ip -6 route del fd4e:f2d7:88d2:ffff::/64 proto static dev $IFACE table saar&lt;br /&gt;
&lt;br /&gt;
allow-hotplug luxMESH&lt;br /&gt;
iface luxMESH inet6 manual&lt;br /&gt;
    pre-up          /sbin/modprobe batman_adv&lt;br /&gt;
    post-up         /usr/sbin/batctl -m luxBAT if add $IFACE&lt;br /&gt;
    post-up         /sbin/ip link set dev luxBAT up&lt;br /&gt;
&lt;br /&gt;
allow-hotplug luxBAT&lt;br /&gt;
iface luxBAT inet6 manual&lt;br /&gt;
    pre-up          /sbin/modprobe batman-adv&lt;br /&gt;
    post-up         /sbin/brctl addif luxBR $IFACE&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE it 10000&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE vm server&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE gw server  6mbit/6mbit&lt;br /&gt;
    pre-down        /sbin/brctl delif luxBR $IFACE || true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Jedes Vorkommnis von XXX durch einen entsprechenden Wert aus dem Netzplan ersetzen, im Zweifel TobiT fragen&lt;br /&gt;
&lt;br /&gt;
== Helfer-Skripte ==&lt;br /&gt;
Es gibt 2 Helferskripte, die eingerichtet werden müssen. check_gateway.sh prüft minütlich, ob das ExitVPN noch steht. autoupdate_fastd_peers updatet die fastd-peers alle 5 Minuten per git.&lt;br /&gt;
=== check_gateway.sh ===&lt;br /&gt;
* /usr/bin/check_gateway.sh:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@gw2:/etc/fastd/freifunk-lux# less /usr/bin/check_gateway.sh&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
INTERFACE=tun0          # Set to name of VPN interface&lt;br /&gt;
DHCPSERVICE=dnsmasq     # Name of DHCP service&lt;br /&gt;
BANDWIDTH=XXX           # Server bandwidth&lt;br /&gt;
shopt -s nullglob&lt;br /&gt;
&lt;br /&gt;
# Test whether gateway is connected to the outer world via VPN&lt;br /&gt;
ping -q -I $INTERFACE 8.8.8.8 -c 4 -i 1 -W 5 &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
if test $? -eq 0; then&lt;br /&gt;
    NEW_STATE=server&lt;br /&gt;
else&lt;br /&gt;
    NEW_STATE=off&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Iterate through network interfaces in sys file system&lt;br /&gt;
for MESH in /sys/class/net/*/mesh; do&lt;br /&gt;
# Check whether gateway modus needs to be changed&lt;br /&gt;
OLD_STATE=&amp;quot;$(cat $MESH/gw_mode)&amp;quot;&lt;br /&gt;
[ &amp;quot;$OLD_STATE&amp;quot; == &amp;quot;$NEW_STATE&amp;quot; ] &amp;amp;&amp;amp; continue&lt;br /&gt;
    echo $NEW_STATE &amp;gt; $MESH/gw_mode&lt;br /&gt;
    echo ${BANDWIDTH}MBit/${BANDWIDTH}MBit &amp;gt; $MESH/gw_bandwidth&lt;br /&gt;
    logger &amp;quot;batman gateway mode changed to $NEW_STATE&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    # Check whether gateway modus has been deactivated&lt;br /&gt;
    if [ &amp;quot;$NEW_STATE&amp;quot; == &amp;quot;off&amp;quot; ]; then&lt;br /&gt;
        # Shutdown DHCP server to prevent renewal of leases&lt;br /&gt;
        /usr/sbin/service $DHCPSERVICE stop&lt;br /&gt;
    fi&lt;br /&gt;
&lt;br /&gt;
    # Check whether gateway modus has been activated&lt;br /&gt;
    if [ &amp;quot;$NEW_STATE&amp;quot; == &amp;quot;server&amp;quot; ]; then&lt;br /&gt;
        # Restart DHCP server&lt;br /&gt;
        /usr/sbin/service $DHCPSERVICE start&lt;br /&gt;
    fi&lt;br /&gt;
    exit 0&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
if [ &amp;quot;$NEW_STATE&amp;quot; == &amp;quot;server&amp;quot; ]; then&lt;br /&gt;
    /usr/sbin/service $DHCPSERVICE status 2&amp;gt;&amp;amp;1&amp;gt; /dev/null&lt;br /&gt;
    if [[ $? -ne 0 ]]&lt;br /&gt;
    then&lt;br /&gt;
        /usr/sbin/service $DHCPSERVICE restart&lt;br /&gt;
    fi&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$NEW_STATE&amp;quot; == &amp;quot;off&amp;quot; ]; then&lt;br /&gt;
    /usr/sbin/service $DHCPSERVICE status 2&amp;gt;&amp;amp;1&amp;gt; /dev/null&lt;br /&gt;
    if [[ $? -eq 0 ]]&lt;br /&gt;
    then&lt;br /&gt;
        /usr/sbin/service $DHCPSERVICE stop&lt;br /&gt;
    fi&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Ganz oben bei BANDWIDTH die Serverbandbreite in MBit/s einstellen, damit diese ordentlich via Batman announced werden kann.&lt;br /&gt;
* Speichern und mit &amp;lt;code&amp;gt;chmod +x /usr/bin/check_gateway.sh&amp;lt;/code&amp;gt; ausführbar machen&lt;br /&gt;
=== autoupdate_fastd_keys.sh ===&lt;br /&gt;
* /usr/bin/autoupate_fastd_keys.sh:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# Simple script to update fastd peers from git upstream&lt;br /&gt;
# and only send HUP to fastd when changes happend.&lt;br /&gt;
&lt;br /&gt;
# CONFIGURE THIS TO YOUR PEER DIRECTORY&lt;br /&gt;
FASTD_PEERS_ARRAY=( &amp;quot;freifunk-saar&amp;quot; &amp;quot;freifunk-lux&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
function getCurrentVersion() {&lt;br /&gt;
 # Get hash from latest revision&lt;br /&gt;
 git log --format=format:%H -1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
for FASTD_PEERS in &amp;quot;${FASTD_PEERS_ARRAY[@]}&amp;quot;&lt;br /&gt;
do&lt;br /&gt;
cd /etc/fastd/$FASTD_PEERS/peers&lt;br /&gt;
&lt;br /&gt;
# Get current version hash&lt;br /&gt;
GIT_REVISION=$(getCurrentVersion)&lt;br /&gt;
&lt;br /&gt;
# Automagically commit local changes&lt;br /&gt;
# This preserves local changes&lt;br /&gt;
git commit -m &amp;quot;CRON: auto commit&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Pull latest changes from upstream&lt;br /&gt;
git fetch&lt;br /&gt;
git merge origin/master -m &amp;quot;Auto Merge&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Get new version hash&lt;br /&gt;
GIT_NEW_REVISION=$(getCurrentVersion)&lt;br /&gt;
&lt;br /&gt;
if [ $GIT_REVISION != $GIT_NEW_REVISION ]&lt;br /&gt;
then&lt;br /&gt;
 # Version has changed we need to update&lt;br /&gt;
 echo &amp;quot;Reload fastd peers&amp;quot;&lt;br /&gt;
 kill -HUP $(cat /var/run/fastd.$FASTD_PEERS.pid)&lt;br /&gt;
fi&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Auch dieses Skript ausführbar machen: &amp;lt;code&amp;gt;chmod +x /usr/bin/autoupdate_fastd_keys.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
=== Skripte in crontab eintragen ===&lt;br /&gt;
* In &amp;lt;code&amp;gt;sudo crontab -e&amp;lt;/code&amp;gt; folgende Zeilen anhängen&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*/5 * * * *   /usr/bin/autoupdate_fastd_keys.sh &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
* * * * *   /usr/bin/check_gateway.sh &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Fastd-Config ==&lt;br /&gt;
* &amp;lt;code&amp;gt;mkdir /etc/fastd/freifunk-{saar,lux}/&amp;lt;/code&amp;gt;&lt;br /&gt;
* Config-Dateien anlegen und entsprechenden Inhalt reinkopieren:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
log level warn;&lt;br /&gt;
log to syslog level info;&lt;br /&gt;
&lt;br /&gt;
hide ip addresses yes;&lt;br /&gt;
hide mac addresses yes;&lt;br /&gt;
&lt;br /&gt;
interface &amp;quot;xxxxMESH&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
method &amp;quot;salsa2012+umac&amp;quot;;    # new method (faster)&lt;br /&gt;
method &amp;quot;salsa2012+gmac&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
bind any:10000 interface &amp;quot;eth0&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
include &amp;quot;secret.conf&amp;quot;;&lt;br /&gt;
mtu 1426; # 1492 - IPv4/IPv6 Header - fastd Header...&lt;br /&gt;
&lt;br /&gt;
include peers from &amp;quot;peers&amp;quot;;&lt;br /&gt;
include peers from &amp;quot;peers-gw&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
secure handshakes yes;&lt;br /&gt;
&lt;br /&gt;
on up &amp;quot;&lt;br /&gt;
ip link set dev xxxxMESH address ca:fe:ba:be:00:0X&lt;br /&gt;
ip link set dev xxxxMESH up&lt;br /&gt;
&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Secret Keys aus den Repos besorgen und in secret.conf schreiben&lt;br /&gt;
* Neuen SSH-Key anlegen, als Deploy Key in die Gitlab-Projekte https://git.hacksaar.de/FreifunkSaar/mesh-vpn-peers und https://git.hacksaar.de/FreifunkSaar/mesh-vpn-peers-lux eintragen.&lt;br /&gt;
* Mesh-VPN-Peers-Verzeichnis als &amp;quot;peers&amp;quot; klonen: &amp;lt;code&amp;gt;git clone git@hacksaar.de:FreifunkSaar/mesh-vpn-peers.git peers&amp;lt;/code&amp;gt; bzw &amp;lt;code&amp;gt;git clone git@hacksaar.de:FreifunkSaar/mesh-vpn-peers-lux.git peers&amp;lt;/code&amp;gt; jeweils im entsprechende Verzeichnis&lt;br /&gt;
* Feuer!: &amp;lt;code&amp;gt;sudo service fastd start&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DNS, DHCP und RA-Server dnsmasq ==&lt;br /&gt;
* Installieren: &amp;lt;code&amp;gt;apt-get install dnsmasq&amp;lt;/code&amp;gt;&lt;br /&gt;
* /etc/dnsmasq.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bogus-priv&lt;br /&gt;
no-resolv&lt;br /&gt;
no-poll&lt;br /&gt;
log-facility=/dev/null&lt;br /&gt;
&lt;br /&gt;
server=8.8.8.8&lt;br /&gt;
server=8.8.4.4&lt;br /&gt;
&lt;br /&gt;
read-ethers&lt;br /&gt;
expand-hosts&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* /etc/dnsmasq.d/ffsaar&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local=/ffsaar/&lt;br /&gt;
interface=saarBR&lt;br /&gt;
domain=ffsaar&lt;br /&gt;
&lt;br /&gt;
dhcp-range=10.24.XXX.1,10.24.XXX.254,180&lt;br /&gt;
dhcp-range=fd4e:f2d7:88d2:ffff::,64,180,ra-names&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* /etc/dnsmasq.d/fflux&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local=/fflux/&lt;br /&gt;
interface=luxBR&lt;br /&gt;
domain=fflux&lt;br /&gt;
&lt;br /&gt;
dhcp-range=10.24.XXX.1,10.24.XXX.254,180&lt;br /&gt;
dhcp-range=fd4e:f2d7:88d2:fffe::,64,180,ra-names&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* /etc/hosts&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Freifunk Sachen&lt;br /&gt;
10.24.192.2                     static.services.ffsaar ntp.services.ffsaar&lt;br /&gt;
fd4e:f2d7:88d2:ffff::2          static.services.ffsaar ntp.services.ffsaar&lt;br /&gt;
&lt;br /&gt;
10.24.192.1                     router.ffsaar node.ffsaar local.ffsaar knoten.ffsaar my.ffsaar&lt;br /&gt;
fd4e:f2d7:88d2:ffff::1          router.ffsaar node.ffsaar local.ffsaar knoten.ffsaar my.ffsaar&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== isc-dhcp-server (in Zukunft mal umzustellen) ===&lt;br /&gt;
* /etc/dhcp/dhcpd.conf: (Komplett ersetzen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ddns-update-style none;&lt;br /&gt;
default-lease-time 300;&lt;br /&gt;
max-lease-time 300;&lt;br /&gt;
authoritative;&lt;br /&gt;
&lt;br /&gt;
log-facility local6;&lt;br /&gt;
&lt;br /&gt;
subnet 10.24.192.0 netmask 255.255.192.0 {&lt;br /&gt;
        range 10.24.XXX.0 10.24.XXX+3.255;&lt;br /&gt;
        option routers 10.24.192.ZZZ;&lt;br /&gt;
        option domain-name-servers 10.24.192.2, 10.24.192.3, 10.24.192.4;&lt;br /&gt;
        option domain-search &amp;quot;ffsaar&amp;quot;;&lt;br /&gt;
        option ntp-servers 10.24.192.2, 10.24.192.3, 10.24.192.4;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
subnet 10.24.128.0 netmask 255.255.192.0 {&lt;br /&gt;
        range 10.24.YYY.0 10.24.YYY+3.255;&lt;br /&gt;
        option routers 10.24.128.ZZZ;&lt;br /&gt;
        option domain-name-servers 10.24.128.2, 10.24.128.3, 10.24.128.4;&lt;br /&gt;
        option domain-search &amp;quot;fflux&amp;quot;;&lt;br /&gt;
        option ntp-servers 10.24.128.2, 10.24.128.3, 10.24.128.4;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* XXX, XXX+3, YYY, YYY+3, ZZZ durch richtige Werte ersetzen&lt;br /&gt;
* /etc/default/isc-dhcp-server (Zeile INTERFACES ersetzen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
INTERFACES=&amp;quot;saarBR luxBR&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Neu starten: &amp;lt;code&amp;gt;service isc-dhcp-server restart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== IPTables ==&lt;br /&gt;
&lt;br /&gt;
* installieren: &amp;lt;code&amp;gt;apt-get install iptables-persistent&amp;lt;/code&amp;gt;&lt;br /&gt;
* /etc/iptables/rules.v4 UND /etc/iptables/rules.v6&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*mangle&lt;br /&gt;
:PREROUTING ACCEPT [0:0]&lt;br /&gt;
:INPUT ACCEPT [0:0]&lt;br /&gt;
:FORWARD ACCEPT [0:0]&lt;br /&gt;
:OUTPUT ACCEPT [0:0]&lt;br /&gt;
:POSTROUTING ACCEPT [0:0]&lt;br /&gt;
COMMIT&lt;br /&gt;
&lt;br /&gt;
*nat&lt;br /&gt;
:PREROUTING ACCEPT [0:0]&lt;br /&gt;
:INPUT ACCEPT [0:0]&lt;br /&gt;
:OUTPUT ACCEPT [0:0]&lt;br /&gt;
:POSTROUTING ACCEPT [0:0]&lt;br /&gt;
-A POSTROUTING -o tun0 -j MASQUERADE&lt;br /&gt;
COMMIT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Exit-VPN ==&lt;br /&gt;
abhängig von der Config einzurichten&lt;br /&gt;
== Knoteninformationen (Alfred...) ==&lt;br /&gt;
&#039;&#039;&#039;Dieser Punkt befindet sich aktuell in der Erstellung und wird später noch auf die anderen Kapitel aufgeteilt --[[Benutzer:Rugosh|Rugosh]] ([[Benutzer Diskussion:Rugosh|Diskussion]]) 16:38, 22. Feb. 2015 (CET)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Alfred wird auf den Gateways benötigt um die Knoteninformationen zu sammeln und aus diesen Informationen eine Knotendatei unter anderem für die Freifunkkarte bauen zu können.&lt;br /&gt;
Der Server, auf welchem die Knotendatei generiert wird ist hier logisch gesehen der Master die anderen Systeme sind als Slave zu konfigurieren.&lt;br /&gt;
&lt;br /&gt;
Da wir auf unseren Gateways sowohl Saar las auch Lux Freifunk betreiben benötigen wir auch eine Doppelkonfiguration der Knotenerstellung. Dies betrifft sowohl Alfred als auch den Punkt, dass der Master für mehrere Communities Kartendaten erstellen können muss.&lt;br /&gt;
&lt;br /&gt;
=== Slave Konfiguration ===&lt;br /&gt;
Benötigte Komponenten:&lt;br /&gt;
* Alfred&lt;br /&gt;
* Batman&lt;br /&gt;
&lt;br /&gt;
==== Alfred Konfiguration ====&lt;br /&gt;
Wir benötigen zuerst einmal zwei Alfred daemons:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo service alfred stop&lt;br /&gt;
sudo cp /etc/default/alfred /etc/default/alfred-saar&lt;br /&gt;
sudo cp /etc/default/alfred /etc/default/alfred-lux&lt;br /&gt;
sudo cp /etc/init.d/alfred /etc/init.d/alfred-saar&lt;br /&gt;
sudo cp /etc/init.d/alfred /etc/init.d/alfred-lux&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Alfred muss auf auf dem Slave lediglich auf den MASTER=0 gesetzt werden und das Interface, sowie Batman muss angegeben sein. Die Konfiguration findet in der Konfigurationsdatei &amp;lt;code&amp;gt;/etc/default/alfred-XXX&amp;lt;/code&amp;gt; wie folgt statt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# /etc/default/alfred-saar&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
# Additional command line options&lt;br /&gt;
DAEMON_OPTS=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Enable master mode (0/1)&lt;br /&gt;
MASTER=0&lt;br /&gt;
&lt;br /&gt;
# Interface for A.L.F.R.E.D. to listen on. Has to be specified.&lt;br /&gt;
INTERFACE=br-ff&lt;br /&gt;
&lt;br /&gt;
# Specify the batman-adv interface configured on the system (default: bat0).&lt;br /&gt;
# Use &#039;none&#039; to disable the batman-adv based best server selection.&lt;br /&gt;
BATMANIF=saarBAT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# /etc/default/alfred-lux&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
# Additional command line options&lt;br /&gt;
DAEMON_OPTS=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Enable master mode (0/1)&lt;br /&gt;
MASTER=0&lt;br /&gt;
&lt;br /&gt;
# Interface for A.L.F.R.E.D. to listen on. Has to be specified.&lt;br /&gt;
INTERFACE=luxBR&lt;br /&gt;
&lt;br /&gt;
# Specify the batman-adv interface configured on the system (default: bat0).&lt;br /&gt;
# Use &#039;none&#039; to disable the batman-adv based best server selection.&lt;br /&gt;
BATMANIF=luxBAT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Anpassen der init.d Dateien für die Alfreds...&lt;br /&gt;
&#039;&#039;&#039;Nachfolgende Configs erzeugen noch keinen eigenständigen Alfed Socket...&#039;&#039;&#039; Leider muss damit die Alfreds eigene Sockets haben anscheinend alfred selbst mit anderen werten kompaliert werden https://github.com/tcatm/alfred/blob/master/alfred.h oder hier muss eine andere (bessere) Lösung gefunden werden. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Ausschnitt der anzupassenden Datei /etc/init.d/alfred-saar&lt;br /&gt;
&lt;br /&gt;
DESC=&amp;quot;A.L.F.R.E.D -&amp;gt; Saar&amp;quot;&lt;br /&gt;
NAME=alfred&lt;br /&gt;
NAME2=alfred-saar&lt;br /&gt;
DAEMON=/usr/sbin/$NAME&lt;br /&gt;
PIDFILE=/var/run/$NAME2.pid&lt;br /&gt;
SCRIPTNAME=/etc/init.d/$NAME2&lt;br /&gt;
GROUP=alfred &lt;br /&gt;
OPTIONS=&amp;quot;&amp;quot;&lt;br /&gt;
UMASK=0117&lt;br /&gt;
&lt;br /&gt;
[ -x &amp;quot;$DAEMON&amp;quot; ] || exit 0&lt;br /&gt;
&lt;br /&gt;
# Source defaults.&lt;br /&gt;
[ -r /etc/default/$NAME2 ] &amp;amp;&amp;amp; . /etc/default/$NAME2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Ausschnitt der anzupassenden Datei /etc/init.d/alfred-lux&lt;br /&gt;
&lt;br /&gt;
DESC=&amp;quot;A.L.F.R.E.D -&amp;gt; Lux&amp;quot;&lt;br /&gt;
NAME=alfred-lux&lt;br /&gt;
DAEMON=/usr/sbin/$NAME&lt;br /&gt;
PIDFILE=/var/run/$NAME2.pid&lt;br /&gt;
SCRIPTNAME=/etc/init.d/$NAME2&lt;br /&gt;
GROUP=alfred&lt;br /&gt;
OPTIONS=&amp;quot;&amp;quot;&lt;br /&gt;
UMASK=0117&lt;br /&gt;
&lt;br /&gt;
[ -x &amp;quot;$DAEMON&amp;quot; ] || exit 0&lt;br /&gt;
&lt;br /&gt;
# Source defaults.&lt;br /&gt;
[ -r /etc/default/$NAME2 ] &amp;amp;&amp;amp; . /etc/default/$NAME2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Starten der neuen Alfreds&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo service alfred-saar start&lt;br /&gt;
sudo service alfred-lux start&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Nun testen ob alles wie gewünscht funktioniert und erst nach einem erfolgreichen Test die nun nicht mehr benötigten Daten löschen.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rm /etc/default/alfred&lt;br /&gt;
sudo rm /etc/init.d/alfred.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== batadv-vis ====&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=== Master Konfiguration ===&lt;br /&gt;
Benötigte Komponenten:&lt;br /&gt;
* Alfred&lt;br /&gt;
* Alfred-JSON&lt;br /&gt;
* Batman&lt;br /&gt;
&lt;br /&gt;
==== Alfred Konfiguration ====&lt;br /&gt;
Alfred muss auf auf dem Slave lediglich auf den MASTER=1 gesetzt werden und das Interface, sowie Batman muss angegeben sein. Für Details siehe [[#Alfred_Konfiguration | Slave Konfiguration -&amp;gt; Alfred Konfigurieren ]]&lt;br /&gt;
&#039;&#039;&#039;Achtung: Da auf dem Master aktuell nur ein Batman device läuft, ist hier aktuell kein alfred-lux gestartet, aber vorkonfiguriert&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Knotendateigenerierung ====&lt;br /&gt;
* Benötigt auch alias config&lt;br /&gt;
* bat2nodes für Kartengenerierung mit mkmap Skript. Checkout newest Version from https://github.com/freifunk-saar/ffmap-backend -&amp;gt; done.&lt;br /&gt;
* Cron Eintrag vom mkmap Skript&lt;br /&gt;
&lt;br /&gt;
==== Alias Konfiguration ====&lt;br /&gt;
Da wir uns für die manuelle Konfiguration des Announcement der Gateway Informationen entschieden haben ist eine Anpassung der Alias Datei für jede neue Gateway erforderlich.&lt;br /&gt;
Die Dateien &amp;lt;code&amp;gt;aliases_saar.json&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;aliases_lux.json&amp;lt;/code&amp;gt; befindet sich im bat2nodes Verzeichnis und beinhaltet für jede Gateway einen Alias Eintrag.&lt;br /&gt;
&lt;br /&gt;
Beipiel:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
   &amp;quot;&amp;lt;KENNUNG&amp;gt;1&amp;quot; : {&lt;br /&gt;
      &amp;quot;name&amp;quot; : &amp;quot;gw1.saar.freifunk.net&amp;quot;,&lt;br /&gt;
      &amp;quot;vpn&amp;quot; : true&lt;br /&gt;
   },&lt;br /&gt;
   &amp;quot;&amp;lt;KENNUNG&amp;gt;2&amp;quot; : {&lt;br /&gt;
      &amp;quot;name&amp;quot; : &amp;quot;gw2.saar.freifunk.net&amp;quot;,&lt;br /&gt;
      &amp;quot;vpn&amp;quot; : true&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== batadv-vis ====&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=== alfed-json ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== To be continued... ==&lt;br /&gt;
* DNSmasq statt radvd, bind, isc-dhcp-server&lt;/div&gt;</summary>
		<author><name>Tobi042</name></author>
	</entry>
	<entry>
		<id>https://wiki.hacksaar.de/index.php?title=Freifunk:Mesh-VPN_Gateway-Server_einrichten&amp;diff=1947</id>
		<title>Freifunk:Mesh-VPN Gateway-Server einrichten</title>
		<link rel="alternate" type="text/html" href="https://wiki.hacksaar.de/index.php?title=Freifunk:Mesh-VPN_Gateway-Server_einrichten&amp;diff=1947"/>
		<updated>2015-04-19T09:41:51Z</updated>

		<summary type="html">&lt;p&gt;Tobi042: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Unsere Gateways laufen auf Debian 7 Wheezy. Diese Anleitungen orientieren sich an anderen Freifunk-Communities, aber einen sehr nennenswerten Einfluss hat die geniale Dokumentation von Freifunk Mainz, Wiesbaden und Umgebung (http://gluon-gateway-doku.readthedocs.org/de/latest/) gehabt.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
Größtenteils egal, wichtig ist folgendes: Root bekommt kein Passwort, dadurch wird der Root-Login gesperrt und man muss sudo benutzen. Als zu installierende Paketgruppen nutzen wir Debian-Standardutilities und SSH-Server.&lt;br /&gt;
&lt;br /&gt;
== SSH einrichten ==&lt;br /&gt;
&lt;br /&gt;
* Einloggen: &lt;br /&gt;
*: &amp;lt;code&amp;gt;ssh user@gwX.saar.freifunk.de&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;mkdir .ssh&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;echo &amp;quot;dein_ssh_key&amp;quot; &amp;gt; .ssh/authorized_keys&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;nano /etc/ssh/sshd_config&amp;lt;/code&amp;gt;&lt;br /&gt;
*: Folgende Änderungen vornehmen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;...&lt;br /&gt;
PermitRootLogin no&lt;br /&gt;
...&lt;br /&gt;
PasswordAuthentication no&lt;br /&gt;
...&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Alte Session aktiv lassen, in neuem Terminal versuchen mit Public Key einzuloggen. Wenn nicht erfolgreich debuggen.&lt;br /&gt;
* &amp;lt;code&amp;gt;sudo service ssh restart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Überflüssige Pakete deinstallieren ==&lt;br /&gt;
&lt;br /&gt;
Da wir eben etwas großzügig waren mit der Installation von Paketgruppen müssen wir jetzt exim und nfs-Kram deinstallieren:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;sudo apt-get remove exim4* nfs-common rpcbind&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Als Resultat sollte bei Ausführung von &amp;quot;sudo netstat -tulpn&amp;quot; keine Programme außer sshd und vielleicht dhclient angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
== Kimsufi / OVH Extras ==&lt;br /&gt;
&lt;br /&gt;
== APT Sources hinzufügen ==&lt;br /&gt;
&lt;br /&gt;
Wir benötigen die Sources für fastd und batman-adv:&lt;br /&gt;
&lt;br /&gt;
* Mit &amp;lt;code&amp;gt;nano /etc/apt/sources.list&amp;lt;/code&amp;gt; folgendes hinzufügen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 deb http://security.debian.org/ wheezy/updates main contrib non-free&lt;br /&gt;
 deb-src http://security.debian.org/ wheezy/updates main contrib non-free&lt;br /&gt;
  &lt;br /&gt;
 # fastd&lt;br /&gt;
 deb http://ftp.de.debian.org/debian wheezy-backports main&lt;br /&gt;
 deb http://repo.universe-factory.net/debian/ sid main&lt;br /&gt;
&lt;br /&gt;
 # alfred&lt;br /&gt;
 deb http://debian.draic.info/ wheezy main&lt;br /&gt;
 deb-src http://debian.draic.info/ wheezy main&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Schlüssel für repo importieren: &lt;br /&gt;
* &amp;lt;code&amp;gt;gpg --keyserver pgpkeys.mit.edu --recv-key  B89033D8&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;gpg -a --export B89033D8 | apt-key add -&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;gpg --keyserver pgpkeys.mit.edu --recv-key  16EF3F64CB201D9C&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;gpg -a --export 16EF3F64CB201D9C | apt-key add -&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pakete installieren ==&lt;br /&gt;
* &amp;lt;code&amp;gt;apt-get update&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;apt-get install batctl batman-adv-dkms fastd bridge-utils ntp&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;echo &amp;quot;batman-adv&amp;quot; &amp;gt;&amp;gt; /etc/modules&amp;lt;/code&amp;gt;&lt;br /&gt;
* Zu beachten: Alle Pakete werden im folgenden eingerichtet. NTPs Standard-Config ist in Ordnung.&lt;br /&gt;
&lt;br /&gt;
== Netzwerk Grundkonfiguration ==&lt;br /&gt;
=== Sysctl Einstellungen ===&lt;br /&gt;
* /etc/sysctl.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Freifunk specific settings&lt;br /&gt;
net.ipv4.ip_forward=1&lt;br /&gt;
&lt;br /&gt;
net.bridge.bridge-nf-call-arptables = 0&lt;br /&gt;
net.bridge.bridge-nf-call-ip6tables = 0&lt;br /&gt;
net.bridge.bridge-nf-call-iptables = 0&lt;br /&gt;
&lt;br /&gt;
net.ipv6.conf.all.forwarding=1&lt;br /&gt;
&lt;br /&gt;
net.ipv6.conf.all.autoconf = 0&lt;br /&gt;
net.ipv6.conf.default.autoconf = 0&lt;br /&gt;
net.ipv6.conf.eth0.autoconf = 0&lt;br /&gt;
&lt;br /&gt;
net.ipv6.conf.all.accept_ra = 0&lt;br /&gt;
net.ipv6.conf.default.accept_ra = 0&lt;br /&gt;
net.ipv6.conf.eth0.accept_ra = 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Danach neu laden: &amp;lt;code&amp;gt;sysctl -p /etc/sysctl.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Routing Tables erstellen ===&lt;br /&gt;
* /etc/iproute2/rt_tables (bisherige Einstellungen beibehalten und folgende hinzufügen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# freifunk&lt;br /&gt;
32      saar&lt;br /&gt;
33      lux&lt;br /&gt;
42      icvpn&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Netzwerkinterafaces einstellen ===&lt;br /&gt;
* /etc/network/interfaces (andere Interfaces nach der entsprechenden Konfiguration belassen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# FREIFUNK SAAR&lt;br /&gt;
#&lt;br /&gt;
auto saarBR&lt;br /&gt;
iface saarBR inet static&lt;br /&gt;
    bridge_ports none&lt;br /&gt;
    bridge_fd 0&lt;br /&gt;
    bridge_maxwait 0&lt;br /&gt;
    address 10.24.192.XXX&lt;br /&gt;
    netmask 255.255.192.0&lt;br /&gt;
    # be sure all incoming traffic is handled by the appropriate rt_table&lt;br /&gt;
    post-up         /sbin/ip rule add iif $IFACE table saar priority 3200&lt;br /&gt;
    pre-down        /sbin/ip rule del iif $IFACE table saar priority 3200&lt;br /&gt;
    # default route is unreachable&lt;br /&gt;
    post-up         /sbin/ip route add unreachable default table saar&lt;br /&gt;
    post-down       /sbin/ip route del unreachable default table saar&lt;br /&gt;
    # local reachable subnet saar for rt_table lux&lt;br /&gt;
    post-up         /sbin/ip route add 10.24.128.0/18 proto static dev $IFACE table lux&lt;br /&gt;
    post-down       /sbin/ip route del 10.24.128.0/18 proto static dev $IFACE table lux&lt;br /&gt;
&lt;br /&gt;
iface saarBR inet6 static&lt;br /&gt;
    address fd4e:f2d7:88d2:ffff::XXX&lt;br /&gt;
    netmask 64&lt;br /&gt;
    # be sure all incoming traffic is handled by the appropriate rt_table&lt;br /&gt;
    post-up         /sbin/ip -6 rule add iif $IFACE table saar priority 3200&lt;br /&gt;
    pre-down        /sbin/ip -6 rule del iif $IFACE table saar priority 3200&lt;br /&gt;
    post-up         /sbin/ip -6 route add fe80::/64 proto static dev $IFACE table saar&lt;br /&gt;
    post-down       /sbin/ip -6 route del fe80::/64 proto static dev $IFACE table saar&lt;br /&gt;
    post-up         /sbin/ip -6 route add fd4e:f2d7:88d2:ffff::/64 proto static dev $IFACE table saar&lt;br /&gt;
    post-down       /sbin/ip -6 route del fd4e:f2d7:88d2:ffff::/64 proto static dev $IFACE table saar&lt;br /&gt;
    # ULA route mz for rt_table saar&lt;br /&gt;
    post-up         /sbin/ip -6 route add fd4e:f2d7:88d2:fffe::/64 proto static dev $IFACE table lux&lt;br /&gt;
    post-down       /sbin/ip -6 route del fd4e:f2d7:88d2:fffe::/64 proto static dev $IFACE table lux&lt;br /&gt;
&lt;br /&gt;
allow-hotplug saarMESH&lt;br /&gt;
iface saarMESH inet6 manual&lt;br /&gt;
    pre-up          /sbin/modprobe batman_adv&lt;br /&gt;
    post-up         /usr/sbin/batctl -m saarBAT if add $IFACE&lt;br /&gt;
    post-up         /sbin/ip link set dev saarBAT up&lt;br /&gt;
&lt;br /&gt;
allow-hotplug saarBAT&lt;br /&gt;
iface saarBAT inet6 manual&lt;br /&gt;
    pre-up          /sbin/modprobe batman-adv&lt;br /&gt;
    post-up         /sbin/brctl addif saarBR $IFACE&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE it 10000&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE vm server&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE gw server  6mbit/6mbit&lt;br /&gt;
    pre-down        /sbin/brctl delif saarBR $IFACE || true&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# FREIFUNK LUX &lt;br /&gt;
#&lt;br /&gt;
auto luxBR&lt;br /&gt;
iface luxBR inet static&lt;br /&gt;
    bridge_ports none&lt;br /&gt;
    bridge_fd 0&lt;br /&gt;
    bridge_maxwait 0&lt;br /&gt;
    address 10.24.128.XXX&lt;br /&gt;
    netmask 255.255.192.0&lt;br /&gt;
    # be sure all incoming traffic is handled by the appropriate rt_table&lt;br /&gt;
    post-up         /sbin/ip rule add iif $IFACE table lux priority 3300&lt;br /&gt;
    pre-down        /sbin/ip rule del iif $IFACE table lux priority 3300&lt;br /&gt;
    # default route is unreachable&lt;br /&gt;
    post-up         /sbin/ip route add unreachable default table lux &lt;br /&gt;
    post-down       /sbin/ip route del unreachable default table lux &lt;br /&gt;
    # local reachable subnet lux for rt_table saar&lt;br /&gt;
    post-up         /sbin/ip route add 10.24.192.0/18 proto static dev $IFACE table saar&lt;br /&gt;
    post-down       /sbin/ip route del 10.24.192.0/18 proto static dev $IFACE table saar&lt;br /&gt;
&lt;br /&gt;
iface luxBR inet6 static&lt;br /&gt;
    address fd4e:f2d7:88d2:fffe::XXX&lt;br /&gt;
    netmask 64&lt;br /&gt;
    # be sure all incoming traffic is handled by the appropriate rt_table&lt;br /&gt;
    post-up         /sbin/ip -6 rule add iif $IFACE table lux priority 3300&lt;br /&gt;
    pre-down        /sbin/ip -6 rule del iif $IFACE table lux priority 3300&lt;br /&gt;
    post-up         /sbin/ip -6 route add fe80::/64 proto static dev $IFACE table lux &lt;br /&gt;
    post-down       /sbin/ip -6 route del fe80::/64 proto static dev $IFACE table lux &lt;br /&gt;
    post-up         /sbin/ip -6 route add fd4e:f2d7:88d2:fffe::/64 proto static dev $IFACE table lux&lt;br /&gt;
    post-down       /sbin/ip -6 route del fd4e:f2d7:88d2:fffe::/64 proto static dev $IFACE table lux&lt;br /&gt;
    # ULA route saar for rt_table lux&lt;br /&gt;
    post-up         /sbin/ip -6 route add fd4e:f2d7:88d2:ffff::/64 proto static dev $IFACE table saar&lt;br /&gt;
    post-down       /sbin/ip -6 route del fd4e:f2d7:88d2:ffff::/64 proto static dev $IFACE table saar&lt;br /&gt;
&lt;br /&gt;
allow-hotplug luxMESH&lt;br /&gt;
iface luxMESH inet6 manual&lt;br /&gt;
    pre-up          /sbin/modprobe batman_adv&lt;br /&gt;
    post-up         /usr/sbin/batctl -m luxBAT if add $IFACE&lt;br /&gt;
    post-up         /sbin/ip link set dev luxBAT up&lt;br /&gt;
&lt;br /&gt;
allow-hotplug luxBAT&lt;br /&gt;
iface luxBAT inet6 manual&lt;br /&gt;
    pre-up          /sbin/modprobe batman-adv&lt;br /&gt;
    post-up         /sbin/brctl addif luxBR $IFACE&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE it 10000&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE vm server&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE gw server  6mbit/6mbit&lt;br /&gt;
    pre-down        /sbin/brctl delif luxBR $IFACE || true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Jedes Vorkommnis von XXX durch einen entsprechenden Wert aus dem Netzplan ersetzen, im Zweifel TobiT fragen&lt;br /&gt;
&lt;br /&gt;
== Helfer-Skripte ==&lt;br /&gt;
Es gibt 2 Helferskripte, die eingerichtet werden müssen. check_gateway.sh prüft minütlich, ob das ExitVPN noch steht. autoupdate_fastd_peers updatet die fastd-peers alle 5 Minuten per git.&lt;br /&gt;
=== check_gateway.sh ===&lt;br /&gt;
* /usr/bin/check_gateway.sh:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@gw2:/etc/fastd/freifunk-lux# less /usr/bin/check_gateway.sh&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
INTERFACE=tun0          # Set to name of VPN interface&lt;br /&gt;
DHCPSERVICE=dnsmasq     # Name of DHCP service&lt;br /&gt;
BANDWIDTH=XXX           # Server bandwidth&lt;br /&gt;
shopt -s nullglob&lt;br /&gt;
&lt;br /&gt;
# Test whether gateway is connected to the outer world via VPN&lt;br /&gt;
ping -q -I $INTERFACE 8.8.8.8 -c 4 -i 1 -W 5 &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
if test $? -eq 0; then&lt;br /&gt;
    NEW_STATE=server&lt;br /&gt;
else&lt;br /&gt;
    NEW_STATE=off&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Iterate through network interfaces in sys file system&lt;br /&gt;
for MESH in /sys/class/net/*/mesh; do&lt;br /&gt;
# Check whether gateway modus needs to be changed&lt;br /&gt;
OLD_STATE=&amp;quot;$(cat $MESH/gw_mode)&amp;quot;&lt;br /&gt;
[ &amp;quot;$OLD_STATE&amp;quot; == &amp;quot;$NEW_STATE&amp;quot; ] &amp;amp;&amp;amp; continue&lt;br /&gt;
    echo $NEW_STATE &amp;gt; $MESH/gw_mode&lt;br /&gt;
    echo ${BANDWIDTH}MBit/${BANDWIDTH}MBit &amp;gt; $MESH/gw_bandwidth&lt;br /&gt;
    logger &amp;quot;batman gateway mode changed to $NEW_STATE&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    # Check whether gateway modus has been deactivated&lt;br /&gt;
    if [ &amp;quot;$NEW_STATE&amp;quot; == &amp;quot;off&amp;quot; ]; then&lt;br /&gt;
        # Shutdown DHCP server to prevent renewal of leases&lt;br /&gt;
        /usr/sbin/service $DHCPSERVICE stop&lt;br /&gt;
    fi&lt;br /&gt;
&lt;br /&gt;
    # Check whether gateway modus has been activated&lt;br /&gt;
    if [ &amp;quot;$NEW_STATE&amp;quot; == &amp;quot;server&amp;quot; ]; then&lt;br /&gt;
        # Restart DHCP server&lt;br /&gt;
        /usr/sbin/service $DHCPSERVICE start&lt;br /&gt;
    fi&lt;br /&gt;
    exit 0&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
if [ &amp;quot;$NEW_STATE&amp;quot; == &amp;quot;server&amp;quot; ]; then&lt;br /&gt;
    /usr/sbin/service $DHCPSERVICE status 2&amp;gt;&amp;amp;1&amp;gt; /dev/null&lt;br /&gt;
    if [[ $? -ne 0 ]]&lt;br /&gt;
    then&lt;br /&gt;
        /usr/sbin/service $DHCPSERVICE restart&lt;br /&gt;
    fi&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$NEW_STATE&amp;quot; == &amp;quot;off&amp;quot; ]; then&lt;br /&gt;
    /usr/sbin/service $DHCPSERVICE status 2&amp;gt;&amp;amp;1&amp;gt; /dev/null&lt;br /&gt;
    if [[ $? -eq 0 ]]&lt;br /&gt;
    then&lt;br /&gt;
        /usr/sbin/service $DHCPSERVICE stop&lt;br /&gt;
    fi&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Ganz oben bei BANDWIDTH die Serverbandbreite in MBit/s einstellen, damit diese ordentlich via Batman announced werden kann.&lt;br /&gt;
* Speichern und mit &amp;lt;code&amp;gt;chmod +x /usr/bin/check_gateway.sh&amp;lt;/code&amp;gt; ausführbar machen&lt;br /&gt;
=== autoupdate_fastd_keys.sh ===&lt;br /&gt;
* /usr/bin/autoupate_fastd_keys.sh:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# Simple script to update fastd peers from git upstream&lt;br /&gt;
# and only send HUP to fastd when changes happend.&lt;br /&gt;
&lt;br /&gt;
# CONFIGURE THIS TO YOUR PEER DIRECTORY&lt;br /&gt;
FASTD_PEERS_ARRAY=( &amp;quot;freifunk-saar&amp;quot; &amp;quot;freifunk-lux&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
function getCurrentVersion() {&lt;br /&gt;
 # Get hash from latest revision&lt;br /&gt;
 git log --format=format:%H -1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
for FASTD_PEERS in &amp;quot;${FASTD_PEERS_ARRAY[@]}&amp;quot;&lt;br /&gt;
do&lt;br /&gt;
cd /etc/fastd/$FASTD_PEERS/peers&lt;br /&gt;
&lt;br /&gt;
# Get current version hash&lt;br /&gt;
GIT_REVISION=$(getCurrentVersion)&lt;br /&gt;
&lt;br /&gt;
# Automagically commit local changes&lt;br /&gt;
# This preserves local changes&lt;br /&gt;
git commit -m &amp;quot;CRON: auto commit&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Pull latest changes from upstream&lt;br /&gt;
git fetch&lt;br /&gt;
git merge origin/master -m &amp;quot;Auto Merge&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Get new version hash&lt;br /&gt;
GIT_NEW_REVISION=$(getCurrentVersion)&lt;br /&gt;
&lt;br /&gt;
if [ $GIT_REVISION != $GIT_NEW_REVISION ]&lt;br /&gt;
then&lt;br /&gt;
 # Version has changed we need to update&lt;br /&gt;
 echo &amp;quot;Reload fastd peers&amp;quot;&lt;br /&gt;
 kill -HUP $(cat /var/run/fastd.$FASTD_PEERS.pid)&lt;br /&gt;
fi&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Auch dieses Skript ausführbar machen: &amp;lt;code&amp;gt;chmod +x /usr/bin/autoupdate_fastd_keys.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
=== Skripte in crontab eintragen ===&lt;br /&gt;
* In &amp;lt;code&amp;gt;sudo crontab -e&amp;lt;/code&amp;gt; folgende Zeilen anhängen&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*/5 * * * *   /usr/bin/autoupdate_fastd_keys.sh &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
* * * * *   /usr/bin/check_gateway.sh &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Fastd-Config ==&lt;br /&gt;
* &amp;lt;code&amp;gt;mkdir /etc/fastd/freifunk-{saar,lux}/&amp;lt;/code&amp;gt;&lt;br /&gt;
* Config-Dateien anlegen und entsprechenden Inhalt reinkopieren:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
log level warn;&lt;br /&gt;
log to syslog level info;&lt;br /&gt;
&lt;br /&gt;
hide ip addresses yes;&lt;br /&gt;
hide mac addresses yes;&lt;br /&gt;
&lt;br /&gt;
interface &amp;quot;xxxxMESH&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
method &amp;quot;salsa2012+umac&amp;quot;;    # new method (faster)&lt;br /&gt;
method &amp;quot;salsa2012+gmac&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
bind any:10000 interface &amp;quot;eth0&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
include &amp;quot;secret.conf&amp;quot;;&lt;br /&gt;
mtu 1426; # 1492 - IPv4/IPv6 Header - fastd Header...&lt;br /&gt;
&lt;br /&gt;
include peers from &amp;quot;peers&amp;quot;;&lt;br /&gt;
include peers from &amp;quot;peers-gw&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
secure handshakes yes;&lt;br /&gt;
&lt;br /&gt;
on up &amp;quot;&lt;br /&gt;
ip link set dev xxxxMESH address ca:fe:ba:be:00:0X&lt;br /&gt;
ip link set dev xxxxMESH up&lt;br /&gt;
&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Secret Keys aus den Repos besorgen und in secret.conf schreiben&lt;br /&gt;
* Neuen SSH-Key anlegen, als Deploy Key in die Gitlab-Projekte https://git.hacksaar.de/FreifunkSaar/mesh-vpn-peers und https://git.hacksaar.de/FreifunkSaar/mesh-vpn-peers-lux eintragen.&lt;br /&gt;
* Mesh-VPN-Peers-Verzeichnis als &amp;quot;peers&amp;quot; klonen: &amp;lt;code&amp;gt;git clone git@hacksaar.de:FreifunkSaar/mesh-vpn-peers.git peers&amp;lt;/code&amp;gt; bzw &amp;lt;code&amp;gt;git clone git@hacksaar.de:FreifunkSaar/mesh-vpn-peers-lux.git peers&amp;lt;/code&amp;gt; jeweils im entsprechende Verzeichnis&lt;br /&gt;
* Feuer!: &amp;lt;code&amp;gt;sudo service fastd start&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DNS, DHCP und RA-Server dnsmasq ==&lt;br /&gt;
* Installieren: &amp;lt;code&amp;gt;apt-get install dnsmasq&amp;lt;/code&amp;gt;&lt;br /&gt;
* /etc/dnsmasq.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bogus-priv&lt;br /&gt;
no-resolv&lt;br /&gt;
no-poll&lt;br /&gt;
log-facility=/dev/null&lt;br /&gt;
&lt;br /&gt;
server=8.8.8.8&lt;br /&gt;
server=8.8.4.4&lt;br /&gt;
&lt;br /&gt;
read-ethers&lt;br /&gt;
expand-hosts&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* /etc/dnsmasq.d/ffsaar&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local=/ffsaar/&lt;br /&gt;
interface=saarBR&lt;br /&gt;
domain=ffsaar&lt;br /&gt;
&lt;br /&gt;
dhcp-range=10.24.XXX.1,10.24.XXX.254,180&lt;br /&gt;
dhcp-range=fd4e:f2d7:88d2:ffff::,64,180,ra-names&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* /etc/dnsmasq.d/fflux&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local=/fflux/&lt;br /&gt;
interface=luxBR&lt;br /&gt;
domain=fflux&lt;br /&gt;
&lt;br /&gt;
dhcp-range=10.24.XXX.1,10.24.XXX.254,180&lt;br /&gt;
dhcp-range=fd4e:f2d7:88d2:fffe::,64,180,ra-names&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* /etc/hosts&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Freifunk Sachen&lt;br /&gt;
10.24.192.2                     static.services.ffsaar ntp.services.ffsaar&lt;br /&gt;
fd4e:f2d7:88d2:ffff::2          static.services.ffsaar ntp.services.ffsaar&lt;br /&gt;
&lt;br /&gt;
10.24.192.1                     router.ffsaar node.ffsaar local.ffsaar knoten.ffsaar my.ffsaar&lt;br /&gt;
fd4e:f2d7:88d2:ffff::1          router.ffsaar node.ffsaar local.ffsaar knoten.ffsaar my.ffsaar&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== isc-dhcp-server (in Zukunft mal umzustellen) ===&lt;br /&gt;
* /etc/dhcp/dhcpd.conf: (Komplett ersetzen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ddns-update-style none;&lt;br /&gt;
default-lease-time 300;&lt;br /&gt;
max-lease-time 300;&lt;br /&gt;
authoritative;&lt;br /&gt;
&lt;br /&gt;
log-facility local6;&lt;br /&gt;
&lt;br /&gt;
subnet 10.24.192.0 netmask 255.255.192.0 {&lt;br /&gt;
        range 10.24.XXX.0 10.24.XXX+3.255;&lt;br /&gt;
        option routers 10.24.192.ZZZ;&lt;br /&gt;
        option domain-name-servers 10.24.192.2, 10.24.192.3, 10.24.192.4;&lt;br /&gt;
        option domain-search &amp;quot;ffsaar&amp;quot;;&lt;br /&gt;
        option ntp-servers 10.24.192.2, 10.24.192.3, 10.24.192.4;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
subnet 10.24.128.0 netmask 255.255.192.0 {&lt;br /&gt;
        range 10.24.YYY.0 10.24.YYY+3.255;&lt;br /&gt;
        option routers 10.24.128.ZZZ;&lt;br /&gt;
        option domain-name-servers 10.24.128.2, 10.24.128.3, 10.24.128.4;&lt;br /&gt;
        option domain-search &amp;quot;fflux&amp;quot;;&lt;br /&gt;
        option ntp-servers 10.24.128.2, 10.24.128.3, 10.24.128.4;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* XXX, XXX+3, YYY, YYY+3, ZZZ durch richtige Werte ersetzen&lt;br /&gt;
* /etc/default/isc-dhcp-server (Zeile INTERFACES ersetzen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
INTERFACES=&amp;quot;saarBR luxBR&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Neu starten: &amp;lt;code&amp;gt;service isc-dhcp-server restart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== IPTables ==&lt;br /&gt;
&lt;br /&gt;
* installieren: &amp;lt;code&amp;gt;apt-get install iptables-persistent&amp;lt;/code&amp;gt;&lt;br /&gt;
* /etc/iptables/rules.v4 UND /etc/iptables/rules.v6&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*mangle&lt;br /&gt;
:PREROUTING ACCEPT [0:0]&lt;br /&gt;
:INPUT ACCEPT [0:0]&lt;br /&gt;
:FORWARD ACCEPT [0:0]&lt;br /&gt;
:OUTPUT ACCEPT [0:0]&lt;br /&gt;
:POSTROUTING ACCEPT [0:0]&lt;br /&gt;
COMMIT&lt;br /&gt;
&lt;br /&gt;
*nat&lt;br /&gt;
:PREROUTING ACCEPT [0:0]&lt;br /&gt;
:INPUT ACCEPT [0:0]&lt;br /&gt;
:OUTPUT ACCEPT [0:0]&lt;br /&gt;
:POSTROUTING ACCEPT [0:0]&lt;br /&gt;
-A POSTROUTING -o tun0 -j MASQUERADE&lt;br /&gt;
COMMIT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Exit-VPN ==&lt;br /&gt;
abhängig von der Config einzurichten&lt;br /&gt;
== Knoteninformationen (Alfred...) ==&lt;br /&gt;
&#039;&#039;&#039;Dieser Punkt befindet sich aktuell in der Erstellung und wird später noch auf die anderen Kapitel aufgeteilt --[[Benutzer:Rugosh|Rugosh]] ([[Benutzer Diskussion:Rugosh|Diskussion]]) 16:38, 22. Feb. 2015 (CET)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Alfred wird auf den Gateways benötigt um die Knoteninformationen zu sammeln und aus diesen Informationen eine Knotendatei unter anderem für die Freifunkkarte bauen zu können.&lt;br /&gt;
Der Server, auf welchem die Knotendatei generiert wird ist hier logisch gesehen der Master die anderen Systeme sind als Slave zu konfigurieren.&lt;br /&gt;
&lt;br /&gt;
Da wir auf unseren Gateways sowohl Saar las auch Lux Freifunk betreiben benötigen wir auch eine Doppelkonfiguration der Knotenerstellung. Dies betrifft sowohl Alfred als auch den Punkt, dass der Master für mehrere Communities Kartendaten erstellen können muss.&lt;br /&gt;
&lt;br /&gt;
=== Slave Konfiguration ===&lt;br /&gt;
Benötigte Komponenten:&lt;br /&gt;
* Alfred&lt;br /&gt;
* Batman&lt;br /&gt;
&lt;br /&gt;
==== Alfred Konfiguration ====&lt;br /&gt;
Wir benötigen zuerst einmal zwei Alfred daemons:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo service alfred stop&lt;br /&gt;
sudo cp /etc/default/alfred /etc/default/alfred-saar&lt;br /&gt;
sudo cp /etc/default/alfred /etc/default/alfred-lux&lt;br /&gt;
sudo cp /etc/init.d/alfred /etc/init.d/alfred-saar&lt;br /&gt;
sudo cp /etc/init.d/alfred /etc/init.d/alfred-lux&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Alfred muss auf auf dem Slave lediglich auf den MASTER=0 gesetzt werden und das Interface, sowie Batman muss angegeben sein. Die Konfiguration findet in der Konfigurationsdatei &amp;lt;code&amp;gt;/etc/default/alfred-XXX&amp;lt;/code&amp;gt; wie folgt statt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# /etc/default/alfred-saar&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
# Additional command line options&lt;br /&gt;
DAEMON_OPTS=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Enable master mode (0/1)&lt;br /&gt;
MASTER=0&lt;br /&gt;
&lt;br /&gt;
# Interface for A.L.F.R.E.D. to listen on. Has to be specified.&lt;br /&gt;
INTERFACE=br-ff&lt;br /&gt;
&lt;br /&gt;
# Specify the batman-adv interface configured on the system (default: bat0).&lt;br /&gt;
# Use &#039;none&#039; to disable the batman-adv based best server selection.&lt;br /&gt;
BATMANIF=saarBAT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# /etc/default/alfred-lux&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
# Additional command line options&lt;br /&gt;
DAEMON_OPTS=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Enable master mode (0/1)&lt;br /&gt;
MASTER=0&lt;br /&gt;
&lt;br /&gt;
# Interface for A.L.F.R.E.D. to listen on. Has to be specified.&lt;br /&gt;
INTERFACE=luxBR&lt;br /&gt;
&lt;br /&gt;
# Specify the batman-adv interface configured on the system (default: bat0).&lt;br /&gt;
# Use &#039;none&#039; to disable the batman-adv based best server selection.&lt;br /&gt;
BATMANIF=luxBAT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Anpassen der init.d Dateien für die Alfreds...&lt;br /&gt;
&#039;&#039;&#039;Nachfolgende Configs erzeugen noch keinen eigenständigen Alfed Socket...&#039;&#039;&#039; Leider muss damit die Alfreds eigene Sockets haben anscheinend alfred selbst mit anderen werten kompaliert werden https://github.com/tcatm/alfred/blob/master/alfred.h oder hier muss eine andere (bessere) Lösung gefunden werden. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Ausschnitt der anzupassenden Datei /etc/init.d/alfred-saar&lt;br /&gt;
&lt;br /&gt;
DESC=&amp;quot;A.L.F.R.E.D -&amp;gt; Saar&amp;quot;&lt;br /&gt;
NAME=alfred&lt;br /&gt;
NAME2=alfred-saar&lt;br /&gt;
DAEMON=/usr/sbin/$NAME&lt;br /&gt;
PIDFILE=/var/run/$NAME2.pid&lt;br /&gt;
SCRIPTNAME=/etc/init.d/$NAME2&lt;br /&gt;
GROUP=alfred &lt;br /&gt;
OPTIONS=&amp;quot;&amp;quot;&lt;br /&gt;
UMASK=0117&lt;br /&gt;
&lt;br /&gt;
[ -x &amp;quot;$DAEMON&amp;quot; ] || exit 0&lt;br /&gt;
&lt;br /&gt;
# Source defaults.&lt;br /&gt;
[ -r /etc/default/$NAME2 ] &amp;amp;&amp;amp; . /etc/default/$NAME2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Ausschnitt der anzupassenden Datei /etc/init.d/alfred-lux&lt;br /&gt;
&lt;br /&gt;
DESC=&amp;quot;A.L.F.R.E.D -&amp;gt; Lux&amp;quot;&lt;br /&gt;
NAME=alfred-lux&lt;br /&gt;
DAEMON=/usr/sbin/$NAME&lt;br /&gt;
PIDFILE=/var/run/$NAME2.pid&lt;br /&gt;
SCRIPTNAME=/etc/init.d/$NAME2&lt;br /&gt;
GROUP=alfred&lt;br /&gt;
OPTIONS=&amp;quot;&amp;quot;&lt;br /&gt;
UMASK=0117&lt;br /&gt;
&lt;br /&gt;
[ -x &amp;quot;$DAEMON&amp;quot; ] || exit 0&lt;br /&gt;
&lt;br /&gt;
# Source defaults.&lt;br /&gt;
[ -r /etc/default/$NAME2 ] &amp;amp;&amp;amp; . /etc/default/$NAME2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Starten der neuen Alfreds&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo service alfred-saar start&lt;br /&gt;
sudo service alfred-lux start&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Nun testen ob alles wie gewünscht funktioniert und erst nach einem erfolgreichen Test die nun nicht mehr benötigten Daten löschen.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rm /etc/default/alfred&lt;br /&gt;
sudo rm /etc/init.d/alfred.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== batadv-vis ====&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=== Master Konfiguration ===&lt;br /&gt;
Benötigte Komponenten:&lt;br /&gt;
* Alfred&lt;br /&gt;
* Alfred-JSON&lt;br /&gt;
* Batman&lt;br /&gt;
&lt;br /&gt;
==== Alfred Konfiguration ====&lt;br /&gt;
Alfred muss auf auf dem Slave lediglich auf den MASTER=1 gesetzt werden und das Interface, sowie Batman muss angegeben sein. Für Details siehe [[#Alfred_Konfiguration | Slave Konfiguration -&amp;gt; Alfred Konfigurieren ]]&lt;br /&gt;
&#039;&#039;&#039;Achtung: Da auf dem Master aktuell nur ein Batman device läuft, ist hier aktuell kein alfred-lux gestartet, aber vorkonfiguriert&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Knotendateigenerierung ====&lt;br /&gt;
* Benötigt auch alias config&lt;br /&gt;
* bat2nodes für Kartengenerierung mit mkmap Skript. Checkout newest Version from https://github.com/freifunk-saar/ffmap-backend -&amp;gt; done.&lt;br /&gt;
* Cron Eintrag vom mkmap Skript&lt;br /&gt;
&lt;br /&gt;
==== Alias Konfiguration ====&lt;br /&gt;
Da wir uns für die manuelle Konfiguration des Announcement der Gateway Informationen entschieden haben ist eine Anpassung der Alias Datei für jede neue Gateway erforderlich.&lt;br /&gt;
Die Dateien &amp;lt;code&amp;gt;aliases_saar.json&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;aliases_lux.json&amp;lt;/code&amp;gt; befindet sich im bat2nodes Verzeichnis und beinhaltet für jede Gateway einen Alias Eintrag.&lt;br /&gt;
&lt;br /&gt;
Beipiel:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
   &amp;quot;&amp;lt;KENNUNG&amp;gt;1&amp;quot; : {&lt;br /&gt;
      &amp;quot;name&amp;quot; : &amp;quot;gw1.saar.freifunk.net&amp;quot;,&lt;br /&gt;
      &amp;quot;vpn&amp;quot; : true&lt;br /&gt;
   },&lt;br /&gt;
   &amp;quot;&amp;lt;KENNUNG&amp;gt;2&amp;quot; : {&lt;br /&gt;
      &amp;quot;name&amp;quot; : &amp;quot;gw2.saar.freifunk.net&amp;quot;,&lt;br /&gt;
      &amp;quot;vpn&amp;quot; : true&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== batadv-vis ====&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=== alfed-json ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== To be continued... ==&lt;br /&gt;
* DNSmasq statt radvd, bind, isc-dhcp-server&lt;/div&gt;</summary>
		<author><name>Tobi042</name></author>
	</entry>
	<entry>
		<id>https://wiki.hacksaar.de/index.php?title=Freifunk:Mesh-VPN_Gateway-Server_einrichten&amp;diff=1946</id>
		<title>Freifunk:Mesh-VPN Gateway-Server einrichten</title>
		<link rel="alternate" type="text/html" href="https://wiki.hacksaar.de/index.php?title=Freifunk:Mesh-VPN_Gateway-Server_einrichten&amp;diff=1946"/>
		<updated>2015-04-19T09:35:18Z</updated>

		<summary type="html">&lt;p&gt;Tobi042: /* APT Sources hinzufügen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Unsere Gateways laufen auf Debian 7 Wheezy. Diese Anleitungen orientieren sich an anderen Freifunk-Communities, aber einen sehr nennenswerten Einfluss hat die geniale Dokumentation von Freifunk Mainz, Wiesbaden und Umgebung (http://gluon-gateway-doku.readthedocs.org/de/latest/) gehabt.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
Größtenteils egal, wichtig ist folgendes: Root bekommt kein Passwort, dadurch wird der Root-Login gesperrt und man muss sudo benutzen. Als zu installierende Paketgruppen nutzen wir Debian-Standardutilities und SSH-Server.&lt;br /&gt;
&lt;br /&gt;
== SSH einrichten ==&lt;br /&gt;
&lt;br /&gt;
* Einloggen: &lt;br /&gt;
*: &amp;lt;code&amp;gt;ssh user@gwX.saar.freifunk.de&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;mkdir .ssh&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;echo &amp;quot;dein_ssh_key&amp;quot; &amp;gt; .ssh/authorized_keys&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;nano /etc/ssh/sshd_config&amp;lt;/code&amp;gt;&lt;br /&gt;
*: Folgende Änderungen vornehmen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;...&lt;br /&gt;
PermitRootLogin no&lt;br /&gt;
...&lt;br /&gt;
PasswordAuthentication no&lt;br /&gt;
...&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Alte Session aktiv lassen, in neuem Terminal versuchen mit Public Key einzuloggen. Wenn nicht erfolgreich debuggen.&lt;br /&gt;
* &amp;lt;code&amp;gt;sudo service ssh restart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Überflüssige Pakete deinstallieren ==&lt;br /&gt;
&lt;br /&gt;
Da wir eben etwas großzügig waren mit der Installation von Paketgruppen müssen wir jetzt exim und nfs-Kram deinstallieren:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;sudo apt-get remove exim4* nfs-common rpcbind&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Als Resultat sollte bei Ausführung von &amp;quot;sudo netstat -tulpn&amp;quot; keine Programme außer sshd und vielleicht dhclient angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
== APT Sources hinzufügen ==&lt;br /&gt;
&lt;br /&gt;
Wir benötigen die Sources für fastd und batman-adv:&lt;br /&gt;
&lt;br /&gt;
* Mit &amp;lt;code&amp;gt;nano /etc/apt/sources.list&amp;lt;/code&amp;gt; folgendes hinzufügen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 deb http://security.debian.org/ wheezy/updates main contrib non-free&lt;br /&gt;
 deb-src http://security.debian.org/ wheezy/updates main contrib non-free&lt;br /&gt;
  &lt;br /&gt;
 # fastd&lt;br /&gt;
 deb http://ftp.de.debian.org/debian wheezy-backports main&lt;br /&gt;
 deb http://repo.universe-factory.net/debian/ sid main&lt;br /&gt;
&lt;br /&gt;
 # alfred&lt;br /&gt;
 deb http://debian.draic.info/ wheezy main&lt;br /&gt;
 deb-src http://debian.draic.info/ wheezy main&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Schlüssel für repo importieren: &lt;br /&gt;
* &amp;lt;code&amp;gt;gpg --keyserver pgpkeys.mit.edu --recv-key  B89033D8&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;gpg -a --export B89033D8 | apt-key add -&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;gpg --keyserver pgpkeys.mit.edu --recv-key  16EF3F64CB201D9C&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;gpg -a --export 16EF3F64CB201D9C | apt-key add -&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pakete installieren ==&lt;br /&gt;
* &amp;lt;code&amp;gt;apt-get update&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;apt-get install batctl batman-adv-dkms fastd bridge-utils ntp&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;echo &amp;quot;batman-adv&amp;quot; &amp;gt;&amp;gt; /etc/modules&amp;lt;/code&amp;gt;&lt;br /&gt;
* Zu beachten: Alle Pakete werden im folgenden eingerichtet. NTPs Standard-Config ist in Ordnung.&lt;br /&gt;
&lt;br /&gt;
== Netzwerk Grundkonfiguration ==&lt;br /&gt;
=== Sysctl Einstellungen ===&lt;br /&gt;
* /etc/sysctl.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Freifunk specific settings&lt;br /&gt;
net.ipv4.ip_forward=1&lt;br /&gt;
&lt;br /&gt;
net.bridge.bridge-nf-call-arptables = 0&lt;br /&gt;
net.bridge.bridge-nf-call-ip6tables = 0&lt;br /&gt;
net.bridge.bridge-nf-call-iptables = 0&lt;br /&gt;
&lt;br /&gt;
net.ipv6.conf.all.forwarding=1&lt;br /&gt;
&lt;br /&gt;
net.ipv6.conf.all.autoconf = 0&lt;br /&gt;
net.ipv6.conf.default.autoconf = 0&lt;br /&gt;
net.ipv6.conf.eth0.autoconf = 0&lt;br /&gt;
&lt;br /&gt;
net.ipv6.conf.all.accept_ra = 0&lt;br /&gt;
net.ipv6.conf.default.accept_ra = 0&lt;br /&gt;
net.ipv6.conf.eth0.accept_ra = 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Danach neu laden: &amp;lt;code&amp;gt;sysctl -p /etc/sysctl.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Routing Tables erstellen ===&lt;br /&gt;
* /etc/iproute2/rt_tables (bisherige Einstellungen beibehalten und folgende hinzufügen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# freifunk&lt;br /&gt;
32      saar&lt;br /&gt;
33      lux&lt;br /&gt;
42      icvpn&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Netzwerkinterafaces einstellen ===&lt;br /&gt;
* /etc/network/interfaces (andere Interfaces nach der entsprechenden Konfiguration belassen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# FREIFUNK SAAR&lt;br /&gt;
#&lt;br /&gt;
auto saarBR&lt;br /&gt;
iface saarBR inet static&lt;br /&gt;
    bridge_ports none&lt;br /&gt;
    bridge_fd 0&lt;br /&gt;
    bridge_maxwait 0&lt;br /&gt;
    address 10.24.192.XXX&lt;br /&gt;
    netmask 255.255.192.0&lt;br /&gt;
    # be sure all incoming traffic is handled by the appropriate rt_table&lt;br /&gt;
    post-up         /sbin/ip rule add iif $IFACE table saar priority 3200&lt;br /&gt;
    pre-down        /sbin/ip rule del iif $IFACE table saar priority 3200&lt;br /&gt;
    # default route is unreachable&lt;br /&gt;
    post-up         /sbin/ip route add unreachable default table saar&lt;br /&gt;
    post-down       /sbin/ip route del unreachable default table saar&lt;br /&gt;
    # local reachable subnet saar for rt_table lux&lt;br /&gt;
    post-up         /sbin/ip route add 10.24.128.0/18 proto static dev $IFACE table lux&lt;br /&gt;
    post-down       /sbin/ip route del 10.24.128.0/18 proto static dev $IFACE table lux&lt;br /&gt;
&lt;br /&gt;
iface saarBR inet6 static&lt;br /&gt;
    address fd4e:f2d7:88d2:ffff::XXX&lt;br /&gt;
    netmask 64&lt;br /&gt;
    # be sure all incoming traffic is handled by the appropriate rt_table&lt;br /&gt;
    post-up         /sbin/ip -6 rule add iif $IFACE table saar priority 3200&lt;br /&gt;
    pre-down        /sbin/ip -6 rule del iif $IFACE table saar priority 3200&lt;br /&gt;
    post-up         /sbin/ip -6 route add fe80::/64 proto static dev $IFACE table saar&lt;br /&gt;
    post-down       /sbin/ip -6 route del fe80::/64 proto static dev $IFACE table saar&lt;br /&gt;
    post-up         /sbin/ip -6 route add fd4e:f2d7:88d2:ffff::/64 proto static dev $IFACE table saar&lt;br /&gt;
    post-down       /sbin/ip -6 route del fd4e:f2d7:88d2:ffff::/64 proto static dev $IFACE table saar&lt;br /&gt;
    # ULA route mz for rt_table saar&lt;br /&gt;
    post-up         /sbin/ip -6 route add fd4e:f2d7:88d2:fffe::/64 proto static dev $IFACE table lux&lt;br /&gt;
    post-down       /sbin/ip -6 route del fd4e:f2d7:88d2:fffe::/64 proto static dev $IFACE table lux&lt;br /&gt;
&lt;br /&gt;
allow-hotplug saarMESH&lt;br /&gt;
iface saarMESH inet6 manual&lt;br /&gt;
    pre-up          /sbin/modprobe batman_adv&lt;br /&gt;
    post-up         /usr/sbin/batctl -m saarBAT if add $IFACE&lt;br /&gt;
    post-up         /sbin/ip link set dev saarBAT up&lt;br /&gt;
&lt;br /&gt;
allow-hotplug saarBAT&lt;br /&gt;
iface saarBAT inet6 manual&lt;br /&gt;
    pre-up          /sbin/modprobe batman-adv&lt;br /&gt;
    post-up         /sbin/brctl addif saarBR $IFACE&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE it 10000&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE vm server&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE gw server  6mbit/6mbit&lt;br /&gt;
    pre-down        /sbin/brctl delif saarBR $IFACE || true&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# FREIFUNK LUX &lt;br /&gt;
#&lt;br /&gt;
auto luxBR&lt;br /&gt;
iface luxBR inet static&lt;br /&gt;
    bridge_ports none&lt;br /&gt;
    bridge_fd 0&lt;br /&gt;
    bridge_maxwait 0&lt;br /&gt;
    address 10.24.128.XXX&lt;br /&gt;
    netmask 255.255.192.0&lt;br /&gt;
    # be sure all incoming traffic is handled by the appropriate rt_table&lt;br /&gt;
    post-up         /sbin/ip rule add iif $IFACE table lux priority 3300&lt;br /&gt;
    pre-down        /sbin/ip rule del iif $IFACE table lux priority 3300&lt;br /&gt;
    # default route is unreachable&lt;br /&gt;
    post-up         /sbin/ip route add unreachable default table lux &lt;br /&gt;
    post-down       /sbin/ip route del unreachable default table lux &lt;br /&gt;
    # local reachable subnet lux for rt_table saar&lt;br /&gt;
    post-up         /sbin/ip route add 10.24.192.0/18 proto static dev $IFACE table saar&lt;br /&gt;
    post-down       /sbin/ip route del 10.24.192.0/18 proto static dev $IFACE table saar&lt;br /&gt;
&lt;br /&gt;
iface luxBR inet6 static&lt;br /&gt;
    address fd4e:f2d7:88d2:fffe::XXX&lt;br /&gt;
    netmask 64&lt;br /&gt;
    # be sure all incoming traffic is handled by the appropriate rt_table&lt;br /&gt;
    post-up         /sbin/ip -6 rule add iif $IFACE table lux priority 3300&lt;br /&gt;
    pre-down        /sbin/ip -6 rule del iif $IFACE table lux priority 3300&lt;br /&gt;
    post-up         /sbin/ip -6 route add fe80::/64 proto static dev $IFACE table lux &lt;br /&gt;
    post-down       /sbin/ip -6 route del fe80::/64 proto static dev $IFACE table lux &lt;br /&gt;
    post-up         /sbin/ip -6 route add fd4e:f2d7:88d2:fffe::/64 proto static dev $IFACE table lux&lt;br /&gt;
    post-down       /sbin/ip -6 route del fd4e:f2d7:88d2:fffe::/64 proto static dev $IFACE table lux&lt;br /&gt;
    # ULA route saar for rt_table lux&lt;br /&gt;
    post-up         /sbin/ip -6 route add fd4e:f2d7:88d2:ffff::/64 proto static dev $IFACE table saar&lt;br /&gt;
    post-down       /sbin/ip -6 route del fd4e:f2d7:88d2:ffff::/64 proto static dev $IFACE table saar&lt;br /&gt;
&lt;br /&gt;
allow-hotplug luxMESH&lt;br /&gt;
iface luxMESH inet6 manual&lt;br /&gt;
    pre-up          /sbin/modprobe batman_adv&lt;br /&gt;
    post-up         /usr/sbin/batctl -m luxBAT if add $IFACE&lt;br /&gt;
    post-up         /sbin/ip link set dev luxBAT up&lt;br /&gt;
&lt;br /&gt;
allow-hotplug luxBAT&lt;br /&gt;
iface luxBAT inet6 manual&lt;br /&gt;
    pre-up          /sbin/modprobe batman-adv&lt;br /&gt;
    post-up         /sbin/brctl addif luxBR $IFACE&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE it 10000&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE vm server&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE gw server  6mbit/6mbit&lt;br /&gt;
    pre-down        /sbin/brctl delif luxBR $IFACE || true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Jedes Vorkommnis von XXX durch einen entsprechenden Wert aus dem Netzplan ersetzen, im Zweifel TobiT fragen&lt;br /&gt;
&lt;br /&gt;
== Helfer-Skripte ==&lt;br /&gt;
Es gibt 2 Helferskripte, die eingerichtet werden müssen. check_gateway.sh prüft minütlich, ob das ExitVPN noch steht. autoupdate_fastd_peers updatet die fastd-peers alle 5 Minuten per git.&lt;br /&gt;
=== check_gateway.sh ===&lt;br /&gt;
* /usr/bin/check_gateway.sh:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@gw2:/etc/fastd/freifunk-lux# less /usr/bin/check_gateway.sh&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
INTERFACE=tun0          # Set to name of VPN interface&lt;br /&gt;
DHCPSERVICE=dnsmasq     # Name of DHCP service&lt;br /&gt;
BANDWIDTH=XXX           # Server bandwidth&lt;br /&gt;
shopt -s nullglob&lt;br /&gt;
&lt;br /&gt;
# Test whether gateway is connected to the outer world via VPN&lt;br /&gt;
ping -q -I $INTERFACE 8.8.8.8 -c 4 -i 1 -W 5 &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
if test $? -eq 0; then&lt;br /&gt;
    NEW_STATE=server&lt;br /&gt;
else&lt;br /&gt;
    NEW_STATE=off&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Iterate through network interfaces in sys file system&lt;br /&gt;
for MESH in /sys/class/net/*/mesh; do&lt;br /&gt;
# Check whether gateway modus needs to be changed&lt;br /&gt;
OLD_STATE=&amp;quot;$(cat $MESH/gw_mode)&amp;quot;&lt;br /&gt;
[ &amp;quot;$OLD_STATE&amp;quot; == &amp;quot;$NEW_STATE&amp;quot; ] &amp;amp;&amp;amp; continue&lt;br /&gt;
    echo $NEW_STATE &amp;gt; $MESH/gw_mode&lt;br /&gt;
    echo ${BANDWIDTH}MBit/${BANDWIDTH}MBit &amp;gt; $MESH/gw_bandwidth&lt;br /&gt;
    logger &amp;quot;batman gateway mode changed to $NEW_STATE&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    # Check whether gateway modus has been deactivated&lt;br /&gt;
    if [ &amp;quot;$NEW_STATE&amp;quot; == &amp;quot;off&amp;quot; ]; then&lt;br /&gt;
        # Shutdown DHCP server to prevent renewal of leases&lt;br /&gt;
        /usr/sbin/service $DHCPSERVICE stop&lt;br /&gt;
    fi&lt;br /&gt;
&lt;br /&gt;
    # Check whether gateway modus has been activated&lt;br /&gt;
    if [ &amp;quot;$NEW_STATE&amp;quot; == &amp;quot;server&amp;quot; ]; then&lt;br /&gt;
        # Restart DHCP server&lt;br /&gt;
        /usr/sbin/service $DHCPSERVICE start&lt;br /&gt;
    fi&lt;br /&gt;
    exit 0&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
if [ &amp;quot;$NEW_STATE&amp;quot; == &amp;quot;server&amp;quot; ]; then&lt;br /&gt;
    /usr/sbin/service $DHCPSERVICE status 2&amp;gt;&amp;amp;1&amp;gt; /dev/null&lt;br /&gt;
    if [[ $? -ne 0 ]]&lt;br /&gt;
    then&lt;br /&gt;
        /usr/sbin/service $DHCPSERVICE restart&lt;br /&gt;
    fi&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$NEW_STATE&amp;quot; == &amp;quot;off&amp;quot; ]; then&lt;br /&gt;
    /usr/sbin/service $DHCPSERVICE status 2&amp;gt;&amp;amp;1&amp;gt; /dev/null&lt;br /&gt;
    if [[ $? -eq 0 ]]&lt;br /&gt;
    then&lt;br /&gt;
        /usr/sbin/service $DHCPSERVICE stop&lt;br /&gt;
    fi&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Ganz oben bei BANDWIDTH die Serverbandbreite in MBit/s einstellen, damit diese ordentlich via Batman announced werden kann.&lt;br /&gt;
* Speichern und mit &amp;lt;code&amp;gt;chmod +x /usr/bin/check_gateway.sh&amp;lt;/code&amp;gt; ausführbar machen&lt;br /&gt;
=== autoupdate_fastd_keys.sh ===&lt;br /&gt;
* /usr/bin/autoupate_fastd_keys.sh:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# Simple script to update fastd peers from git upstream&lt;br /&gt;
# and only send HUP to fastd when changes happend.&lt;br /&gt;
&lt;br /&gt;
# CONFIGURE THIS TO YOUR PEER DIRECTORY&lt;br /&gt;
FASTD_PEERS_ARRAY=( &amp;quot;freifunk-saar&amp;quot; &amp;quot;freifunk-lux&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
function getCurrentVersion() {&lt;br /&gt;
 # Get hash from latest revision&lt;br /&gt;
 git log --format=format:%H -1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
for FASTD_PEERS in &amp;quot;${FASTD_PEERS_ARRAY[@]}&amp;quot;&lt;br /&gt;
do&lt;br /&gt;
cd /etc/fastd/$FASTD_PEERS/peers&lt;br /&gt;
&lt;br /&gt;
# Get current version hash&lt;br /&gt;
GIT_REVISION=$(getCurrentVersion)&lt;br /&gt;
&lt;br /&gt;
# Automagically commit local changes&lt;br /&gt;
# This preserves local changes&lt;br /&gt;
git commit -m &amp;quot;CRON: auto commit&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Pull latest changes from upstream&lt;br /&gt;
git fetch&lt;br /&gt;
git merge origin/master -m &amp;quot;Auto Merge&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Get new version hash&lt;br /&gt;
GIT_NEW_REVISION=$(getCurrentVersion)&lt;br /&gt;
&lt;br /&gt;
if [ $GIT_REVISION != $GIT_NEW_REVISION ]&lt;br /&gt;
then&lt;br /&gt;
 # Version has changed we need to update&lt;br /&gt;
 echo &amp;quot;Reload fastd peers&amp;quot;&lt;br /&gt;
 kill -HUP $(cat /var/run/fastd.$FASTD_PEERS.pid)&lt;br /&gt;
fi&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Auch dieses Skript ausführbar machen: &amp;lt;code&amp;gt;chmod +x /usr/bin/autoupdate_fastd_keys.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
=== Skripte in crontab eintragen ===&lt;br /&gt;
* In &amp;lt;code&amp;gt;sudo crontab -e&amp;lt;/code&amp;gt; folgende Zeilen anhängen&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*/5 * * * *   /usr/bin/autoupdate_fastd_keys.sh &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
* * * * *   /usr/bin/check_gateway.sh &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Fastd-Config ==&lt;br /&gt;
* &amp;lt;code&amp;gt;mkdir /etc/fastd/freifunk-{saar,lux}/&amp;lt;/code&amp;gt;&lt;br /&gt;
* Config-Dateien anlegen und entsprechenden Inhalt reinkopieren:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
log level warn;&lt;br /&gt;
log to syslog level info;&lt;br /&gt;
&lt;br /&gt;
hide ip addresses yes;&lt;br /&gt;
hide mac addresses yes;&lt;br /&gt;
&lt;br /&gt;
interface &amp;quot;xxxxMESH&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
method &amp;quot;salsa2012+umac&amp;quot;;    # new method (faster)&lt;br /&gt;
method &amp;quot;salsa2012+gmac&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
bind any:10000 interface &amp;quot;eth0&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
include &amp;quot;secret.conf&amp;quot;;&lt;br /&gt;
mtu 1426; # 1492 - IPv4/IPv6 Header - fastd Header...&lt;br /&gt;
&lt;br /&gt;
include peers from &amp;quot;peers&amp;quot;;&lt;br /&gt;
include peers from &amp;quot;peers-gw&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
secure handshakes yes;&lt;br /&gt;
&lt;br /&gt;
on up &amp;quot;&lt;br /&gt;
ip link set dev xxxxMESH address ca:fe:ba:be:00:0X&lt;br /&gt;
ip link set dev xxxxMESH up&lt;br /&gt;
&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Secret Keys aus den Repos besorgen und in secret.conf schreiben&lt;br /&gt;
* Neuen SSH-Key anlegen, als Deploy Key in die Gitlab-Projekte https://git.hacksaar.de/FreifunkSaar/mesh-vpn-peers und https://git.hacksaar.de/FreifunkSaar/mesh-vpn-peers-lux eintragen.&lt;br /&gt;
* Mesh-VPN-Peers-Verzeichnis als &amp;quot;peers&amp;quot; klonen: &amp;lt;code&amp;gt;git clone git@hacksaar.de:FreifunkSaar/mesh-vpn-peers.git peers&amp;lt;/code&amp;gt; bzw &amp;lt;code&amp;gt;git clone git@hacksaar.de:FreifunkSaar/mesh-vpn-peers-lux.git peers&amp;lt;/code&amp;gt; jeweils im entsprechende Verzeichnis&lt;br /&gt;
* Feuer!: &amp;lt;code&amp;gt;sudo service fastd start&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DNS, DHCP und RA-Server dnsmasq ==&lt;br /&gt;
* Installieren: &amp;lt;code&amp;gt;apt-get install dnsmasq&amp;lt;/code&amp;gt;&lt;br /&gt;
* /etc/dnsmasq.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bogus-priv&lt;br /&gt;
no-resolv&lt;br /&gt;
no-poll&lt;br /&gt;
log-facility=/dev/null&lt;br /&gt;
&lt;br /&gt;
server=8.8.8.8&lt;br /&gt;
server=8.8.4.4&lt;br /&gt;
&lt;br /&gt;
read-ethers&lt;br /&gt;
expand-hosts&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* /etc/dnsmasq.d/ffsaar&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local=/ffsaar/&lt;br /&gt;
interface=saarBR&lt;br /&gt;
domain=ffsaar&lt;br /&gt;
&lt;br /&gt;
dhcp-range=10.24.XXX.1,10.24.XXX.254,180&lt;br /&gt;
dhcp-range=fd4e:f2d7:88d2:ffff::,64,180,ra-names&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* /etc/dnsmasq.d/fflux&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local=/fflux/&lt;br /&gt;
interface=luxBR&lt;br /&gt;
domain=fflux&lt;br /&gt;
&lt;br /&gt;
dhcp-range=10.24.XXX.1,10.24.XXX.254,180&lt;br /&gt;
dhcp-range=fd4e:f2d7:88d2:fffe::,64,180,ra-names&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* /etc/hosts&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Freifunk Sachen&lt;br /&gt;
10.24.192.2                     static.services.ffsaar ntp.services.ffsaar&lt;br /&gt;
fd4e:f2d7:88d2:ffff::2          static.services.ffsaar ntp.services.ffsaar&lt;br /&gt;
&lt;br /&gt;
10.24.192.1                     router.ffsaar node.ffsaar local.ffsaar knoten.ffsaar my.ffsaar&lt;br /&gt;
fd4e:f2d7:88d2:ffff::1          router.ffsaar node.ffsaar local.ffsaar knoten.ffsaar my.ffsaar&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== isc-dhcp-server (in Zukunft mal umzustellen) ===&lt;br /&gt;
* /etc/dhcp/dhcpd.conf: (Komplett ersetzen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ddns-update-style none;&lt;br /&gt;
default-lease-time 300;&lt;br /&gt;
max-lease-time 300;&lt;br /&gt;
authoritative;&lt;br /&gt;
&lt;br /&gt;
log-facility local6;&lt;br /&gt;
&lt;br /&gt;
subnet 10.24.192.0 netmask 255.255.192.0 {&lt;br /&gt;
        range 10.24.XXX.0 10.24.XXX+3.255;&lt;br /&gt;
        option routers 10.24.192.ZZZ;&lt;br /&gt;
        option domain-name-servers 10.24.192.2, 10.24.192.3, 10.24.192.4;&lt;br /&gt;
        option domain-search &amp;quot;ffsaar&amp;quot;;&lt;br /&gt;
        option ntp-servers 10.24.192.2, 10.24.192.3, 10.24.192.4;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
subnet 10.24.128.0 netmask 255.255.192.0 {&lt;br /&gt;
        range 10.24.YYY.0 10.24.YYY+3.255;&lt;br /&gt;
        option routers 10.24.128.ZZZ;&lt;br /&gt;
        option domain-name-servers 10.24.128.2, 10.24.128.3, 10.24.128.4;&lt;br /&gt;
        option domain-search &amp;quot;fflux&amp;quot;;&lt;br /&gt;
        option ntp-servers 10.24.128.2, 10.24.128.3, 10.24.128.4;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* XXX, XXX+3, YYY, YYY+3, ZZZ durch richtige Werte ersetzen&lt;br /&gt;
* /etc/default/isc-dhcp-server (Zeile INTERFACES ersetzen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
INTERFACES=&amp;quot;saarBR luxBR&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Neu starten: &amp;lt;code&amp;gt;service isc-dhcp-server restart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== IPTables ==&lt;br /&gt;
&lt;br /&gt;
* installieren: &amp;lt;code&amp;gt;apt-get install iptables-persistent&amp;lt;/code&amp;gt;&lt;br /&gt;
* /etc/iptables/rules.v4 UND /etc/iptables/rules.v6&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*mangle&lt;br /&gt;
:PREROUTING ACCEPT [0:0]&lt;br /&gt;
:INPUT ACCEPT [0:0]&lt;br /&gt;
:FORWARD ACCEPT [0:0]&lt;br /&gt;
:OUTPUT ACCEPT [0:0]&lt;br /&gt;
:POSTROUTING ACCEPT [0:0]&lt;br /&gt;
COMMIT&lt;br /&gt;
&lt;br /&gt;
*nat&lt;br /&gt;
:PREROUTING ACCEPT [0:0]&lt;br /&gt;
:INPUT ACCEPT [0:0]&lt;br /&gt;
:OUTPUT ACCEPT [0:0]&lt;br /&gt;
:POSTROUTING ACCEPT [0:0]&lt;br /&gt;
-A POSTROUTING -o tun0 -j MASQUERADE&lt;br /&gt;
COMMIT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Exit-VPN ==&lt;br /&gt;
abhängig von der Config einzurichten&lt;br /&gt;
== Knoteninformationen (Alfred...) ==&lt;br /&gt;
&#039;&#039;&#039;Dieser Punkt befindet sich aktuell in der Erstellung und wird später noch auf die anderen Kapitel aufgeteilt --[[Benutzer:Rugosh|Rugosh]] ([[Benutzer Diskussion:Rugosh|Diskussion]]) 16:38, 22. Feb. 2015 (CET)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Alfred wird auf den Gateways benötigt um die Knoteninformationen zu sammeln und aus diesen Informationen eine Knotendatei unter anderem für die Freifunkkarte bauen zu können.&lt;br /&gt;
Der Server, auf welchem die Knotendatei generiert wird ist hier logisch gesehen der Master die anderen Systeme sind als Slave zu konfigurieren.&lt;br /&gt;
&lt;br /&gt;
Da wir auf unseren Gateways sowohl Saar las auch Lux Freifunk betreiben benötigen wir auch eine Doppelkonfiguration der Knotenerstellung. Dies betrifft sowohl Alfred als auch den Punkt, dass der Master für mehrere Communities Kartendaten erstellen können muss.&lt;br /&gt;
&lt;br /&gt;
=== Slave Konfiguration ===&lt;br /&gt;
Benötigte Komponenten:&lt;br /&gt;
* Alfred&lt;br /&gt;
* Batman&lt;br /&gt;
&lt;br /&gt;
==== Alfred Konfiguration ====&lt;br /&gt;
Wir benötigen zuerst einmal zwei Alfred daemons:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo service alfred stop&lt;br /&gt;
sudo cp /etc/default/alfred /etc/default/alfred-saar&lt;br /&gt;
sudo cp /etc/default/alfred /etc/default/alfred-lux&lt;br /&gt;
sudo cp /etc/init.d/alfred /etc/init.d/alfred-saar&lt;br /&gt;
sudo cp /etc/init.d/alfred /etc/init.d/alfred-lux&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Alfred muss auf auf dem Slave lediglich auf den MASTER=0 gesetzt werden und das Interface, sowie Batman muss angegeben sein. Die Konfiguration findet in der Konfigurationsdatei &amp;lt;code&amp;gt;/etc/default/alfred-XXX&amp;lt;/code&amp;gt; wie folgt statt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# /etc/default/alfred-saar&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
# Additional command line options&lt;br /&gt;
DAEMON_OPTS=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Enable master mode (0/1)&lt;br /&gt;
MASTER=0&lt;br /&gt;
&lt;br /&gt;
# Interface for A.L.F.R.E.D. to listen on. Has to be specified.&lt;br /&gt;
INTERFACE=br-ff&lt;br /&gt;
&lt;br /&gt;
# Specify the batman-adv interface configured on the system (default: bat0).&lt;br /&gt;
# Use &#039;none&#039; to disable the batman-adv based best server selection.&lt;br /&gt;
BATMANIF=saarBAT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# /etc/default/alfred-lux&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
# Additional command line options&lt;br /&gt;
DAEMON_OPTS=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Enable master mode (0/1)&lt;br /&gt;
MASTER=0&lt;br /&gt;
&lt;br /&gt;
# Interface for A.L.F.R.E.D. to listen on. Has to be specified.&lt;br /&gt;
INTERFACE=luxBR&lt;br /&gt;
&lt;br /&gt;
# Specify the batman-adv interface configured on the system (default: bat0).&lt;br /&gt;
# Use &#039;none&#039; to disable the batman-adv based best server selection.&lt;br /&gt;
BATMANIF=luxBAT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Anpassen der init.d Dateien für die Alfreds...&lt;br /&gt;
&#039;&#039;&#039;Nachfolgende Configs erzeugen noch keinen eigenständigen Alfed Socket...&#039;&#039;&#039; Leider muss damit die Alfreds eigene Sockets haben anscheinend alfred selbst mit anderen werten kompaliert werden https://github.com/tcatm/alfred/blob/master/alfred.h oder hier muss eine andere (bessere) Lösung gefunden werden. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Ausschnitt der anzupassenden Datei /etc/init.d/alfred-saar&lt;br /&gt;
&lt;br /&gt;
DESC=&amp;quot;A.L.F.R.E.D -&amp;gt; Saar&amp;quot;&lt;br /&gt;
NAME=alfred&lt;br /&gt;
NAME2=alfred-saar&lt;br /&gt;
DAEMON=/usr/sbin/$NAME&lt;br /&gt;
PIDFILE=/var/run/$NAME2.pid&lt;br /&gt;
SCRIPTNAME=/etc/init.d/$NAME2&lt;br /&gt;
GROUP=alfred &lt;br /&gt;
OPTIONS=&amp;quot;&amp;quot;&lt;br /&gt;
UMASK=0117&lt;br /&gt;
&lt;br /&gt;
[ -x &amp;quot;$DAEMON&amp;quot; ] || exit 0&lt;br /&gt;
&lt;br /&gt;
# Source defaults.&lt;br /&gt;
[ -r /etc/default/$NAME2 ] &amp;amp;&amp;amp; . /etc/default/$NAME2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Ausschnitt der anzupassenden Datei /etc/init.d/alfred-lux&lt;br /&gt;
&lt;br /&gt;
DESC=&amp;quot;A.L.F.R.E.D -&amp;gt; Lux&amp;quot;&lt;br /&gt;
NAME=alfred-lux&lt;br /&gt;
DAEMON=/usr/sbin/$NAME&lt;br /&gt;
PIDFILE=/var/run/$NAME2.pid&lt;br /&gt;
SCRIPTNAME=/etc/init.d/$NAME2&lt;br /&gt;
GROUP=alfred&lt;br /&gt;
OPTIONS=&amp;quot;&amp;quot;&lt;br /&gt;
UMASK=0117&lt;br /&gt;
&lt;br /&gt;
[ -x &amp;quot;$DAEMON&amp;quot; ] || exit 0&lt;br /&gt;
&lt;br /&gt;
# Source defaults.&lt;br /&gt;
[ -r /etc/default/$NAME2 ] &amp;amp;&amp;amp; . /etc/default/$NAME2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Starten der neuen Alfreds&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo service alfred-saar start&lt;br /&gt;
sudo service alfred-lux start&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Nun testen ob alles wie gewünscht funktioniert und erst nach einem erfolgreichen Test die nun nicht mehr benötigten Daten löschen.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rm /etc/default/alfred&lt;br /&gt;
sudo rm /etc/init.d/alfred.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== batadv-vis ====&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=== Master Konfiguration ===&lt;br /&gt;
Benötigte Komponenten:&lt;br /&gt;
* Alfred&lt;br /&gt;
* Alfred-JSON&lt;br /&gt;
* Batman&lt;br /&gt;
&lt;br /&gt;
==== Alfred Konfiguration ====&lt;br /&gt;
Alfred muss auf auf dem Slave lediglich auf den MASTER=1 gesetzt werden und das Interface, sowie Batman muss angegeben sein. Für Details siehe [[#Alfred_Konfiguration | Slave Konfiguration -&amp;gt; Alfred Konfigurieren ]]&lt;br /&gt;
&#039;&#039;&#039;Achtung: Da auf dem Master aktuell nur ein Batman device läuft, ist hier aktuell kein alfred-lux gestartet, aber vorkonfiguriert&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Knotendateigenerierung ====&lt;br /&gt;
* Benötigt auch alias config&lt;br /&gt;
* bat2nodes für Kartengenerierung mit mkmap Skript. Checkout newest Version from https://github.com/freifunk-saar/ffmap-backend -&amp;gt; done.&lt;br /&gt;
* Cron Eintrag vom mkmap Skript&lt;br /&gt;
&lt;br /&gt;
==== Alias Konfiguration ====&lt;br /&gt;
Da wir uns für die manuelle Konfiguration des Announcement der Gateway Informationen entschieden haben ist eine Anpassung der Alias Datei für jede neue Gateway erforderlich.&lt;br /&gt;
Die Dateien &amp;lt;code&amp;gt;aliases_saar.json&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;aliases_lux.json&amp;lt;/code&amp;gt; befindet sich im bat2nodes Verzeichnis und beinhaltet für jede Gateway einen Alias Eintrag.&lt;br /&gt;
&lt;br /&gt;
Beipiel:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
   &amp;quot;&amp;lt;KENNUNG&amp;gt;1&amp;quot; : {&lt;br /&gt;
      &amp;quot;name&amp;quot; : &amp;quot;gw1.saar.freifunk.net&amp;quot;,&lt;br /&gt;
      &amp;quot;vpn&amp;quot; : true&lt;br /&gt;
   },&lt;br /&gt;
   &amp;quot;&amp;lt;KENNUNG&amp;gt;2&amp;quot; : {&lt;br /&gt;
      &amp;quot;name&amp;quot; : &amp;quot;gw2.saar.freifunk.net&amp;quot;,&lt;br /&gt;
      &amp;quot;vpn&amp;quot; : true&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== batadv-vis ====&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=== alfed-json ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== To be continued... ==&lt;br /&gt;
* DNSmasq statt radvd, bind, isc-dhcp-server&lt;/div&gt;</summary>
		<author><name>Tobi042</name></author>
	</entry>
	<entry>
		<id>https://wiki.hacksaar.de/index.php?title=Freifunk:IP-Adressen&amp;diff=1945</id>
		<title>Freifunk:IP-Adressen</title>
		<link rel="alternate" type="text/html" href="https://wiki.hacksaar.de/index.php?title=Freifunk:IP-Adressen&amp;diff=1945"/>
		<updated>2015-04-19T09:25:39Z</updated>

		<summary type="html">&lt;p&gt;Tobi042: /* Team */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hier sind ein paar technische Details zu unseren Gateway-Servern.&lt;br /&gt;
&lt;br /&gt;
= Team =&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich kümmert sich jeder aus dem Team um allgemeine Fragen auf der Mailingliste und das Eintragen von neuen VPN-Keys. Darüber hinaus haben manche Team-Mitglieder spezielle Aufgaben, die sie ausführen bzw. Themengebiete mit denen sie sich besonders auskennen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Name&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Aufgabenbereiche&lt;br /&gt;
|-&lt;br /&gt;
| Kim Meiser&lt;br /&gt;
| Public Relations, Webseite&lt;br /&gt;
|-&lt;br /&gt;
| Tobias Theobald&lt;br /&gt;
| Gateway-Administration, Firmware, allgemeine technische Fragen&lt;br /&gt;
|-&lt;br /&gt;
| Tobias Kuhn&lt;br /&gt;
| Knotenkarte, Alfred&lt;br /&gt;
|-&lt;br /&gt;
| Tobias von dem Broch&lt;br /&gt;
| Richtfunk, Antennenfragen&lt;br /&gt;
|-&lt;br /&gt;
| Marvin (hat bestimmt einen Nachnamen)&lt;br /&gt;
| Richtfunk&lt;br /&gt;
|-&lt;br /&gt;
| Constantin Berhard&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Hardware-Details =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Gateway&lt;br /&gt;
! CPU Typ&lt;br /&gt;
! CPU Kerne / Threads&lt;br /&gt;
! RAM&lt;br /&gt;
! Platte&lt;br /&gt;
! Internet-Anbindung&lt;br /&gt;
! Hoster&lt;br /&gt;
! Sponsor&lt;br /&gt;
! Zusätzliche Services&lt;br /&gt;
! Virtualisierung&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw1.saar.freifunk.net&lt;br /&gt;
| Intel(R) Xeon(R) CPU L5520 @ 2.27GHz&lt;br /&gt;
| 4 / 4&lt;br /&gt;
| 512 MB&lt;br /&gt;
| 10 GB&lt;br /&gt;
| 100 MBit Shared&lt;br /&gt;
| server.lu&lt;br /&gt;
| Tobias Theobald / Marc Schmit&lt;br /&gt;
| Firmwares für Autoupdater, Knotenkarte&lt;br /&gt;
| Xen&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw2.saar.freifunk.net&lt;br /&gt;
| Intel Core i7 9xx&lt;br /&gt;
| 2 / 2&lt;br /&gt;
| 512 MB&lt;br /&gt;
| 10 GB&lt;br /&gt;
| 100 MBit down / 6 MBit up&lt;br /&gt;
| &lt;br /&gt;
| TKS e.V.&lt;br /&gt;
| &lt;br /&gt;
| KVM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw3.saar.freifunk.net&lt;br /&gt;
| Intel(R) Atom(TM) CPU N2800 @ 1.86GHz&lt;br /&gt;
| 2 / 4&lt;br /&gt;
| 2 GB&lt;br /&gt;
| 500 GB&lt;br /&gt;
| 100 MBit shared&lt;br /&gt;
| Kimsufi / OVH&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw4.saar.freifunk.net&lt;br /&gt;
| Intel(R) Atom(TM) CPU N2800 @ 1.86GHz&lt;br /&gt;
| 2 / 4&lt;br /&gt;
| 2 GB&lt;br /&gt;
| 500 GB&lt;br /&gt;
| 100 MBit shared&lt;br /&gt;
| Kimsufi / OVH&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| ?&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Public DNS / IPs =&lt;br /&gt;
&lt;br /&gt;
Hier eine Tabelle mit den DNS-Namen und IP-Adressen unserer Gateways.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Gateway&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Alt DNS Name&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Public IPv4&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Public IPv6&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw1.saar.freifunk.net&lt;br /&gt;
| freifunk.tobi042.de&lt;br /&gt;
| 94.242.195.78&lt;br /&gt;
| 2a01:608:ffff:9876:cafe:babe:6:1&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw2.saar.freifunk.net&lt;br /&gt;
| freifunk.dyn.hacksaar.de&lt;br /&gt;
| (dynamisch)&lt;br /&gt;
| (dynamisch)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw3.saar.freifunk.net&lt;br /&gt;
| ns326072.ip-37-187-107.eu&lt;br /&gt;
| 37.187.107.18&lt;br /&gt;
| 2001:41d0:a:3b12::1&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw4.saar.freifunk.net&lt;br /&gt;
| ns327157.ip-37-187-109.eu&lt;br /&gt;
| 37.187.109.160&lt;br /&gt;
| 2001:41d0:a:62a0::1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Anmerkung: GW2 steht im Hackerspace des TKS e.V. hinter einem dynamischen Kabel Deutschland Anschluss, daher sind die IP-Adressen hier dynamisch.&lt;br /&gt;
&lt;br /&gt;
Weitere Anmerkung: GW3 und 4 sind Kimsufi-Server, deren DNS-CName verweist noch nicht auf die IPv6-Adresse der Server. &lt;br /&gt;
&lt;br /&gt;
= Mesh IPs =&lt;br /&gt;
&lt;br /&gt;
Jeder Gateway ist Teil unseres Mesh-VPN und braucht als solches diverse Adressen, über die er im Mesh erreichbar ist.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Gateway&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Saar Mesh IPv4&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Saar Mesh IPv6&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Saar Mesh MAC&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Lux Mesh IPv4&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Lux Mesh IPv6&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Lux Mesh MAC&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw1.saar.freifunk.net&lt;br /&gt;
| 10.24.192.2&lt;br /&gt;
| fd4e:f2d7:88d2:ffff::2&lt;br /&gt;
| ca:fe:ba:be:00:01&lt;br /&gt;
| 10.24.128.2&lt;br /&gt;
| fd4e:f2d7:88d2:fffe::2&lt;br /&gt;
| ca:fe:ba:be:01:01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw2.saar.freifunk.net&lt;br /&gt;
| 10.24.192.3&lt;br /&gt;
| fd4e:f2d7:88d2:ffff::3&lt;br /&gt;
| ca:fe:ba:be:00:02&lt;br /&gt;
| 10.24.128.3&lt;br /&gt;
| fd4e:f2d7:88d2:fffe::3&lt;br /&gt;
| ca:fe:ba:be:01:02&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw3.saar.freifunk.net&lt;br /&gt;
| 10.24.192.4&lt;br /&gt;
| fd4e:f2d7:88d2:ffff::4&lt;br /&gt;
| ca:fe:ba:be:00:03&lt;br /&gt;
| 10.24.128.4&lt;br /&gt;
| fd4e:f2d7:88d2:fffe::4&lt;br /&gt;
| ca:fe:ba:be:01:03&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw4.saar.freifunk.net&lt;br /&gt;
| 10.24.192.5&lt;br /&gt;
| fd4e:f2d7:88d2:ffff::5&lt;br /&gt;
| ca:fe:ba:be:00:04&lt;br /&gt;
| 10.24.128.5&lt;br /&gt;
| fd4e:f2d7:88d2:fffe::5&lt;br /&gt;
| ca:fe:ba:be:01:04&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Darüber hinaus gibt es in jedem Netz eine Anycast IP, die immer auf das gerade verwendete Gateway zeigt:&lt;br /&gt;
&lt;br /&gt;
Saar: 10.24.192.1 / fd4e:f2d7:88d2:ffff::1&lt;br /&gt;
Lux: 10.24.128.1 / fd4e:f2d7:88d2:fffe::1&lt;br /&gt;
&lt;br /&gt;
= DHCP-Ranges =&lt;br /&gt;
&lt;br /&gt;
Auf jedem Gateway läuft pro Netz (Saar, Lux) ein DHCP-Server, der IP-Adressen an Clients verteilt, die diesen Server als Gateway nutzen. Grundsätzlich verteilen wir hier /22-Ranges, also bis zu 1022 IP-Adressen pro Gateway. Ich halte es für denkbar, dass ein einzelner Server nicht so viele Clients packt, aber reduzieren geht ja schließlich immer, erweitern ist problematisch.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Gateway&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Saar DHCP Range&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Lux DHCP Range&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw1.saar.freifunk.net&lt;br /&gt;
| 10.24.196.0/22&lt;br /&gt;
| 10.24.132.0/22&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw2.saar.freifunk.net&lt;br /&gt;
| 10.24.200.0/22&lt;br /&gt;
| 10.24.136.0/22&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw3.saar.freifunk.net&lt;br /&gt;
| 10.24.204.0/22&lt;br /&gt;
| 10.24.140.0/22&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw4.saar.freifunk.net&lt;br /&gt;
| 10.24.208.0/22&lt;br /&gt;
| 10.24.144.0/22&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Reservierte andere Ranges:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Zuweisung&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Saar-Range&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Lux-Range&lt;br /&gt;
|-&lt;br /&gt;
| Admin-Netz&lt;br /&gt;
| 10.24.192.0/24&lt;br /&gt;
| 10.24.128.0/24&lt;br /&gt;
|-&lt;br /&gt;
| Nicht zugewiesen&lt;br /&gt;
| 10.24.193.0/24&lt;br /&gt;
| 10.24.129.0/24&lt;br /&gt;
|-&lt;br /&gt;
| User Services&lt;br /&gt;
| 10.24.194.0/23&lt;br /&gt;
| 10.24.130.0/23&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Mesh Public Keys =&lt;br /&gt;
&lt;br /&gt;
Das Mesh-VPN wird mit der VPN-Software fastd realisiert. Sie ist klein und schnell und damit wunderbar für den Einsatz auf Routern geeignet. &lt;br /&gt;
&lt;br /&gt;
Die saarländischen Mesh-Instanzen lauschen immer auf UDP Port 10000, die luxemburgischen auf Port 10001. Als Cipher unterstützen unsere Server salsa2012+umac, die VPN-interne MTU beträgt 1426 byte, wobei sich das in Zukunft ändern wird, da durch den größeren IPv6-Header die MTU kleiner wird (d.h. wird irgendwann in Zukunft auf 1406 geändert).&lt;br /&gt;
&lt;br /&gt;
Hier die Public Keys und den Online-Status (nicht live) unserer Gateways:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Gateway&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Public Key Saar&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Aktiv?&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Public Key Lux&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Aktiv?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw1.saar.freifunk.net&lt;br /&gt;
| 5136a920a8c7aa9ae2ca1c2a1e33ea8c45e01501fac0f02b9d6a05b167ac5993&lt;br /&gt;
| Ja&lt;br /&gt;
| 4ed85c21d3db653bd2f1b210a8b60cbe25c40a3c2b756fc9c30d864466ad519d&lt;br /&gt;
| Nein&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw2.saar.freifunk.net&lt;br /&gt;
| 80859883c8a22867b20082078ab0934bdf58f556e7acda90730ea282d8da9388&lt;br /&gt;
| Ja&lt;br /&gt;
| 0ce6c650b07207b05ee4be3680cb1b1c69aea92fd76fecda50c720061f5cf9af&lt;br /&gt;
| Ja&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw3.saar.freifunk.net&lt;br /&gt;
| 711d1dc6f2048ffe88997441612ca764595b414abea5495c4f3ce746c72774e6&lt;br /&gt;
| Ja&lt;br /&gt;
| 440fa235832b933bebb66c91929a83a9c3a47348f164b1c7440661bb142dd32b&lt;br /&gt;
| Ja&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw4.saar.freifunk.net&lt;br /&gt;
| 33e02014b00a45bc8249b4428a9da614a370b5e386fa5d8d66c325941aa27568&lt;br /&gt;
| Nein&lt;br /&gt;
| 260f0a780281f49cdee9332c2139416cd715fb0257ac75d49ce43c4125654e36&lt;br /&gt;
| Nein&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Mesh WLAN =&lt;br /&gt;
&lt;br /&gt;
Hier die Details für das WLAN auf den Clients&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Netz&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Mesh {E/B}SSID&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Clients ESSID&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | 2.4 GHz Kanal&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | 5 GHz Kanal&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | HT-Modul&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | Saar&lt;br /&gt;
| 5e:ba:7a:d2:c4:ba&lt;br /&gt;
| saar.freifunk.net&lt;br /&gt;
| 1&lt;br /&gt;
| 36&lt;br /&gt;
| HT40+&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | Lux&lt;br /&gt;
| 5e:ba:7a:d2:c4:bb&lt;br /&gt;
| luxembourg.freifunk.net&lt;br /&gt;
| 1&lt;br /&gt;
| 36&lt;br /&gt;
| HT40+&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Tobi042</name></author>
	</entry>
	<entry>
		<id>https://wiki.hacksaar.de/index.php?title=Freifunk:IP-Adressen&amp;diff=1944</id>
		<title>Freifunk:IP-Adressen</title>
		<link rel="alternate" type="text/html" href="https://wiki.hacksaar.de/index.php?title=Freifunk:IP-Adressen&amp;diff=1944"/>
		<updated>2015-04-19T09:23:19Z</updated>

		<summary type="html">&lt;p&gt;Tobi042: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hier sind ein paar technische Details zu unseren Gateway-Servern.&lt;br /&gt;
&lt;br /&gt;
= Team =&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich kümmert sich jeder aus dem Team um allgemeine Fragen auf der Mailingliste und das Eintragen von neuen VPN-Keys. Darüber hinaus haben manche Team-Mitglieder spezielle Aufgaben, die sie ausführen bzw. Themengebiete mit denen sie sich besonders auskennen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Name&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Aufgabenbereiche&lt;br /&gt;
|-&lt;br /&gt;
| Kim Meiser&lt;br /&gt;
| Public Relations, Webseite&lt;br /&gt;
|-&lt;br /&gt;
| Tobias Theobald&lt;br /&gt;
| Gateway-Administration, Firmware, allgemeine technische Fragen&lt;br /&gt;
|-&lt;br /&gt;
| Tobias Kuhn&lt;br /&gt;
| Knotenkarte, Alfred&lt;br /&gt;
|-&lt;br /&gt;
| Tobias von dem Broch&lt;br /&gt;
| Richtfunk, Antennenfragen&lt;br /&gt;
|-&lt;br /&gt;
| Marvin (hat bestimmt einen Nachnamen)&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Constantin Berhard&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Hardware-Details =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Gateway&lt;br /&gt;
! CPU Typ&lt;br /&gt;
! CPU Kerne / Threads&lt;br /&gt;
! RAM&lt;br /&gt;
! Platte&lt;br /&gt;
! Internet-Anbindung&lt;br /&gt;
! Hoster&lt;br /&gt;
! Sponsor&lt;br /&gt;
! Zusätzliche Services&lt;br /&gt;
! Virtualisierung&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw1.saar.freifunk.net&lt;br /&gt;
| Intel(R) Xeon(R) CPU L5520 @ 2.27GHz&lt;br /&gt;
| 4 / 4&lt;br /&gt;
| 512 MB&lt;br /&gt;
| 10 GB&lt;br /&gt;
| 100 MBit Shared&lt;br /&gt;
| server.lu&lt;br /&gt;
| Tobias Theobald / Marc Schmit&lt;br /&gt;
| Firmwares für Autoupdater, Knotenkarte&lt;br /&gt;
| Xen&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw2.saar.freifunk.net&lt;br /&gt;
| Intel Core i7 9xx&lt;br /&gt;
| 2 / 2&lt;br /&gt;
| 512 MB&lt;br /&gt;
| 10 GB&lt;br /&gt;
| 100 MBit down / 6 MBit up&lt;br /&gt;
| &lt;br /&gt;
| TKS e.V.&lt;br /&gt;
| &lt;br /&gt;
| KVM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw3.saar.freifunk.net&lt;br /&gt;
| Intel(R) Atom(TM) CPU N2800 @ 1.86GHz&lt;br /&gt;
| 2 / 4&lt;br /&gt;
| 2 GB&lt;br /&gt;
| 500 GB&lt;br /&gt;
| 100 MBit shared&lt;br /&gt;
| Kimsufi / OVH&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw4.saar.freifunk.net&lt;br /&gt;
| Intel(R) Atom(TM) CPU N2800 @ 1.86GHz&lt;br /&gt;
| 2 / 4&lt;br /&gt;
| 2 GB&lt;br /&gt;
| 500 GB&lt;br /&gt;
| 100 MBit shared&lt;br /&gt;
| Kimsufi / OVH&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| ?&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Public DNS / IPs =&lt;br /&gt;
&lt;br /&gt;
Hier eine Tabelle mit den DNS-Namen und IP-Adressen unserer Gateways.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Gateway&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Alt DNS Name&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Public IPv4&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Public IPv6&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw1.saar.freifunk.net&lt;br /&gt;
| freifunk.tobi042.de&lt;br /&gt;
| 94.242.195.78&lt;br /&gt;
| 2a01:608:ffff:9876:cafe:babe:6:1&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw2.saar.freifunk.net&lt;br /&gt;
| freifunk.dyn.hacksaar.de&lt;br /&gt;
| (dynamisch)&lt;br /&gt;
| (dynamisch)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw3.saar.freifunk.net&lt;br /&gt;
| ns326072.ip-37-187-107.eu&lt;br /&gt;
| 37.187.107.18&lt;br /&gt;
| 2001:41d0:a:3b12::1&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw4.saar.freifunk.net&lt;br /&gt;
| ns327157.ip-37-187-109.eu&lt;br /&gt;
| 37.187.109.160&lt;br /&gt;
| 2001:41d0:a:62a0::1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Anmerkung: GW2 steht im Hackerspace des TKS e.V. hinter einem dynamischen Kabel Deutschland Anschluss, daher sind die IP-Adressen hier dynamisch.&lt;br /&gt;
&lt;br /&gt;
Weitere Anmerkung: GW3 und 4 sind Kimsufi-Server, deren DNS-CName verweist noch nicht auf die IPv6-Adresse der Server. &lt;br /&gt;
&lt;br /&gt;
= Mesh IPs =&lt;br /&gt;
&lt;br /&gt;
Jeder Gateway ist Teil unseres Mesh-VPN und braucht als solches diverse Adressen, über die er im Mesh erreichbar ist.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Gateway&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Saar Mesh IPv4&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Saar Mesh IPv6&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Saar Mesh MAC&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Lux Mesh IPv4&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Lux Mesh IPv6&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Lux Mesh MAC&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw1.saar.freifunk.net&lt;br /&gt;
| 10.24.192.2&lt;br /&gt;
| fd4e:f2d7:88d2:ffff::2&lt;br /&gt;
| ca:fe:ba:be:00:01&lt;br /&gt;
| 10.24.128.2&lt;br /&gt;
| fd4e:f2d7:88d2:fffe::2&lt;br /&gt;
| ca:fe:ba:be:01:01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw2.saar.freifunk.net&lt;br /&gt;
| 10.24.192.3&lt;br /&gt;
| fd4e:f2d7:88d2:ffff::3&lt;br /&gt;
| ca:fe:ba:be:00:02&lt;br /&gt;
| 10.24.128.3&lt;br /&gt;
| fd4e:f2d7:88d2:fffe::3&lt;br /&gt;
| ca:fe:ba:be:01:02&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw3.saar.freifunk.net&lt;br /&gt;
| 10.24.192.4&lt;br /&gt;
| fd4e:f2d7:88d2:ffff::4&lt;br /&gt;
| ca:fe:ba:be:00:03&lt;br /&gt;
| 10.24.128.4&lt;br /&gt;
| fd4e:f2d7:88d2:fffe::4&lt;br /&gt;
| ca:fe:ba:be:01:03&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw4.saar.freifunk.net&lt;br /&gt;
| 10.24.192.5&lt;br /&gt;
| fd4e:f2d7:88d2:ffff::5&lt;br /&gt;
| ca:fe:ba:be:00:04&lt;br /&gt;
| 10.24.128.5&lt;br /&gt;
| fd4e:f2d7:88d2:fffe::5&lt;br /&gt;
| ca:fe:ba:be:01:04&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Darüber hinaus gibt es in jedem Netz eine Anycast IP, die immer auf das gerade verwendete Gateway zeigt:&lt;br /&gt;
&lt;br /&gt;
Saar: 10.24.192.1 / fd4e:f2d7:88d2:ffff::1&lt;br /&gt;
Lux: 10.24.128.1 / fd4e:f2d7:88d2:fffe::1&lt;br /&gt;
&lt;br /&gt;
= DHCP-Ranges =&lt;br /&gt;
&lt;br /&gt;
Auf jedem Gateway läuft pro Netz (Saar, Lux) ein DHCP-Server, der IP-Adressen an Clients verteilt, die diesen Server als Gateway nutzen. Grundsätzlich verteilen wir hier /22-Ranges, also bis zu 1022 IP-Adressen pro Gateway. Ich halte es für denkbar, dass ein einzelner Server nicht so viele Clients packt, aber reduzieren geht ja schließlich immer, erweitern ist problematisch.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Gateway&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Saar DHCP Range&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Lux DHCP Range&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw1.saar.freifunk.net&lt;br /&gt;
| 10.24.196.0/22&lt;br /&gt;
| 10.24.132.0/22&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw2.saar.freifunk.net&lt;br /&gt;
| 10.24.200.0/22&lt;br /&gt;
| 10.24.136.0/22&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw3.saar.freifunk.net&lt;br /&gt;
| 10.24.204.0/22&lt;br /&gt;
| 10.24.140.0/22&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw4.saar.freifunk.net&lt;br /&gt;
| 10.24.208.0/22&lt;br /&gt;
| 10.24.144.0/22&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Reservierte andere Ranges:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Zuweisung&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Saar-Range&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Lux-Range&lt;br /&gt;
|-&lt;br /&gt;
| Admin-Netz&lt;br /&gt;
| 10.24.192.0/24&lt;br /&gt;
| 10.24.128.0/24&lt;br /&gt;
|-&lt;br /&gt;
| Nicht zugewiesen&lt;br /&gt;
| 10.24.193.0/24&lt;br /&gt;
| 10.24.129.0/24&lt;br /&gt;
|-&lt;br /&gt;
| User Services&lt;br /&gt;
| 10.24.194.0/23&lt;br /&gt;
| 10.24.130.0/23&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Mesh Public Keys =&lt;br /&gt;
&lt;br /&gt;
Das Mesh-VPN wird mit der VPN-Software fastd realisiert. Sie ist klein und schnell und damit wunderbar für den Einsatz auf Routern geeignet. &lt;br /&gt;
&lt;br /&gt;
Die saarländischen Mesh-Instanzen lauschen immer auf UDP Port 10000, die luxemburgischen auf Port 10001. Als Cipher unterstützen unsere Server salsa2012+umac, die VPN-interne MTU beträgt 1426 byte, wobei sich das in Zukunft ändern wird, da durch den größeren IPv6-Header die MTU kleiner wird (d.h. wird irgendwann in Zukunft auf 1406 geändert).&lt;br /&gt;
&lt;br /&gt;
Hier die Public Keys und den Online-Status (nicht live) unserer Gateways:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Gateway&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Public Key Saar&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Aktiv?&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Public Key Lux&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Aktiv?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw1.saar.freifunk.net&lt;br /&gt;
| 5136a920a8c7aa9ae2ca1c2a1e33ea8c45e01501fac0f02b9d6a05b167ac5993&lt;br /&gt;
| Ja&lt;br /&gt;
| 4ed85c21d3db653bd2f1b210a8b60cbe25c40a3c2b756fc9c30d864466ad519d&lt;br /&gt;
| Nein&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw2.saar.freifunk.net&lt;br /&gt;
| 80859883c8a22867b20082078ab0934bdf58f556e7acda90730ea282d8da9388&lt;br /&gt;
| Ja&lt;br /&gt;
| 0ce6c650b07207b05ee4be3680cb1b1c69aea92fd76fecda50c720061f5cf9af&lt;br /&gt;
| Ja&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw3.saar.freifunk.net&lt;br /&gt;
| 711d1dc6f2048ffe88997441612ca764595b414abea5495c4f3ce746c72774e6&lt;br /&gt;
| Ja&lt;br /&gt;
| 440fa235832b933bebb66c91929a83a9c3a47348f164b1c7440661bb142dd32b&lt;br /&gt;
| Ja&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw4.saar.freifunk.net&lt;br /&gt;
| 33e02014b00a45bc8249b4428a9da614a370b5e386fa5d8d66c325941aa27568&lt;br /&gt;
| Nein&lt;br /&gt;
| 260f0a780281f49cdee9332c2139416cd715fb0257ac75d49ce43c4125654e36&lt;br /&gt;
| Nein&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Mesh WLAN =&lt;br /&gt;
&lt;br /&gt;
Hier die Details für das WLAN auf den Clients&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Netz&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Mesh {E/B}SSID&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Clients ESSID&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | 2.4 GHz Kanal&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | 5 GHz Kanal&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | HT-Modul&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | Saar&lt;br /&gt;
| 5e:ba:7a:d2:c4:ba&lt;br /&gt;
| saar.freifunk.net&lt;br /&gt;
| 1&lt;br /&gt;
| 36&lt;br /&gt;
| HT40+&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | Lux&lt;br /&gt;
| 5e:ba:7a:d2:c4:bb&lt;br /&gt;
| luxembourg.freifunk.net&lt;br /&gt;
| 1&lt;br /&gt;
| 36&lt;br /&gt;
| HT40+&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Tobi042</name></author>
	</entry>
	<entry>
		<id>https://wiki.hacksaar.de/index.php?title=Freifunk:IP-Adressen&amp;diff=1943</id>
		<title>Freifunk:IP-Adressen</title>
		<link rel="alternate" type="text/html" href="https://wiki.hacksaar.de/index.php?title=Freifunk:IP-Adressen&amp;diff=1943"/>
		<updated>2015-04-19T08:16:40Z</updated>

		<summary type="html">&lt;p&gt;Tobi042: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hier sind ein paar technische Details zu unseren Gateway-Servern.&lt;br /&gt;
&lt;br /&gt;
= Team =&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich kümmert sich jeder aus dem Team um allgemeine Fragen auf der Mailingliste und das Eintragen von neuen VPN-Keys. Darüber hinaus haben manche Team-Mitglieder spezielle Aufgaben, die sie ausführen bzw. Themengebiete mit denen sie sich besonders auskennen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Name&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Aufgabenbereiche&lt;br /&gt;
|-&lt;br /&gt;
| Kim Meiser&lt;br /&gt;
| PR, Webseite, allgemeine Leitung&lt;br /&gt;
|-&lt;br /&gt;
| Tobias Theobald&lt;br /&gt;
| Gateway-Administration, Firmware, allgemeine technische Fragen&lt;br /&gt;
|-&lt;br /&gt;
| Tobias Kuhn&lt;br /&gt;
| Knotenkarte, Alfred&lt;br /&gt;
|-&lt;br /&gt;
| Tobias von dem Broch&lt;br /&gt;
| Richtfunk, Antennenfragen&lt;br /&gt;
|-&lt;br /&gt;
| Marvin (hat bestimmt einen Nachnamen)&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Constantin Berhard&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Hardware-Details =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Gateway&lt;br /&gt;
! CPU Typ&lt;br /&gt;
! CPU Kerne / Threads&lt;br /&gt;
! RAM&lt;br /&gt;
! Platte&lt;br /&gt;
! Internet-Anbindung&lt;br /&gt;
! Hoster&lt;br /&gt;
! Sponsor&lt;br /&gt;
! Zusätzliche Services&lt;br /&gt;
! Virtualisierung&lt;br /&gt;
! OS&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw1.saar.freifunk.net&lt;br /&gt;
| Intel(R) Xeon(R) CPU L5520 @ 2.27GHz&lt;br /&gt;
| 4 / 4&lt;br /&gt;
| 512 MB&lt;br /&gt;
| 10 GB&lt;br /&gt;
| 100 MBit Shared&lt;br /&gt;
| server.lu&lt;br /&gt;
| Tobias Theobald / Marc Schmit&lt;br /&gt;
| Firmwares für Autoupdater, Knotenkarte&lt;br /&gt;
| Xen&lt;br /&gt;
| Debian 7&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw2.saar.freifunk.net&lt;br /&gt;
| Intel Core i7 9xx&lt;br /&gt;
| 2 / 2&lt;br /&gt;
| 512 MB&lt;br /&gt;
| 10 GB&lt;br /&gt;
| 100 MBit down / 6 MBit up&lt;br /&gt;
| &lt;br /&gt;
| TKS e.V.&lt;br /&gt;
| &lt;br /&gt;
| KVM&lt;br /&gt;
| Debian 7&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw3.saar.freifunk.net&lt;br /&gt;
| Intel(R) Atom(TM) CPU N2800 @ 1.86GHz&lt;br /&gt;
| 2 / 4&lt;br /&gt;
| 2 GB&lt;br /&gt;
| 500 GB&lt;br /&gt;
| 100 MBit shared&lt;br /&gt;
| Kimsufi / OVH&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| ?&lt;br /&gt;
| Debian 7&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw4.saar.freifunk.net&lt;br /&gt;
| Intel(R) Atom(TM) CPU N2800 @ 1.86GHz&lt;br /&gt;
| 2 / 4&lt;br /&gt;
| 2 GB&lt;br /&gt;
| 500 GB&lt;br /&gt;
| 100 MBit shared&lt;br /&gt;
| Kimsufi / OVH&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| ?&lt;br /&gt;
| Debian 7&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Public DNS / IPs =&lt;br /&gt;
&lt;br /&gt;
Hier eine Tabelle mit den DNS-Namen und IP-Adressen unserer Gateways.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Gateway&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Alt DNS Name&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Public IPv4&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Public IPv6&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw1.saar.freifunk.net&lt;br /&gt;
| freifunk.tobi042.de&lt;br /&gt;
| 94.242.195.78&lt;br /&gt;
| 2a01:608:ffff:9876:cafe:babe:6:1&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw2.saar.freifunk.net&lt;br /&gt;
| freifunk.dyn.hacksaar.de&lt;br /&gt;
| (dynamisch)&lt;br /&gt;
| (dynamisch)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw3.saar.freifunk.net&lt;br /&gt;
| ns326072.ip-37-187-107.eu&lt;br /&gt;
| 37.187.107.18&lt;br /&gt;
| 2001:41d0:a:3b12::1&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw4.saar.freifunk.net&lt;br /&gt;
| ns327157.ip-37-187-109.eu&lt;br /&gt;
| 37.187.109.160&lt;br /&gt;
| 2001:41d0:a:62a0::1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Anmerkung: GW2 steht im Hackerspace des TKS e.V. hinter einem dynamischen Kabel Deutschland Anschluss, daher sind die IP-Adressen hier dynamisch.&lt;br /&gt;
&lt;br /&gt;
Weitere Anmerkung: GW3 und 4 sind Kimsufi-Server, deren DNS-CName verweist noch nicht auf die IPv6-Adresse der Server. &lt;br /&gt;
&lt;br /&gt;
= Mesh IPs =&lt;br /&gt;
&lt;br /&gt;
Jeder Gateway ist Teil unseres Mesh-VPN und braucht als solches diverse Adressen, über die er im Mesh erreichbar ist.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Gateway&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Saar Mesh IPv4&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Saar Mesh IPv6&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Saar Mesh MAC&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Lux Mesh IPv4&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Lux Mesh IPv6&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Lux Mesh MAC&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw1.saar.freifunk.net&lt;br /&gt;
| 10.24.192.2&lt;br /&gt;
| fd4e:f2d7:88d2:ffff::2&lt;br /&gt;
| ca:fe:ba:be:00:01&lt;br /&gt;
| 10.24.128.2&lt;br /&gt;
| fd4e:f2d7:88d2:fffe::2&lt;br /&gt;
| ca:fe:ba:be:01:01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw2.saar.freifunk.net&lt;br /&gt;
| 10.24.192.3&lt;br /&gt;
| fd4e:f2d7:88d2:ffff::3&lt;br /&gt;
| ca:fe:ba:be:00:02&lt;br /&gt;
| 10.24.128.3&lt;br /&gt;
| fd4e:f2d7:88d2:fffe::3&lt;br /&gt;
| ca:fe:ba:be:01:02&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw3.saar.freifunk.net&lt;br /&gt;
| 10.24.192.4&lt;br /&gt;
| fd4e:f2d7:88d2:ffff::4&lt;br /&gt;
| ca:fe:ba:be:00:03&lt;br /&gt;
| 10.24.128.4&lt;br /&gt;
| fd4e:f2d7:88d2:fffe::4&lt;br /&gt;
| ca:fe:ba:be:01:03&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw4.saar.freifunk.net&lt;br /&gt;
| 10.24.192.5&lt;br /&gt;
| fd4e:f2d7:88d2:ffff::5&lt;br /&gt;
| ca:fe:ba:be:00:04&lt;br /&gt;
| 10.24.128.5&lt;br /&gt;
| fd4e:f2d7:88d2:fffe::5&lt;br /&gt;
| ca:fe:ba:be:01:04&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Darüber hinaus gibt es in jedem Netz eine Anycast IP, die immer auf das gerade verwendete Gateway zeigt:&lt;br /&gt;
&lt;br /&gt;
Saar: 10.24.192.1 / fd4e:f2d7:88d2:ffff::1&lt;br /&gt;
Lux: 10.24.128.1 / fd4e:f2d7:88d2:fffe::1&lt;br /&gt;
&lt;br /&gt;
= DHCP-Ranges =&lt;br /&gt;
&lt;br /&gt;
Auf jedem Gateway läuft pro Netz (Saar, Lux) ein DHCP-Server, der IP-Adressen an Clients verteilt, die diesen Server als Gateway nutzen. Grundsätzlich verteilen wir hier /22-Ranges, also bis zu 1022 IP-Adressen pro Gateway. Ich halte es für denkbar, dass ein einzelner Server nicht so viele Clients packt, aber reduzieren geht ja schließlich immer, erweitern ist problematisch.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Gateway&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Saar DHCP Range&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Lux DHCP Range&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw1.saar.freifunk.net&lt;br /&gt;
| 10.24.196.0/22&lt;br /&gt;
| 10.24.132.0/22&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw2.saar.freifunk.net&lt;br /&gt;
| 10.24.200.0/22&lt;br /&gt;
| 10.24.136.0/22&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw3.saar.freifunk.net&lt;br /&gt;
| 10.24.204.0/22&lt;br /&gt;
| 10.24.140.0/22&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw4.saar.freifunk.net&lt;br /&gt;
| 10.24.208.0/22&lt;br /&gt;
| 10.24.144.0/22&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Reservierte andere Ranges:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Zuweisung&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Saar-Range&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Lux-Range&lt;br /&gt;
|-&lt;br /&gt;
| Admin-Netz&lt;br /&gt;
| 10.24.192.0/24&lt;br /&gt;
| 10.24.128.0/24&lt;br /&gt;
|-&lt;br /&gt;
| Nicht zugewiesen&lt;br /&gt;
| 10.24.193.0/24&lt;br /&gt;
| 10.24.129.0/24&lt;br /&gt;
|-&lt;br /&gt;
| User Services&lt;br /&gt;
| 10.24.194.0/23&lt;br /&gt;
| 10.24.130.0/23&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Mesh Public Keys =&lt;br /&gt;
&lt;br /&gt;
Das Mesh-VPN wird mit der VPN-Software fastd realisiert. Sie ist klein und schnell und damit wunderbar für den Einsatz auf Routern geeignet. &lt;br /&gt;
&lt;br /&gt;
Die saarländischen Mesh-Instanzen lauschen immer auf UDP Port 10000, die luxemburgischen auf Port 10001. Als Cipher unterstützen unsere Server salsa2012+umac, die VPN-interne MTU beträgt 1426 byte, wobei sich das in Zukunft ändern wird, da durch den größeren IPv6-Header die MTU kleiner wird (d.h. wird irgendwann in Zukunft auf 1406 geändert).&lt;br /&gt;
&lt;br /&gt;
Hier die Public Keys und den Online-Status (nicht live) unserer Gateways:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Gateway&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Public Key Saar&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Aktiv?&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Public Key Lux&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Aktiv?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw1.saar.freifunk.net&lt;br /&gt;
| 5136a920a8c7aa9ae2ca1c2a1e33ea8c45e01501fac0f02b9d6a05b167ac5993&lt;br /&gt;
| Ja&lt;br /&gt;
| 4ed85c21d3db653bd2f1b210a8b60cbe25c40a3c2b756fc9c30d864466ad519d&lt;br /&gt;
| Nein&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw2.saar.freifunk.net&lt;br /&gt;
| 80859883c8a22867b20082078ab0934bdf58f556e7acda90730ea282d8da9388&lt;br /&gt;
| Ja&lt;br /&gt;
| 0ce6c650b07207b05ee4be3680cb1b1c69aea92fd76fecda50c720061f5cf9af&lt;br /&gt;
| Ja&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw3.saar.freifunk.net&lt;br /&gt;
| 711d1dc6f2048ffe88997441612ca764595b414abea5495c4f3ce746c72774e6&lt;br /&gt;
| Ja&lt;br /&gt;
| 440fa235832b933bebb66c91929a83a9c3a47348f164b1c7440661bb142dd32b&lt;br /&gt;
| Ja&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw4.saar.freifunk.net&lt;br /&gt;
| 33e02014b00a45bc8249b4428a9da614a370b5e386fa5d8d66c325941aa27568&lt;br /&gt;
| Nein&lt;br /&gt;
| 260f0a780281f49cdee9332c2139416cd715fb0257ac75d49ce43c4125654e36&lt;br /&gt;
| Nein&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Mesh WLAN =&lt;br /&gt;
&lt;br /&gt;
Hier die Details für das WLAN auf den Clients&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Netz&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Mesh {E/B}SSID&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Clients ESSID&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | 2.4 GHz Kanal&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | 5 GHz Kanal&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | HT-Modul&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | Saar&lt;br /&gt;
| 5e:ba:7a:d2:c4:ba&lt;br /&gt;
| saar.freifunk.net&lt;br /&gt;
| 1&lt;br /&gt;
| 36&lt;br /&gt;
| HT40+&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | Lux&lt;br /&gt;
| 5e:ba:7a:d2:c4:bb&lt;br /&gt;
| luxembourg.freifunk.net&lt;br /&gt;
| 1&lt;br /&gt;
| 36&lt;br /&gt;
| HT40+&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Tobi042</name></author>
	</entry>
	<entry>
		<id>https://wiki.hacksaar.de/index.php?title=Freifunk:IP-Adressen&amp;diff=1942</id>
		<title>Freifunk:IP-Adressen</title>
		<link rel="alternate" type="text/html" href="https://wiki.hacksaar.de/index.php?title=Freifunk:IP-Adressen&amp;diff=1942"/>
		<updated>2015-04-19T07:52:51Z</updated>

		<summary type="html">&lt;p&gt;Tobi042: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hier sind ein paar technische Details zu unseren Gateway-Servern.&lt;br /&gt;
&lt;br /&gt;
= Team =&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich kümmert sich jeder aus dem Team um allgemeine Fragen auf der Mailingliste und das Eintragen von neuen VPN-Keys. Darüber hinaus haben manche Team-Mitglieder spezielle Aufgaben, die sie ausführen bzw. Themengebiete mit denen sie sich besonders auskennen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Name&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Aufgabenbereiche&lt;br /&gt;
|-&lt;br /&gt;
| Kim Meiser&lt;br /&gt;
| PR, Webseite, allgemeine Leitung&lt;br /&gt;
|-&lt;br /&gt;
| Tobias Theobald&lt;br /&gt;
| Gateway-Administration, Firmware, allgemeine technische Fragen&lt;br /&gt;
|-&lt;br /&gt;
| Tobias Kuhn&lt;br /&gt;
| Knotenkarte, Alfred&lt;br /&gt;
|-&lt;br /&gt;
| Tobias von dem Broch&lt;br /&gt;
| Richtfunk, Antennenfragen&lt;br /&gt;
|-&lt;br /&gt;
| Marvin (hat bestimmt einen Nachnamen)&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Constantin Berhard&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Hardware-Details =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Gateway&lt;br /&gt;
! CPU Typ&lt;br /&gt;
! CPU Kerne / Threads&lt;br /&gt;
! RAM&lt;br /&gt;
! Platte&lt;br /&gt;
! Internet-Anbindung&lt;br /&gt;
! Hoster&lt;br /&gt;
! Sponsor&lt;br /&gt;
! Zusätzliche Services&lt;br /&gt;
! Virtualisierung&lt;br /&gt;
! OS&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw1.saar.freifunk.net&lt;br /&gt;
| Intel(R) Xeon(R) CPU L5520 @ 2.27GHz&lt;br /&gt;
| 4 / 4&lt;br /&gt;
| 512 MB&lt;br /&gt;
| 10 GB&lt;br /&gt;
| 100 MBit Shared&lt;br /&gt;
| server.lu&lt;br /&gt;
| Tobias Theobald / Marc Schmit&lt;br /&gt;
| Firmwares für Autoupdater, Knotenkarte&lt;br /&gt;
| Xen&lt;br /&gt;
| Debian 7&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw2.saar.freifunk.net&lt;br /&gt;
| Intel Core i7 9xx&lt;br /&gt;
| 2 / 2&lt;br /&gt;
| 512 MB&lt;br /&gt;
| 10 GB&lt;br /&gt;
| 100 MBit down / 6 MBit up&lt;br /&gt;
| &lt;br /&gt;
| TKS e.V.&lt;br /&gt;
| &lt;br /&gt;
| KVM&lt;br /&gt;
| Debian 7&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw3.saar.freifunk.net&lt;br /&gt;
| Intel(R) Atom(TM) CPU N2800 @ 1.86GHz&lt;br /&gt;
| 2 / 4&lt;br /&gt;
| 2 GB&lt;br /&gt;
| 500 GB&lt;br /&gt;
| 100 MBit shared&lt;br /&gt;
| Kimsufi / OVH&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| ?&lt;br /&gt;
| Debian 7&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw4.saar.freifunk.net&lt;br /&gt;
| Intel(R) Atom(TM) CPU N2800 @ 1.86GHz&lt;br /&gt;
| 2 / 4&lt;br /&gt;
| 2 GB&lt;br /&gt;
| 500 GB&lt;br /&gt;
| 100 MBit shared&lt;br /&gt;
| Kimsufi / OVH&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| ?&lt;br /&gt;
| Debian 7&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Public DNS / IPs =&lt;br /&gt;
&lt;br /&gt;
Hier eine Tabelle mit den DNS-Namen und IP-Adressen unserer Gateways.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Gateway&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Alt DNS Name&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Public IPv4&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Public IPv6&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw1.saar.freifunk.net&lt;br /&gt;
| freifunk.tobi042.de&lt;br /&gt;
| 94.242.195.78&lt;br /&gt;
| 2a01:608:ffff:9876:cafe:babe:6:1&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw2.saar.freifunk.net&lt;br /&gt;
| freifunk.dyn.hacksaar.de&lt;br /&gt;
| (dynamisch)&lt;br /&gt;
| (dynamisch)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw3.saar.freifunk.net&lt;br /&gt;
| ns326072.ip-37-187-107.eu&lt;br /&gt;
| 37.187.107.18&lt;br /&gt;
| 2001:41d0:a:3b12::1&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw4.saar.freifunk.net&lt;br /&gt;
| ns327157.ip-37-187-109.eu&lt;br /&gt;
| 37.187.109.160&lt;br /&gt;
| 2001:41d0:a:62a0::1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Anmerkung: GW2 steht im Hackerspace des TKS e.V. hinter einem dynamischen Kabel Deutschland Anschluss, daher sind die IP-Adressen hier dynamisch.&lt;br /&gt;
&lt;br /&gt;
Weitere Anmerkung: GW3 und 4 sind Kimsufi-Server, deren DNS-CName verweist noch nicht auf die IPv6-Adresse der Server. &lt;br /&gt;
&lt;br /&gt;
= Mesh IPs =&lt;br /&gt;
&lt;br /&gt;
Jeder Gateway ist Teil unseres Mesh-VPN und braucht als solches diverse Adressen, über die er im Mesh erreichbar ist.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Gateway&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Saar Mesh IPv4&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Saar Mesh IPv6&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Saar Mesh MAC&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Lux Mesh IPv4&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Lux Mesh IPv6&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Lux Mesh MAC&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw1.saar.freifunk.net&lt;br /&gt;
| 10.24.192.2&lt;br /&gt;
| fd4e:f2d7:88d2:ffff::2&lt;br /&gt;
| ca:fe:ba:be:00:01&lt;br /&gt;
| 10.24.128.2&lt;br /&gt;
| fd4e:f2d7:88d2:fffe::2&lt;br /&gt;
| ca:fe:ba:be:01:01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw2.saar.freifunk.net&lt;br /&gt;
| 10.24.192.3&lt;br /&gt;
| fd4e:f2d7:88d2:ffff::3&lt;br /&gt;
| ca:fe:ba:be:00:02&lt;br /&gt;
| 10.24.128.3&lt;br /&gt;
| fd4e:f2d7:88d2:fffe::3&lt;br /&gt;
| ca:fe:ba:be:01:02&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw3.saar.freifunk.net&lt;br /&gt;
| 10.24.192.4&lt;br /&gt;
| fd4e:f2d7:88d2:ffff::4&lt;br /&gt;
| ca:fe:ba:be:00:03&lt;br /&gt;
| 10.24.128.4&lt;br /&gt;
| fd4e:f2d7:88d2:fffe::4&lt;br /&gt;
| ca:fe:ba:be:01:03&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw4.saar.freifunk.net&lt;br /&gt;
| 10.24.192.5&lt;br /&gt;
| fd4e:f2d7:88d2:ffff::5&lt;br /&gt;
| ca:fe:ba:be:00:04&lt;br /&gt;
| 10.24.128.5&lt;br /&gt;
| fd4e:f2d7:88d2:fffe::5&lt;br /&gt;
| ca:fe:ba:be:01:04&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Darüber hinaus gibt es in jedem Netz eine Anycast IP, die immer auf das gerade verwendete Gateway zeigt:&lt;br /&gt;
&lt;br /&gt;
Saar: 10.24.192.1 / fd4e:f2d7:88d2:ffff::1&lt;br /&gt;
Lux: 10.24.128.1 / fd4e:f2d7:88d2:fffe::1&lt;br /&gt;
&lt;br /&gt;
= DHCP-Ranges =&lt;br /&gt;
&lt;br /&gt;
Auf jedem Gateway läuft pro Netz (Saar, Lux) ein DHCP-Server, der IP-Adressen an Clients verteilt, die diesen Server als Gateway nutzen. Grundsätzlich verteilen wir hier /22-Ranges, also bis zu 1022 IP-Adressen pro Gateway. Ich halte es für denkbar, dass ein einzelner Server nicht so viele Clients packt, aber reduzieren geht ja schließlich immer, erweitern ist problematisch.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Gateway&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Saar DHCP Range&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Lux DHCP Range&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw1.saar.freifunk.net&lt;br /&gt;
| 10.24.196.0/22&lt;br /&gt;
| 10.24.132.0/22&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw2.saar.freifunk.net&lt;br /&gt;
| 10.24.200.0/22&lt;br /&gt;
| 10.24.136.0/22&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw3.saar.freifunk.net&lt;br /&gt;
| 10.24.204.0/22&lt;br /&gt;
| 10.24.140.0/22&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw4.saar.freifunk.net&lt;br /&gt;
| 10.24.208.0/22&lt;br /&gt;
| 10.24.144.0/22&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Reservierte andere Ranges:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Zuweisung&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Saar-Range&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Lux-Range&lt;br /&gt;
|-&lt;br /&gt;
| Admin-Netz&lt;br /&gt;
| 10.24.192.0/24&lt;br /&gt;
| 10.24.128.0/24&lt;br /&gt;
|-&lt;br /&gt;
| Nicht zugewiesen&lt;br /&gt;
| 10.24.193.0/24&lt;br /&gt;
| 10.24.129.0/24&lt;br /&gt;
|-&lt;br /&gt;
| User Services&lt;br /&gt;
| 10.24.194.0/23&lt;br /&gt;
| 10.24.130.0/23&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Mesh Public Keys =&lt;br /&gt;
&lt;br /&gt;
Das Mesh-VPN wird mit der VPN-Software fastd realisiert. Sie ist klein und schnell und damit wunderbar für den Einsatz auf Routern geeignet. &lt;br /&gt;
&lt;br /&gt;
Die saarländischen Mesh-Instanzen lauschen immer auf UDP Port 10000, die luxemburgischen auf Port 10001. Als Cipher unterstützen unsere Server salsa2012+umac, die VPN-interne MTU beträgt 1426 byte, wobei sich das in Zukunft ändern wird, da durch den größeren IPv6-Header die MTU kleiner wird (d.h. wird irgendwann in Zukunft auf 1406 geändert).&lt;br /&gt;
&lt;br /&gt;
Hier die Public Keys und den Online-Status (nicht live) unserer Gateways:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Gateway&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Public Key Saar&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Aktiv?&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Public Key Lux&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Aktiv?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw1.saar.freifunk.net&lt;br /&gt;
| 5136a920a8c7aa9ae2ca1c2a1e33ea8c45e01501fac0f02b9d6a05b167ac5993&lt;br /&gt;
| Ja&lt;br /&gt;
| 4ed85c21d3db653bd2f1b210a8b60cbe25c40a3c2b756fc9c30d864466ad519d&lt;br /&gt;
| Nein&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw2.saar.freifunk.net&lt;br /&gt;
| 80859883c8a22867b20082078ab0934bdf58f556e7acda90730ea282d8da9388&lt;br /&gt;
| Ja&lt;br /&gt;
| 0ce6c650b07207b05ee4be3680cb1b1c69aea92fd76fecda50c720061f5cf9af&lt;br /&gt;
| Ja&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw3.saar.freifunk.net&lt;br /&gt;
| 711d1dc6f2048ffe88997441612ca764595b414abea5495c4f3ce746c72774e6&lt;br /&gt;
| Ja&lt;br /&gt;
| 440fa235832b933bebb66c91929a83a9c3a47348f164b1c7440661bb142dd32b&lt;br /&gt;
| Ja&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw4.saar.freifunk.net&lt;br /&gt;
| 33e02014b00a45bc8249b4428a9da614a370b5e386fa5d8d66c325941aa27568&lt;br /&gt;
| Nein&lt;br /&gt;
| 260f0a780281f49cdee9332c2139416cd715fb0257ac75d49ce43c4125654e36&lt;br /&gt;
| Nein&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Tobi042</name></author>
	</entry>
	<entry>
		<id>https://wiki.hacksaar.de/index.php?title=Freifunk:IP-Adressen&amp;diff=1941</id>
		<title>Freifunk:IP-Adressen</title>
		<link rel="alternate" type="text/html" href="https://wiki.hacksaar.de/index.php?title=Freifunk:IP-Adressen&amp;diff=1941"/>
		<updated>2015-04-19T07:51:03Z</updated>

		<summary type="html">&lt;p&gt;Tobi042: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hier sind ein paar technische Details zu unseren Gateway-Servern.&lt;br /&gt;
&lt;br /&gt;
= Team =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Name&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Aufgabenbereiche&lt;br /&gt;
|-&lt;br /&gt;
| Kim Meiser&lt;br /&gt;
| PR, Webseite, allgemeine Leitung&lt;br /&gt;
|-&lt;br /&gt;
| Tobias Theobald&lt;br /&gt;
| Gateway-Administration, Firmware, allgemeine technische Fragen&lt;br /&gt;
|-&lt;br /&gt;
| Tobias Kuhn&lt;br /&gt;
| Knotenkarte, Alfred&lt;br /&gt;
|-&lt;br /&gt;
| Tobias von dem Broch&lt;br /&gt;
| Richtfunk, Antennenfragen&lt;br /&gt;
|-&lt;br /&gt;
| Marvin (hat bestimmt einen Nachnamen)&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Constantin Berhard&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Hardware-Details =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Gateway&lt;br /&gt;
! CPU Typ&lt;br /&gt;
! CPU Kerne / Threads&lt;br /&gt;
! RAM&lt;br /&gt;
! Platte&lt;br /&gt;
! Internet-Anbindung&lt;br /&gt;
! Hoster&lt;br /&gt;
! Sponsor&lt;br /&gt;
! Zusätzliche Services&lt;br /&gt;
! Virtualisierung&lt;br /&gt;
! OS&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw1.saar.freifunk.net&lt;br /&gt;
| Intel(R) Xeon(R) CPU L5520 @ 2.27GHz&lt;br /&gt;
| 4 / 4&lt;br /&gt;
| 512 MB&lt;br /&gt;
| 10 GB&lt;br /&gt;
| 100 MBit Shared&lt;br /&gt;
| server.lu&lt;br /&gt;
| Tobias Theobald / Marc Schmit&lt;br /&gt;
| Firmwares für Autoupdater, Knotenkarte&lt;br /&gt;
| Xen&lt;br /&gt;
| Debian 7&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw2.saar.freifunk.net&lt;br /&gt;
| Intel Core i7 9xx&lt;br /&gt;
| 2 / 2&lt;br /&gt;
| 512 MB&lt;br /&gt;
| 10 GB&lt;br /&gt;
| 100 MBit down / 6 MBit up&lt;br /&gt;
| &lt;br /&gt;
| TKS e.V.&lt;br /&gt;
| &lt;br /&gt;
| KVM&lt;br /&gt;
| Debian 7&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw3.saar.freifunk.net&lt;br /&gt;
| Intel(R) Atom(TM) CPU N2800 @ 1.86GHz&lt;br /&gt;
| 2 / 4&lt;br /&gt;
| 2 GB&lt;br /&gt;
| 500 GB&lt;br /&gt;
| 100 MBit shared&lt;br /&gt;
| Kimsufi / OVH&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| ?&lt;br /&gt;
| Debian 7&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw4.saar.freifunk.net&lt;br /&gt;
| Intel(R) Atom(TM) CPU N2800 @ 1.86GHz&lt;br /&gt;
| 2 / 4&lt;br /&gt;
| 2 GB&lt;br /&gt;
| 500 GB&lt;br /&gt;
| 100 MBit shared&lt;br /&gt;
| Kimsufi / OVH&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| ?&lt;br /&gt;
| Debian 7&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Public DNS / IPs =&lt;br /&gt;
&lt;br /&gt;
Hier eine Tabelle mit den DNS-Namen und IP-Adressen unserer Gateways.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Gateway&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Alt DNS Name&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Public IPv4&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Public IPv6&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw1.saar.freifunk.net&lt;br /&gt;
| freifunk.tobi042.de&lt;br /&gt;
| 94.242.195.78&lt;br /&gt;
| 2a01:608:ffff:9876:cafe:babe:6:1&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw2.saar.freifunk.net&lt;br /&gt;
| freifunk.dyn.hacksaar.de&lt;br /&gt;
| (dynamisch)&lt;br /&gt;
| (dynamisch)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw3.saar.freifunk.net&lt;br /&gt;
| ns326072.ip-37-187-107.eu&lt;br /&gt;
| 37.187.107.18&lt;br /&gt;
| 2001:41d0:a:3b12::1&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw4.saar.freifunk.net&lt;br /&gt;
| ns327157.ip-37-187-109.eu&lt;br /&gt;
| 37.187.109.160&lt;br /&gt;
| 2001:41d0:a:62a0::1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Anmerkung: GW2 steht im Hackerspace des TKS e.V. hinter einem dynamischen Kabel Deutschland Anschluss, daher sind die IP-Adressen hier dynamisch.&lt;br /&gt;
&lt;br /&gt;
Weitere Anmerkung: GW3 und 4 sind Kimsufi-Server, deren DNS-CName verweist noch nicht auf die IPv6-Adresse der Server. &lt;br /&gt;
&lt;br /&gt;
= Mesh IPs =&lt;br /&gt;
&lt;br /&gt;
Jeder Gateway ist Teil unseres Mesh-VPN und braucht als solches diverse Adressen, über die er im Mesh erreichbar ist.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Gateway&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Saar Mesh IPv4&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Saar Mesh IPv6&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Saar Mesh MAC&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Lux Mesh IPv4&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Lux Mesh IPv6&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Lux Mesh MAC&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw1.saar.freifunk.net&lt;br /&gt;
| 10.24.192.2&lt;br /&gt;
| fd4e:f2d7:88d2:ffff::2&lt;br /&gt;
| ca:fe:ba:be:00:01&lt;br /&gt;
| 10.24.128.2&lt;br /&gt;
| fd4e:f2d7:88d2:fffe::2&lt;br /&gt;
| ca:fe:ba:be:01:01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw2.saar.freifunk.net&lt;br /&gt;
| 10.24.192.3&lt;br /&gt;
| fd4e:f2d7:88d2:ffff::3&lt;br /&gt;
| ca:fe:ba:be:00:02&lt;br /&gt;
| 10.24.128.3&lt;br /&gt;
| fd4e:f2d7:88d2:fffe::3&lt;br /&gt;
| ca:fe:ba:be:01:02&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw3.saar.freifunk.net&lt;br /&gt;
| 10.24.192.4&lt;br /&gt;
| fd4e:f2d7:88d2:ffff::4&lt;br /&gt;
| ca:fe:ba:be:00:03&lt;br /&gt;
| 10.24.128.4&lt;br /&gt;
| fd4e:f2d7:88d2:fffe::4&lt;br /&gt;
| ca:fe:ba:be:01:03&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw4.saar.freifunk.net&lt;br /&gt;
| 10.24.192.5&lt;br /&gt;
| fd4e:f2d7:88d2:ffff::5&lt;br /&gt;
| ca:fe:ba:be:00:04&lt;br /&gt;
| 10.24.128.5&lt;br /&gt;
| fd4e:f2d7:88d2:fffe::5&lt;br /&gt;
| ca:fe:ba:be:01:04&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Darüber hinaus gibt es in jedem Netz eine Anycast IP, die immer auf das gerade verwendete Gateway zeigt:&lt;br /&gt;
&lt;br /&gt;
Saar: 10.24.192.1 / fd4e:f2d7:88d2:ffff::1&lt;br /&gt;
Lux: 10.24.128.1 / fd4e:f2d7:88d2:fffe::1&lt;br /&gt;
&lt;br /&gt;
= DHCP-Ranges =&lt;br /&gt;
&lt;br /&gt;
Auf jedem Gateway läuft pro Netz (Saar, Lux) ein DHCP-Server, der IP-Adressen an Clients verteilt, die diesen Server als Gateway nutzen. Grundsätzlich verteilen wir hier /22-Ranges, also bis zu 1022 IP-Adressen pro Gateway. Ich halte es für denkbar, dass ein einzelner Server nicht so viele Clients packt, aber reduzieren geht ja schließlich immer, erweitern ist problematisch.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Gateway&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Saar DHCP Range&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Lux DHCP Range&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw1.saar.freifunk.net&lt;br /&gt;
| 10.24.196.0/22&lt;br /&gt;
| 10.24.132.0/22&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw2.saar.freifunk.net&lt;br /&gt;
| 10.24.200.0/22&lt;br /&gt;
| 10.24.136.0/22&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw3.saar.freifunk.net&lt;br /&gt;
| 10.24.204.0/22&lt;br /&gt;
| 10.24.140.0/22&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw4.saar.freifunk.net&lt;br /&gt;
| 10.24.208.0/22&lt;br /&gt;
| 10.24.144.0/22&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Reservierte andere Ranges:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Zuweisung&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Saar-Range&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Lux-Range&lt;br /&gt;
|-&lt;br /&gt;
| Admin-Netz&lt;br /&gt;
| 10.24.192.0/24&lt;br /&gt;
| 10.24.128.0/24&lt;br /&gt;
|-&lt;br /&gt;
| Nicht zugewiesen&lt;br /&gt;
| 10.24.193.0/24&lt;br /&gt;
| 10.24.129.0/24&lt;br /&gt;
|-&lt;br /&gt;
| User Services&lt;br /&gt;
| 10.24.194.0/23&lt;br /&gt;
| 10.24.130.0/23&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Mesh Public Keys =&lt;br /&gt;
&lt;br /&gt;
Das Mesh-VPN wird mit der VPN-Software fastd realisiert. Sie ist klein und schnell und damit wunderbar für den Einsatz auf Routern geeignet. &lt;br /&gt;
&lt;br /&gt;
Die saarländischen Mesh-Instanzen lauschen immer auf UDP Port 10000, die luxemburgischen auf Port 10001. Als Cipher unterstützen unsere Server salsa2012+umac, die VPN-interne MTU beträgt 1426 byte, wobei sich das in Zukunft ändern wird, da durch den größeren IPv6-Header die MTU kleiner wird (d.h. wird irgendwann in Zukunft auf 1406 geändert).&lt;br /&gt;
&lt;br /&gt;
Hier die Public Keys und den Online-Status (nicht live) unserer Gateways:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Gateway&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Public Key Saar&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Aktiv?&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Public Key Lux&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Aktiv?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw1.saar.freifunk.net&lt;br /&gt;
| 5136a920a8c7aa9ae2ca1c2a1e33ea8c45e01501fac0f02b9d6a05b167ac5993&lt;br /&gt;
| Ja&lt;br /&gt;
| 4ed85c21d3db653bd2f1b210a8b60cbe25c40a3c2b756fc9c30d864466ad519d&lt;br /&gt;
| Nein&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw2.saar.freifunk.net&lt;br /&gt;
| 80859883c8a22867b20082078ab0934bdf58f556e7acda90730ea282d8da9388&lt;br /&gt;
| Ja&lt;br /&gt;
| 0ce6c650b07207b05ee4be3680cb1b1c69aea92fd76fecda50c720061f5cf9af&lt;br /&gt;
| Ja&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw3.saar.freifunk.net&lt;br /&gt;
| 711d1dc6f2048ffe88997441612ca764595b414abea5495c4f3ce746c72774e6&lt;br /&gt;
| Ja&lt;br /&gt;
| 440fa235832b933bebb66c91929a83a9c3a47348f164b1c7440661bb142dd32b&lt;br /&gt;
| Ja&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw4.saar.freifunk.net&lt;br /&gt;
| 33e02014b00a45bc8249b4428a9da614a370b5e386fa5d8d66c325941aa27568&lt;br /&gt;
| Nein&lt;br /&gt;
| 260f0a780281f49cdee9332c2139416cd715fb0257ac75d49ce43c4125654e36&lt;br /&gt;
| Nein&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Tobi042</name></author>
	</entry>
	<entry>
		<id>https://wiki.hacksaar.de/index.php?title=Freifunk:IP-Adressen&amp;diff=1940</id>
		<title>Freifunk:IP-Adressen</title>
		<link rel="alternate" type="text/html" href="https://wiki.hacksaar.de/index.php?title=Freifunk:IP-Adressen&amp;diff=1940"/>
		<updated>2015-04-19T07:43:08Z</updated>

		<summary type="html">&lt;p&gt;Tobi042: Die Seite wurde neu angelegt: „Hier sind ein paar technische Details zu unseren Gateway-Servern  = Hardware-Details =  {| class=&amp;quot;wikitable&amp;quot; ! style=&amp;quot;font-weight: bold;&amp;quot; | Gateway ! CPU Typ !…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hier sind ein paar technische Details zu unseren Gateway-Servern&lt;br /&gt;
&lt;br /&gt;
= Hardware-Details =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Gateway&lt;br /&gt;
! CPU Typ&lt;br /&gt;
! CPU Kerne / Threads&lt;br /&gt;
! RAM&lt;br /&gt;
! Platte&lt;br /&gt;
! Internet-Anbindung&lt;br /&gt;
! Hoster&lt;br /&gt;
! Sponsor&lt;br /&gt;
! Zusätzliche Services&lt;br /&gt;
! Virtualisierung&lt;br /&gt;
! OS&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw1.saar.freifunk.net&lt;br /&gt;
| Intel(R) Xeon(R) CPU L5520 @ 2.27GHz&lt;br /&gt;
| 4 / 4&lt;br /&gt;
| 512 MB&lt;br /&gt;
| 10 GB&lt;br /&gt;
| 100 MBit Shared&lt;br /&gt;
| server.lu&lt;br /&gt;
| Tobias Theobald / Marc Schmit&lt;br /&gt;
| Firmwares für Autoupdater, Knotenkarte&lt;br /&gt;
| Xen&lt;br /&gt;
| Debian 7&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw2.saar.freifunk.net&lt;br /&gt;
| Intel Core i7 9xx&lt;br /&gt;
| 2 / 2&lt;br /&gt;
| 512 MB&lt;br /&gt;
| 10 GB&lt;br /&gt;
| 100 MBit down / 6 MBit up&lt;br /&gt;
| &lt;br /&gt;
| TKS e.V.&lt;br /&gt;
| &lt;br /&gt;
| KVM&lt;br /&gt;
| Debian 7&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw3.saar.freifunk.net&lt;br /&gt;
| Intel(R) Atom(TM) CPU N2800 @ 1.86GHz&lt;br /&gt;
| 2 / 4&lt;br /&gt;
| 2 GB&lt;br /&gt;
| 500 GB&lt;br /&gt;
| 100 MBit shared&lt;br /&gt;
| Kimsufi / OVH&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| ?&lt;br /&gt;
| Debian 7&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw4.saar.freifunk.net&lt;br /&gt;
| Intel(R) Atom(TM) CPU N2800 @ 1.86GHz&lt;br /&gt;
| 2 / 4&lt;br /&gt;
| 2 GB&lt;br /&gt;
| 500 GB&lt;br /&gt;
| 100 MBit shared&lt;br /&gt;
| Kimsufi / OVH&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| ?&lt;br /&gt;
| Debian 7&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Public DNS / IPs =&lt;br /&gt;
&lt;br /&gt;
Hier eine Tabelle mit den DNS-Namen und IP-Adressen unserer Gateways.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Gateway&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Alt DNS Name&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Public IPv4&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Public IPv6&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw1.saar.freifunk.net&lt;br /&gt;
| freifunk.tobi042.de&lt;br /&gt;
| 94.242.195.78&lt;br /&gt;
| 2a01:608:ffff:9876:cafe:babe:6:1&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw2.saar.freifunk.net&lt;br /&gt;
| freifunk.dyn.hacksaar.de&lt;br /&gt;
| (dynamisch)&lt;br /&gt;
| (dynamisch)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw3.saar.freifunk.net&lt;br /&gt;
| ns326072.ip-37-187-107.eu&lt;br /&gt;
| 37.187.107.18&lt;br /&gt;
| 2001:41d0:a:3b12::1&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw4.saar.freifunk.net&lt;br /&gt;
| ns327157.ip-37-187-109.eu&lt;br /&gt;
| 37.187.109.160&lt;br /&gt;
| 2001:41d0:a:62a0::1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Anmerkung: GW2 steht im Hackerspace des TKS e.V. hinter einem dynamischen Kabel Deutschland Anschluss, daher sind die IP-Adressen hier dynamisch.&lt;br /&gt;
&lt;br /&gt;
Weitere Anmerkung: GW3 und 4 sind Kimsufi-Server, deren DNS-CName verweist noch nicht auf die IPv6-Adresse der Server. &lt;br /&gt;
&lt;br /&gt;
= Mesh IPs =&lt;br /&gt;
&lt;br /&gt;
Jeder Gateway ist Teil unseres Mesh-VPN und braucht als solches diverse Adressen, über die er im Mesh erreichbar ist.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Gateway&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Saar Mesh IPv4&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Saar Mesh IPv6&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Saar Mesh MAC&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Lux Mesh IPv4&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Lux Mesh IPv6&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Lux Mesh MAC&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw1.saar.freifunk.net&lt;br /&gt;
| 10.24.192.2&lt;br /&gt;
| fd4e:f2d7:88d2:ffff::2&lt;br /&gt;
| ca:fe:ba:be:00:01&lt;br /&gt;
| 10.24.128.2&lt;br /&gt;
| fd4e:f2d7:88d2:fffe::2&lt;br /&gt;
| ca:fe:ba:be:01:01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw2.saar.freifunk.net&lt;br /&gt;
| 10.24.192.3&lt;br /&gt;
| fd4e:f2d7:88d2:ffff::3&lt;br /&gt;
| ca:fe:ba:be:00:02&lt;br /&gt;
| 10.24.128.3&lt;br /&gt;
| fd4e:f2d7:88d2:fffe::3&lt;br /&gt;
| ca:fe:ba:be:01:02&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw3.saar.freifunk.net&lt;br /&gt;
| 10.24.192.4&lt;br /&gt;
| fd4e:f2d7:88d2:ffff::4&lt;br /&gt;
| ca:fe:ba:be:00:03&lt;br /&gt;
| 10.24.128.4&lt;br /&gt;
| fd4e:f2d7:88d2:fffe::4&lt;br /&gt;
| ca:fe:ba:be:01:03&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw4.saar.freifunk.net&lt;br /&gt;
| 10.24.192.5&lt;br /&gt;
| fd4e:f2d7:88d2:ffff::5&lt;br /&gt;
| ca:fe:ba:be:00:04&lt;br /&gt;
| 10.24.128.5&lt;br /&gt;
| fd4e:f2d7:88d2:fffe::5&lt;br /&gt;
| ca:fe:ba:be:01:04&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Darüber hinaus gibt es in jedem Netz eine Anycast IP, die immer auf das gerade verwendete Gateway zeigt:&lt;br /&gt;
&lt;br /&gt;
Saar: 10.24.192.1 / fd4e:f2d7:88d2:ffff::1&lt;br /&gt;
Lux: 10.24.128.1 / fd4e:f2d7:88d2:fffe::1&lt;br /&gt;
&lt;br /&gt;
= DHCP-Ranges =&lt;br /&gt;
&lt;br /&gt;
Auf jedem Gateway läuft pro Netz (Saar, Lux) ein DHCP-Server, der IP-Adressen an Clients verteilt, die diesen Server als Gateway nutzen. Grundsätzlich verteilen wir hier /22-Ranges, also bis zu 1022 IP-Adressen pro Gateway. Ich halte es für denkbar, dass ein einzelner Server nicht so viele Clients packt, aber reduzieren geht ja schließlich immer, erweitern ist problematisch.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Gateway&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Saar DHCP Range&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Lux DHCP Range&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw1.saar.freifunk.net&lt;br /&gt;
| 10.24.196.0/22&lt;br /&gt;
| 10.24.132.0/22&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw2.saar.freifunk.net&lt;br /&gt;
| 10.24.200.0/22&lt;br /&gt;
| 10.24.136.0/22&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw3.saar.freifunk.net&lt;br /&gt;
| 10.24.204.0/22&lt;br /&gt;
| 10.24.140.0/22&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw4.saar.freifunk.net&lt;br /&gt;
| 10.24.208.0/22&lt;br /&gt;
| 10.24.144.0/22&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Reservierte andere Ranges:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Zuweisung&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Saar-Range&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Lux-Range&lt;br /&gt;
|-&lt;br /&gt;
| Admin-Netz&lt;br /&gt;
| 10.24.192.0/24&lt;br /&gt;
| 10.24.128.0/24&lt;br /&gt;
|-&lt;br /&gt;
| Nicht zugewiesen&lt;br /&gt;
| 10.24.193.0/24&lt;br /&gt;
| 10.24.129.0/24&lt;br /&gt;
|-&lt;br /&gt;
| User Services&lt;br /&gt;
| 10.24.194.0/23&lt;br /&gt;
| 10.24.130.0/23&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Mesh Public Keys =&lt;br /&gt;
&lt;br /&gt;
Das Mesh-VPN wird mit der VPN-Software fastd realisiert. Sie ist klein und schnell und damit wunderbar für den Einsatz auf Routern geeignet. &lt;br /&gt;
&lt;br /&gt;
Die saarländischen Mesh-Instanzen lauschen immer auf UDP Port 10000, die luxemburgischen auf Port 10001. Als Cipher unterstützen unsere Server salsa2012+umac, die VPN-interne MTU beträgt 1426 byte, wobei sich das in Zukunft ändern wird, da durch den größeren IPv6-Header die MTU kleiner wird (d.h. wird irgendwann in Zukunft auf 1406 geändert).&lt;br /&gt;
&lt;br /&gt;
Hier die Public Keys und den Online-Status (nicht live) unserer Gateways:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Gateway&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Public Key Saar&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Aktiv?&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Public Key Lux&lt;br /&gt;
! style=&amp;quot;font-weight: bold;&amp;quot; | Aktiv?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw1.saar.freifunk.net&lt;br /&gt;
| 5136a920a8c7aa9ae2ca1c2a1e33ea8c45e01501fac0f02b9d6a05b167ac5993&lt;br /&gt;
| Ja&lt;br /&gt;
| 4ed85c21d3db653bd2f1b210a8b60cbe25c40a3c2b756fc9c30d864466ad519d&lt;br /&gt;
| Nein&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw2.saar.freifunk.net&lt;br /&gt;
| 80859883c8a22867b20082078ab0934bdf58f556e7acda90730ea282d8da9388&lt;br /&gt;
| Ja&lt;br /&gt;
| 0ce6c650b07207b05ee4be3680cb1b1c69aea92fd76fecda50c720061f5cf9af&lt;br /&gt;
| Ja&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw3.saar.freifunk.net&lt;br /&gt;
| 711d1dc6f2048ffe88997441612ca764595b414abea5495c4f3ce746c72774e6&lt;br /&gt;
| Ja&lt;br /&gt;
| 440fa235832b933bebb66c91929a83a9c3a47348f164b1c7440661bb142dd32b&lt;br /&gt;
| Ja&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | gw4.saar.freifunk.net&lt;br /&gt;
| 33e02014b00a45bc8249b4428a9da614a370b5e386fa5d8d66c325941aa27568&lt;br /&gt;
| Nein&lt;br /&gt;
| 260f0a780281f49cdee9332c2139416cd715fb0257ac75d49ce43c4125654e36&lt;br /&gt;
| Nein&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Tobi042</name></author>
	</entry>
	<entry>
		<id>https://wiki.hacksaar.de/index.php?title=Freifunk:Mesh-VPN_Gateway-Server_einrichten&amp;diff=1939</id>
		<title>Freifunk:Mesh-VPN Gateway-Server einrichten</title>
		<link rel="alternate" type="text/html" href="https://wiki.hacksaar.de/index.php?title=Freifunk:Mesh-VPN_Gateway-Server_einrichten&amp;diff=1939"/>
		<updated>2015-04-17T18:22:04Z</updated>

		<summary type="html">&lt;p&gt;Tobi042: /* Pakete installieren */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Unsere Gateways laufen auf Debian 7 Wheezy. Diese Anleitungen orientieren sich an anderen Freifunk-Communities, aber einen sehr nennenswerten Einfluss hat die geniale Dokumentation von Freifunk Mainz, Wiesbaden und Umgebung (http://gluon-gateway-doku.readthedocs.org/de/latest/) gehabt.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
Größtenteils egal, wichtig ist folgendes: Root bekommt kein Passwort, dadurch wird der Root-Login gesperrt und man muss sudo benutzen. Als zu installierende Paketgruppen nutzen wir Debian-Standardutilities und SSH-Server.&lt;br /&gt;
&lt;br /&gt;
== SSH einrichten ==&lt;br /&gt;
&lt;br /&gt;
* Einloggen: &lt;br /&gt;
*: &amp;lt;code&amp;gt;ssh user@gwX.saar.freifunk.de&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;mkdir .ssh&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;echo &amp;quot;dein_ssh_key&amp;quot; &amp;gt; .ssh/authorized_keys&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;nano /etc/ssh/sshd_config&amp;lt;/code&amp;gt;&lt;br /&gt;
*: Folgende Änderungen vornehmen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;...&lt;br /&gt;
PermitRootLogin no&lt;br /&gt;
...&lt;br /&gt;
PasswordAuthentication no&lt;br /&gt;
...&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Alte Session aktiv lassen, in neuem Terminal versuchen mit Public Key einzuloggen. Wenn nicht erfolgreich debuggen.&lt;br /&gt;
* &amp;lt;code&amp;gt;sudo service ssh restart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Überflüssige Pakete deinstallieren ==&lt;br /&gt;
&lt;br /&gt;
Da wir eben etwas großzügig waren mit der Installation von Paketgruppen müssen wir jetzt exim und nfs-Kram deinstallieren:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;sudo apt-get remove exim4* nfs-common rpcbind&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Als Resultat sollte bei Ausführung von &amp;quot;sudo netstat -tulpn&amp;quot; keine Programme außer sshd und vielleicht dhclient angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
== APT Sources hinzufügen ==&lt;br /&gt;
&lt;br /&gt;
Wir benötigen die Sources für fastd und batman-adv:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;nano /etc/apt/sources.list&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 deb http://security.debian.org/ wheezy/updates main contrib non-free&lt;br /&gt;
 deb-src http://security.debian.org/ wheezy/updates main contrib non-free&lt;br /&gt;
  &lt;br /&gt;
 # fastd&lt;br /&gt;
 deb http://ftp.de.debian.org/debian wheezy-backports main&lt;br /&gt;
 deb http://repo.universe-factory.net/debian/ sid main&lt;br /&gt;
&lt;br /&gt;
 # alfred&lt;br /&gt;
 deb http://debian.draic.info/ wheezy main&lt;br /&gt;
 deb-src http://debian.draic.info/ wheezy main&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Schlüssel für repo importieren: &lt;br /&gt;
* &amp;lt;code&amp;gt;gpg --keyserver pgpkeys.mit.edu --recv-key  B89033D8&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;gpg -a --export B89033D8 | apt-key add -&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;gpg --keyserver pgpkeys.mit.edu --recv-key  16EF3F64CB201D9C&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;gpg -a --export 16EF3F64CB201D9C | apt-key add -&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pakete installieren ==&lt;br /&gt;
* &amp;lt;code&amp;gt;apt-get update&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;apt-get install batctl batman-adv-dkms fastd bridge-utils ntp&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;echo &amp;quot;batman-adv&amp;quot; &amp;gt;&amp;gt; /etc/modules&amp;lt;/code&amp;gt;&lt;br /&gt;
* Zu beachten: Alle Pakete werden im folgenden eingerichtet. NTPs Standard-Config ist in Ordnung.&lt;br /&gt;
&lt;br /&gt;
== Netzwerk Grundkonfiguration ==&lt;br /&gt;
=== Sysctl Einstellungen ===&lt;br /&gt;
* /etc/sysctl.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Freifunk specific settings&lt;br /&gt;
net.ipv4.ip_forward=1&lt;br /&gt;
&lt;br /&gt;
net.bridge.bridge-nf-call-arptables = 0&lt;br /&gt;
net.bridge.bridge-nf-call-ip6tables = 0&lt;br /&gt;
net.bridge.bridge-nf-call-iptables = 0&lt;br /&gt;
&lt;br /&gt;
net.ipv6.conf.all.forwarding=1&lt;br /&gt;
&lt;br /&gt;
net.ipv6.conf.all.autoconf = 0&lt;br /&gt;
net.ipv6.conf.default.autoconf = 0&lt;br /&gt;
net.ipv6.conf.eth0.autoconf = 0&lt;br /&gt;
&lt;br /&gt;
net.ipv6.conf.all.accept_ra = 0&lt;br /&gt;
net.ipv6.conf.default.accept_ra = 0&lt;br /&gt;
net.ipv6.conf.eth0.accept_ra = 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Danach neu laden: &amp;lt;code&amp;gt;sysctl -p /etc/sysctl.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Routing Tables erstellen ===&lt;br /&gt;
* /etc/iproute2/rt_tables (bisherige Einstellungen beibehalten und folgende hinzufügen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# freifunk&lt;br /&gt;
32      saar&lt;br /&gt;
33      lux&lt;br /&gt;
42      icvpn&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Netzwerkinterafaces einstellen ===&lt;br /&gt;
* /etc/network/interfaces (andere Interfaces nach der entsprechenden Konfiguration belassen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# FREIFUNK SAAR&lt;br /&gt;
#&lt;br /&gt;
auto saarBR&lt;br /&gt;
iface saarBR inet static&lt;br /&gt;
    bridge_ports none&lt;br /&gt;
    bridge_fd 0&lt;br /&gt;
    bridge_maxwait 0&lt;br /&gt;
    address 10.24.192.XXX&lt;br /&gt;
    netmask 255.255.192.0&lt;br /&gt;
    # be sure all incoming traffic is handled by the appropriate rt_table&lt;br /&gt;
    post-up         /sbin/ip rule add iif $IFACE table saar priority 3200&lt;br /&gt;
    pre-down        /sbin/ip rule del iif $IFACE table saar priority 3200&lt;br /&gt;
    # default route is unreachable&lt;br /&gt;
    post-up         /sbin/ip route add unreachable default table saar&lt;br /&gt;
    post-down       /sbin/ip route del unreachable default table saar&lt;br /&gt;
    # local reachable subnet saar for rt_table lux&lt;br /&gt;
    post-up         /sbin/ip route add 10.24.128.0/18 proto static dev $IFACE table lux&lt;br /&gt;
    post-down       /sbin/ip route del 10.24.128.0/18 proto static dev $IFACE table lux&lt;br /&gt;
&lt;br /&gt;
iface saarBR inet6 static&lt;br /&gt;
    address fd4e:f2d7:88d2:ffff::XXX&lt;br /&gt;
    netmask 64&lt;br /&gt;
    # be sure all incoming traffic is handled by the appropriate rt_table&lt;br /&gt;
    post-up         /sbin/ip -6 rule add iif $IFACE table saar priority 3200&lt;br /&gt;
    pre-down        /sbin/ip -6 rule del iif $IFACE table saar priority 3200&lt;br /&gt;
    post-up         /sbin/ip -6 route add fe80::/64 proto static dev $IFACE table saar&lt;br /&gt;
    post-down       /sbin/ip -6 route del fe80::/64 proto static dev $IFACE table saar&lt;br /&gt;
    post-up         /sbin/ip -6 route add fd4e:f2d7:88d2:ffff::/64 proto static dev $IFACE table saar&lt;br /&gt;
    post-down       /sbin/ip -6 route del fd4e:f2d7:88d2:ffff::/64 proto static dev $IFACE table saar&lt;br /&gt;
    # ULA route mz for rt_table saar&lt;br /&gt;
    post-up         /sbin/ip -6 route add fd4e:f2d7:88d2:fffe::/64 proto static dev $IFACE table lux&lt;br /&gt;
    post-down       /sbin/ip -6 route del fd4e:f2d7:88d2:fffe::/64 proto static dev $IFACE table lux&lt;br /&gt;
&lt;br /&gt;
allow-hotplug saarMESH&lt;br /&gt;
iface saarMESH inet6 manual&lt;br /&gt;
    pre-up          /sbin/modprobe batman_adv&lt;br /&gt;
    post-up         /usr/sbin/batctl -m saarBAT if add $IFACE&lt;br /&gt;
    post-up         /sbin/ip link set dev saarBAT up&lt;br /&gt;
&lt;br /&gt;
allow-hotplug saarBAT&lt;br /&gt;
iface saarBAT inet6 manual&lt;br /&gt;
    pre-up          /sbin/modprobe batman-adv&lt;br /&gt;
    post-up         /sbin/brctl addif saarBR $IFACE&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE it 10000&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE vm server&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE gw server  6mbit/6mbit&lt;br /&gt;
    pre-down        /sbin/brctl delif saarBR $IFACE || true&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# FREIFUNK LUX &lt;br /&gt;
#&lt;br /&gt;
auto luxBR&lt;br /&gt;
iface luxBR inet static&lt;br /&gt;
    bridge_ports none&lt;br /&gt;
    bridge_fd 0&lt;br /&gt;
    bridge_maxwait 0&lt;br /&gt;
    address 10.24.128.XXX&lt;br /&gt;
    netmask 255.255.192.0&lt;br /&gt;
    # be sure all incoming traffic is handled by the appropriate rt_table&lt;br /&gt;
    post-up         /sbin/ip rule add iif $IFACE table lux priority 3300&lt;br /&gt;
    pre-down        /sbin/ip rule del iif $IFACE table lux priority 3300&lt;br /&gt;
    # default route is unreachable&lt;br /&gt;
    post-up         /sbin/ip route add unreachable default table lux &lt;br /&gt;
    post-down       /sbin/ip route del unreachable default table lux &lt;br /&gt;
    # local reachable subnet lux for rt_table saar&lt;br /&gt;
    post-up         /sbin/ip route add 10.24.192.0/18 proto static dev $IFACE table saar&lt;br /&gt;
    post-down       /sbin/ip route del 10.24.192.0/18 proto static dev $IFACE table saar&lt;br /&gt;
&lt;br /&gt;
iface luxBR inet6 static&lt;br /&gt;
    address fd4e:f2d7:88d2:fffe::XXX&lt;br /&gt;
    netmask 64&lt;br /&gt;
    # be sure all incoming traffic is handled by the appropriate rt_table&lt;br /&gt;
    post-up         /sbin/ip -6 rule add iif $IFACE table lux priority 3300&lt;br /&gt;
    pre-down        /sbin/ip -6 rule del iif $IFACE table lux priority 3300&lt;br /&gt;
    post-up         /sbin/ip -6 route add fe80::/64 proto static dev $IFACE table lux &lt;br /&gt;
    post-down       /sbin/ip -6 route del fe80::/64 proto static dev $IFACE table lux &lt;br /&gt;
    post-up         /sbin/ip -6 route add fd4e:f2d7:88d2:fffe::/64 proto static dev $IFACE table lux&lt;br /&gt;
    post-down       /sbin/ip -6 route del fd4e:f2d7:88d2:fffe::/64 proto static dev $IFACE table lux&lt;br /&gt;
    # ULA route saar for rt_table lux&lt;br /&gt;
    post-up         /sbin/ip -6 route add fd4e:f2d7:88d2:ffff::/64 proto static dev $IFACE table saar&lt;br /&gt;
    post-down       /sbin/ip -6 route del fd4e:f2d7:88d2:ffff::/64 proto static dev $IFACE table saar&lt;br /&gt;
&lt;br /&gt;
allow-hotplug luxMESH&lt;br /&gt;
iface luxMESH inet6 manual&lt;br /&gt;
    pre-up          /sbin/modprobe batman_adv&lt;br /&gt;
    post-up         /usr/sbin/batctl -m luxBAT if add $IFACE&lt;br /&gt;
    post-up         /sbin/ip link set dev luxBAT up&lt;br /&gt;
&lt;br /&gt;
allow-hotplug luxBAT&lt;br /&gt;
iface luxBAT inet6 manual&lt;br /&gt;
    pre-up          /sbin/modprobe batman-adv&lt;br /&gt;
    post-up         /sbin/brctl addif luxBR $IFACE&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE it 10000&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE vm server&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE gw server  6mbit/6mbit&lt;br /&gt;
    pre-down        /sbin/brctl delif luxBR $IFACE || true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Jedes Vorkommnis von XXX durch einen entsprechenden Wert aus dem Netzplan ersetzen, im Zweifel TobiT fragen&lt;br /&gt;
&lt;br /&gt;
== Helfer-Skripte ==&lt;br /&gt;
Es gibt 2 Helferskripte, die eingerichtet werden müssen. check_gateway.sh prüft minütlich, ob das ExitVPN noch steht. autoupdate_fastd_peers updatet die fastd-peers alle 5 Minuten per git.&lt;br /&gt;
=== check_gateway.sh ===&lt;br /&gt;
* /usr/bin/check_gateway.sh:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@gw2:/etc/fastd/freifunk-lux# less /usr/bin/check_gateway.sh&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
INTERFACE=tun0          # Set to name of VPN interface&lt;br /&gt;
DHCPSERVICE=dnsmasq     # Name of DHCP service&lt;br /&gt;
BANDWIDTH=XXX           # Server bandwidth&lt;br /&gt;
shopt -s nullglob&lt;br /&gt;
&lt;br /&gt;
# Test whether gateway is connected to the outer world via VPN&lt;br /&gt;
ping -q -I $INTERFACE 8.8.8.8 -c 4 -i 1 -W 5 &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
if test $? -eq 0; then&lt;br /&gt;
    NEW_STATE=server&lt;br /&gt;
else&lt;br /&gt;
    NEW_STATE=off&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Iterate through network interfaces in sys file system&lt;br /&gt;
for MESH in /sys/class/net/*/mesh; do&lt;br /&gt;
# Check whether gateway modus needs to be changed&lt;br /&gt;
OLD_STATE=&amp;quot;$(cat $MESH/gw_mode)&amp;quot;&lt;br /&gt;
[ &amp;quot;$OLD_STATE&amp;quot; == &amp;quot;$NEW_STATE&amp;quot; ] &amp;amp;&amp;amp; continue&lt;br /&gt;
    echo $NEW_STATE &amp;gt; $MESH/gw_mode&lt;br /&gt;
    echo ${BANDWIDTH}MBit/${BANDWIDTH}MBit &amp;gt; $MESH/gw_bandwidth&lt;br /&gt;
    logger &amp;quot;batman gateway mode changed to $NEW_STATE&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    # Check whether gateway modus has been deactivated&lt;br /&gt;
    if [ &amp;quot;$NEW_STATE&amp;quot; == &amp;quot;off&amp;quot; ]; then&lt;br /&gt;
        # Shutdown DHCP server to prevent renewal of leases&lt;br /&gt;
        /usr/sbin/service $DHCPSERVICE stop&lt;br /&gt;
    fi&lt;br /&gt;
&lt;br /&gt;
    # Check whether gateway modus has been activated&lt;br /&gt;
    if [ &amp;quot;$NEW_STATE&amp;quot; == &amp;quot;server&amp;quot; ]; then&lt;br /&gt;
        # Restart DHCP server&lt;br /&gt;
        /usr/sbin/service $DHCPSERVICE start&lt;br /&gt;
    fi&lt;br /&gt;
    exit 0&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
if [ &amp;quot;$NEW_STATE&amp;quot; == &amp;quot;server&amp;quot; ]; then&lt;br /&gt;
    /usr/sbin/service $DHCPSERVICE status 2&amp;gt;&amp;amp;1&amp;gt; /dev/null&lt;br /&gt;
    if [[ $? -ne 0 ]]&lt;br /&gt;
    then&lt;br /&gt;
        /usr/sbin/service $DHCPSERVICE restart&lt;br /&gt;
    fi&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$NEW_STATE&amp;quot; == &amp;quot;off&amp;quot; ]; then&lt;br /&gt;
    /usr/sbin/service $DHCPSERVICE status 2&amp;gt;&amp;amp;1&amp;gt; /dev/null&lt;br /&gt;
    if [[ $? -eq 0 ]]&lt;br /&gt;
    then&lt;br /&gt;
        /usr/sbin/service $DHCPSERVICE stop&lt;br /&gt;
    fi&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Ganz oben bei BANDWIDTH die Serverbandbreite in MBit/s einstellen, damit diese ordentlich via Batman announced werden kann.&lt;br /&gt;
* Speichern und mit &amp;lt;code&amp;gt;chmod +x /usr/bin/check_gateway.sh&amp;lt;/code&amp;gt; ausführbar machen&lt;br /&gt;
=== autoupdate_fastd_keys.sh ===&lt;br /&gt;
* /usr/bin/autoupate_fastd_keys.sh:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# Simple script to update fastd peers from git upstream&lt;br /&gt;
# and only send HUP to fastd when changes happend.&lt;br /&gt;
&lt;br /&gt;
# CONFIGURE THIS TO YOUR PEER DIRECTORY&lt;br /&gt;
FASTD_PEERS_ARRAY=( &amp;quot;freifunk-saar&amp;quot; &amp;quot;freifunk-lux&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
function getCurrentVersion() {&lt;br /&gt;
 # Get hash from latest revision&lt;br /&gt;
 git log --format=format:%H -1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
for FASTD_PEERS in &amp;quot;${FASTD_PEERS_ARRAY[@]}&amp;quot;&lt;br /&gt;
do&lt;br /&gt;
cd /etc/fastd/$FASTD_PEERS/peers&lt;br /&gt;
&lt;br /&gt;
# Get current version hash&lt;br /&gt;
GIT_REVISION=$(getCurrentVersion)&lt;br /&gt;
&lt;br /&gt;
# Automagically commit local changes&lt;br /&gt;
# This preserves local changes&lt;br /&gt;
git commit -m &amp;quot;CRON: auto commit&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Pull latest changes from upstream&lt;br /&gt;
git fetch&lt;br /&gt;
git merge origin/master -m &amp;quot;Auto Merge&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Get new version hash&lt;br /&gt;
GIT_NEW_REVISION=$(getCurrentVersion)&lt;br /&gt;
&lt;br /&gt;
if [ $GIT_REVISION != $GIT_NEW_REVISION ]&lt;br /&gt;
then&lt;br /&gt;
 # Version has changed we need to update&lt;br /&gt;
 echo &amp;quot;Reload fastd peers&amp;quot;&lt;br /&gt;
 kill -HUP $(cat /var/run/fastd.$FASTD_PEERS.pid)&lt;br /&gt;
fi&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Auch dieses Skript ausführbar machen: &amp;lt;code&amp;gt;chmod +x /usr/bin/autoupdate_fastd_keys.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
=== Skripte in crontab eintragen ===&lt;br /&gt;
* In &amp;lt;code&amp;gt;sudo crontab -e&amp;lt;/code&amp;gt; folgende Zeilen anhängen&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*/5 * * * *   /usr/bin/autoupdate_fastd_keys.sh &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
* * * * *   /usr/bin/check_gateway.sh &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Fastd-Config ==&lt;br /&gt;
* &amp;lt;code&amp;gt;mkdir /etc/fastd/freifunk-{saar,lux}/&amp;lt;/code&amp;gt;&lt;br /&gt;
* Config-Dateien anlegen und entsprechenden Inhalt reinkopieren:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
log level warn;&lt;br /&gt;
log to syslog level info;&lt;br /&gt;
&lt;br /&gt;
hide ip addresses yes;&lt;br /&gt;
hide mac addresses yes;&lt;br /&gt;
&lt;br /&gt;
interface &amp;quot;xxxxMESH&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
method &amp;quot;salsa2012+umac&amp;quot;;    # new method (faster)&lt;br /&gt;
method &amp;quot;salsa2012+gmac&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
bind any:10000 interface &amp;quot;eth0&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
include &amp;quot;secret.conf&amp;quot;;&lt;br /&gt;
mtu 1426; # 1492 - IPv4/IPv6 Header - fastd Header...&lt;br /&gt;
&lt;br /&gt;
include peers from &amp;quot;peers&amp;quot;;&lt;br /&gt;
include peers from &amp;quot;peers-gw&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
secure handshakes yes;&lt;br /&gt;
&lt;br /&gt;
on up &amp;quot;&lt;br /&gt;
ip link set dev xxxxMESH address ca:fe:ba:be:00:0X&lt;br /&gt;
ip link set dev xxxxMESH up&lt;br /&gt;
&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Secret Keys aus den Repos besorgen und in secret.conf schreiben&lt;br /&gt;
* Neuen SSH-Key anlegen, als Deploy Key in die Gitlab-Projekte https://git.hacksaar.de/FreifunkSaar/mesh-vpn-peers und https://git.hacksaar.de/FreifunkSaar/mesh-vpn-peers-lux eintragen.&lt;br /&gt;
* Mesh-VPN-Peers-Verzeichnis als &amp;quot;peers&amp;quot; klonen: &amp;lt;code&amp;gt;git clone git@hacksaar.de:FreifunkSaar/mesh-vpn-peers.git peers&amp;lt;/code&amp;gt; bzw &amp;lt;code&amp;gt;git clone git@hacksaar.de:FreifunkSaar/mesh-vpn-peers-lux.git peers&amp;lt;/code&amp;gt; jeweils im entsprechende Verzeichnis&lt;br /&gt;
* Feuer!: &amp;lt;code&amp;gt;sudo service fastd start&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DNS, DHCP und RA-Server dnsmasq ==&lt;br /&gt;
* Installieren: &amp;lt;code&amp;gt;apt-get install dnsmasq&amp;lt;/code&amp;gt;&lt;br /&gt;
* /etc/dnsmasq.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bogus-priv&lt;br /&gt;
no-resolv&lt;br /&gt;
no-poll&lt;br /&gt;
log-facility=/dev/null&lt;br /&gt;
&lt;br /&gt;
server=8.8.8.8&lt;br /&gt;
server=8.8.4.4&lt;br /&gt;
&lt;br /&gt;
read-ethers&lt;br /&gt;
expand-hosts&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* /etc/dnsmasq.d/ffsaar&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local=/ffsaar/&lt;br /&gt;
interface=saarBR&lt;br /&gt;
domain=ffsaar&lt;br /&gt;
&lt;br /&gt;
dhcp-range=10.24.XXX.1,10.24.XXX.254,180&lt;br /&gt;
dhcp-range=fd4e:f2d7:88d2:ffff::,64,180,ra-names&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* /etc/dnsmasq.d/fflux&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local=/fflux/&lt;br /&gt;
interface=luxBR&lt;br /&gt;
domain=fflux&lt;br /&gt;
&lt;br /&gt;
dhcp-range=10.24.XXX.1,10.24.XXX.254,180&lt;br /&gt;
dhcp-range=fd4e:f2d7:88d2:fffe::,64,180,ra-names&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* /etc/hosts&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Freifunk Sachen&lt;br /&gt;
10.24.192.2                     static.services.ffsaar ntp.services.ffsaar&lt;br /&gt;
fd4e:f2d7:88d2:ffff::2          static.services.ffsaar ntp.services.ffsaar&lt;br /&gt;
&lt;br /&gt;
10.24.192.1                     router.ffsaar node.ffsaar local.ffsaar knoten.ffsaar my.ffsaar&lt;br /&gt;
fd4e:f2d7:88d2:ffff::1          router.ffsaar node.ffsaar local.ffsaar knoten.ffsaar my.ffsaar&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== isc-dhcp-server (in Zukunft mal umzustellen) ===&lt;br /&gt;
* /etc/dhcp/dhcpd.conf: (Komplett ersetzen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ddns-update-style none;&lt;br /&gt;
default-lease-time 300;&lt;br /&gt;
max-lease-time 300;&lt;br /&gt;
authoritative;&lt;br /&gt;
&lt;br /&gt;
log-facility local6;&lt;br /&gt;
&lt;br /&gt;
subnet 10.24.192.0 netmask 255.255.192.0 {&lt;br /&gt;
        range 10.24.XXX.0 10.24.XXX+3.255;&lt;br /&gt;
        option routers 10.24.192.ZZZ;&lt;br /&gt;
        option domain-name-servers 10.24.192.2, 10.24.192.3, 10.24.192.4;&lt;br /&gt;
        option domain-search &amp;quot;ffsaar&amp;quot;;&lt;br /&gt;
        option ntp-servers 10.24.192.2, 10.24.192.3, 10.24.192.4;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
subnet 10.24.128.0 netmask 255.255.192.0 {&lt;br /&gt;
        range 10.24.YYY.0 10.24.YYY+3.255;&lt;br /&gt;
        option routers 10.24.128.ZZZ;&lt;br /&gt;
        option domain-name-servers 10.24.128.2, 10.24.128.3, 10.24.128.4;&lt;br /&gt;
        option domain-search &amp;quot;fflux&amp;quot;;&lt;br /&gt;
        option ntp-servers 10.24.128.2, 10.24.128.3, 10.24.128.4;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* XXX, XXX+3, YYY, YYY+3, ZZZ durch richtige Werte ersetzen&lt;br /&gt;
* /etc/default/isc-dhcp-server (Zeile INTERFACES ersetzen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
INTERFACES=&amp;quot;saarBR luxBR&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Neu starten: &amp;lt;code&amp;gt;service isc-dhcp-server restart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== IPTables ==&lt;br /&gt;
&lt;br /&gt;
* installieren: &amp;lt;code&amp;gt;apt-get install iptables-persistent&amp;lt;/code&amp;gt;&lt;br /&gt;
* /etc/iptables/rules.v4 UND /etc/iptables/rules.v6&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*mangle&lt;br /&gt;
:PREROUTING ACCEPT [0:0]&lt;br /&gt;
:INPUT ACCEPT [0:0]&lt;br /&gt;
:FORWARD ACCEPT [0:0]&lt;br /&gt;
:OUTPUT ACCEPT [0:0]&lt;br /&gt;
:POSTROUTING ACCEPT [0:0]&lt;br /&gt;
COMMIT&lt;br /&gt;
&lt;br /&gt;
*nat&lt;br /&gt;
:PREROUTING ACCEPT [0:0]&lt;br /&gt;
:INPUT ACCEPT [0:0]&lt;br /&gt;
:OUTPUT ACCEPT [0:0]&lt;br /&gt;
:POSTROUTING ACCEPT [0:0]&lt;br /&gt;
-A POSTROUTING -o tun0 -j MASQUERADE&lt;br /&gt;
COMMIT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Exit-VPN ==&lt;br /&gt;
abhängig von der Config einzurichten&lt;br /&gt;
== Knoteninformationen (Alfred...) ==&lt;br /&gt;
&#039;&#039;&#039;Dieser Punkt befindet sich aktuell in der Erstellung und wird später noch auf die anderen Kapitel aufgeteilt --[[Benutzer:Rugosh|Rugosh]] ([[Benutzer Diskussion:Rugosh|Diskussion]]) 16:38, 22. Feb. 2015 (CET)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Alfred wird auf den Gateways benötigt um die Knoteninformationen zu sammeln und aus diesen Informationen eine Knotendatei unter anderem für die Freifunkkarte bauen zu können.&lt;br /&gt;
Der Server, auf welchem die Knotendatei generiert wird ist hier logisch gesehen der Master die anderen Systeme sind als Slave zu konfigurieren.&lt;br /&gt;
&lt;br /&gt;
Da wir auf unseren Gateways sowohl Saar las auch Lux Freifunk betreiben benötigen wir auch eine Doppelkonfiguration der Knotenerstellung. Dies betrifft sowohl Alfred als auch den Punkt, dass der Master für mehrere Communities Kartendaten erstellen können muss.&lt;br /&gt;
&lt;br /&gt;
=== Slave Konfiguration ===&lt;br /&gt;
Benötigte Komponenten:&lt;br /&gt;
* Alfred&lt;br /&gt;
* Batman&lt;br /&gt;
&lt;br /&gt;
==== Alfred Konfiguration ====&lt;br /&gt;
Wir benötigen zuerst einmal zwei Alfred daemons:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo service alfred stop&lt;br /&gt;
sudo cp /etc/default/alfred /etc/default/alfred-saar&lt;br /&gt;
sudo cp /etc/default/alfred /etc/default/alfred-lux&lt;br /&gt;
sudo cp /etc/init.d/alfred /etc/init.d/alfred-saar&lt;br /&gt;
sudo cp /etc/init.d/alfred /etc/init.d/alfred-lux&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Alfred muss auf auf dem Slave lediglich auf den MASTER=0 gesetzt werden und das Interface, sowie Batman muss angegeben sein. Die Konfiguration findet in der Konfigurationsdatei &amp;lt;code&amp;gt;/etc/default/alfred-XXX&amp;lt;/code&amp;gt; wie folgt statt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# /etc/default/alfred-saar&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
# Additional command line options&lt;br /&gt;
DAEMON_OPTS=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Enable master mode (0/1)&lt;br /&gt;
MASTER=0&lt;br /&gt;
&lt;br /&gt;
# Interface for A.L.F.R.E.D. to listen on. Has to be specified.&lt;br /&gt;
INTERFACE=br-ff&lt;br /&gt;
&lt;br /&gt;
# Specify the batman-adv interface configured on the system (default: bat0).&lt;br /&gt;
# Use &#039;none&#039; to disable the batman-adv based best server selection.&lt;br /&gt;
BATMANIF=saarBAT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# /etc/default/alfred-lux&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
# Additional command line options&lt;br /&gt;
DAEMON_OPTS=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Enable master mode (0/1)&lt;br /&gt;
MASTER=0&lt;br /&gt;
&lt;br /&gt;
# Interface for A.L.F.R.E.D. to listen on. Has to be specified.&lt;br /&gt;
INTERFACE=luxBR&lt;br /&gt;
&lt;br /&gt;
# Specify the batman-adv interface configured on the system (default: bat0).&lt;br /&gt;
# Use &#039;none&#039; to disable the batman-adv based best server selection.&lt;br /&gt;
BATMANIF=luxBAT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Anpassen der init.d Dateien für die Alfreds...&lt;br /&gt;
&#039;&#039;&#039;Nachfolgende Configs erzeugen noch keinen eigenständigen Alfed Socket...&#039;&#039;&#039; Leider muss damit die Alfreds eigene Sockets haben anscheinend alfred selbst mit anderen werten kompaliert werden https://github.com/tcatm/alfred/blob/master/alfred.h oder hier muss eine andere (bessere) Lösung gefunden werden. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Ausschnitt der anzupassenden Datei /etc/init.d/alfred-saar&lt;br /&gt;
&lt;br /&gt;
DESC=&amp;quot;A.L.F.R.E.D -&amp;gt; Saar&amp;quot;&lt;br /&gt;
NAME=alfred&lt;br /&gt;
NAME2=alfred-saar&lt;br /&gt;
DAEMON=/usr/sbin/$NAME&lt;br /&gt;
PIDFILE=/var/run/$NAME2.pid&lt;br /&gt;
SCRIPTNAME=/etc/init.d/$NAME2&lt;br /&gt;
GROUP=alfred &lt;br /&gt;
OPTIONS=&amp;quot;&amp;quot;&lt;br /&gt;
UMASK=0117&lt;br /&gt;
&lt;br /&gt;
[ -x &amp;quot;$DAEMON&amp;quot; ] || exit 0&lt;br /&gt;
&lt;br /&gt;
# Source defaults.&lt;br /&gt;
[ -r /etc/default/$NAME2 ] &amp;amp;&amp;amp; . /etc/default/$NAME2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Ausschnitt der anzupassenden Datei /etc/init.d/alfred-lux&lt;br /&gt;
&lt;br /&gt;
DESC=&amp;quot;A.L.F.R.E.D -&amp;gt; Lux&amp;quot;&lt;br /&gt;
NAME=alfred-lux&lt;br /&gt;
DAEMON=/usr/sbin/$NAME&lt;br /&gt;
PIDFILE=/var/run/$NAME2.pid&lt;br /&gt;
SCRIPTNAME=/etc/init.d/$NAME2&lt;br /&gt;
GROUP=alfred&lt;br /&gt;
OPTIONS=&amp;quot;&amp;quot;&lt;br /&gt;
UMASK=0117&lt;br /&gt;
&lt;br /&gt;
[ -x &amp;quot;$DAEMON&amp;quot; ] || exit 0&lt;br /&gt;
&lt;br /&gt;
# Source defaults.&lt;br /&gt;
[ -r /etc/default/$NAME2 ] &amp;amp;&amp;amp; . /etc/default/$NAME2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Starten der neuen Alfreds&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo service alfred-saar start&lt;br /&gt;
sudo service alfred-lux start&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Nun testen ob alles wie gewünscht funktioniert und erst nach einem erfolgreichen Test die nun nicht mehr benötigten Daten löschen.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rm /etc/default/alfred&lt;br /&gt;
sudo rm /etc/init.d/alfred.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== batadv-vis ====&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=== Master Konfiguration ===&lt;br /&gt;
Benötigte Komponenten:&lt;br /&gt;
* Alfred&lt;br /&gt;
* Alfred-JSON&lt;br /&gt;
* Batman&lt;br /&gt;
&lt;br /&gt;
==== Alfred Konfiguration ====&lt;br /&gt;
Alfred muss auf auf dem Slave lediglich auf den MASTER=1 gesetzt werden und das Interface, sowie Batman muss angegeben sein. Für Details siehe [[#Alfred_Konfiguration | Slave Konfiguration -&amp;gt; Alfred Konfigurieren ]]&lt;br /&gt;
&#039;&#039;&#039;Achtung: Da auf dem Master aktuell nur ein Batman device läuft, ist hier aktuell kein alfred-lux gestartet, aber vorkonfiguriert&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Knotendateigenerierung ====&lt;br /&gt;
* Benötigt auch alias config&lt;br /&gt;
* bat2nodes für Kartengenerierung mit mkmap Skript. Checkout newest Version from https://github.com/freifunk-saar/ffmap-backend -&amp;gt; done.&lt;br /&gt;
* Cron Eintrag vom mkmap Skript&lt;br /&gt;
&lt;br /&gt;
==== Alias Konfiguration ====&lt;br /&gt;
Da wir uns für die manuelle Konfiguration des Announcement der Gateway Informationen entschieden haben ist eine Anpassung der Alias Datei für jede neue Gateway erforderlich.&lt;br /&gt;
Die Dateien &amp;lt;code&amp;gt;aliases_saar.json&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;aliases_lux.json&amp;lt;/code&amp;gt; befindet sich im bat2nodes Verzeichnis und beinhaltet für jede Gateway einen Alias Eintrag.&lt;br /&gt;
&lt;br /&gt;
Beipiel:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
   &amp;quot;&amp;lt;KENNUNG&amp;gt;1&amp;quot; : {&lt;br /&gt;
      &amp;quot;name&amp;quot; : &amp;quot;gw1.saar.freifunk.net&amp;quot;,&lt;br /&gt;
      &amp;quot;vpn&amp;quot; : true&lt;br /&gt;
   },&lt;br /&gt;
   &amp;quot;&amp;lt;KENNUNG&amp;gt;2&amp;quot; : {&lt;br /&gt;
      &amp;quot;name&amp;quot; : &amp;quot;gw2.saar.freifunk.net&amp;quot;,&lt;br /&gt;
      &amp;quot;vpn&amp;quot; : true&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== batadv-vis ====&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=== alfed-json ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== To be continued... ==&lt;br /&gt;
* DNSmasq statt radvd, bind, isc-dhcp-server&lt;/div&gt;</summary>
		<author><name>Tobi042</name></author>
	</entry>
	<entry>
		<id>https://wiki.hacksaar.de/index.php?title=Freifunk:Mesh-VPN_Gateway-Server_einrichten&amp;diff=1938</id>
		<title>Freifunk:Mesh-VPN Gateway-Server einrichten</title>
		<link rel="alternate" type="text/html" href="https://wiki.hacksaar.de/index.php?title=Freifunk:Mesh-VPN_Gateway-Server_einrichten&amp;diff=1938"/>
		<updated>2015-04-17T17:59:30Z</updated>

		<summary type="html">&lt;p&gt;Tobi042: /* To be continued... */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Unsere Gateways laufen auf Debian 7 Wheezy. Diese Anleitungen orientieren sich an anderen Freifunk-Communities, aber einen sehr nennenswerten Einfluss hat die geniale Dokumentation von Freifunk Mainz, Wiesbaden und Umgebung (http://gluon-gateway-doku.readthedocs.org/de/latest/) gehabt.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
Größtenteils egal, wichtig ist folgendes: Root bekommt kein Passwort, dadurch wird der Root-Login gesperrt und man muss sudo benutzen. Als zu installierende Paketgruppen nutzen wir Debian-Standardutilities und SSH-Server.&lt;br /&gt;
&lt;br /&gt;
== SSH einrichten ==&lt;br /&gt;
&lt;br /&gt;
* Einloggen: &lt;br /&gt;
*: &amp;lt;code&amp;gt;ssh user@gwX.saar.freifunk.de&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;mkdir .ssh&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;echo &amp;quot;dein_ssh_key&amp;quot; &amp;gt; .ssh/authorized_keys&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;nano /etc/ssh/sshd_config&amp;lt;/code&amp;gt;&lt;br /&gt;
*: Folgende Änderungen vornehmen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;...&lt;br /&gt;
PermitRootLogin no&lt;br /&gt;
...&lt;br /&gt;
PasswordAuthentication no&lt;br /&gt;
...&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Alte Session aktiv lassen, in neuem Terminal versuchen mit Public Key einzuloggen. Wenn nicht erfolgreich debuggen.&lt;br /&gt;
* &amp;lt;code&amp;gt;sudo service ssh restart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Überflüssige Pakete deinstallieren ==&lt;br /&gt;
&lt;br /&gt;
Da wir eben etwas großzügig waren mit der Installation von Paketgruppen müssen wir jetzt exim und nfs-Kram deinstallieren:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;sudo apt-get remove exim4* nfs-common rpcbind&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Als Resultat sollte bei Ausführung von &amp;quot;sudo netstat -tulpn&amp;quot; keine Programme außer sshd und vielleicht dhclient angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
== APT Sources hinzufügen ==&lt;br /&gt;
&lt;br /&gt;
Wir benötigen die Sources für fastd und batman-adv:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;nano /etc/apt/sources.list&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 deb http://security.debian.org/ wheezy/updates main contrib non-free&lt;br /&gt;
 deb-src http://security.debian.org/ wheezy/updates main contrib non-free&lt;br /&gt;
  &lt;br /&gt;
 # fastd&lt;br /&gt;
 deb http://ftp.de.debian.org/debian wheezy-backports main&lt;br /&gt;
 deb http://repo.universe-factory.net/debian/ sid main&lt;br /&gt;
&lt;br /&gt;
 # alfred&lt;br /&gt;
 deb http://debian.draic.info/ wheezy main&lt;br /&gt;
 deb-src http://debian.draic.info/ wheezy main&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Schlüssel für repo importieren: &lt;br /&gt;
* &amp;lt;code&amp;gt;gpg --keyserver pgpkeys.mit.edu --recv-key  B89033D8&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;gpg -a --export B89033D8 | apt-key add -&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;gpg --keyserver pgpkeys.mit.edu --recv-key  16EF3F64CB201D9C&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;gpg -a --export 16EF3F64CB201D9C | apt-key add -&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pakete installieren ==&lt;br /&gt;
* &amp;lt;code&amp;gt;apt-get update&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;apt-get install batctl batman-adv-dkms fastd bridge-utils&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;echo &amp;quot;batman-adv&amp;quot; &amp;gt;&amp;gt; /etc/modules&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Netzwerk Grundkonfiguration ==&lt;br /&gt;
=== Sysctl Einstellungen ===&lt;br /&gt;
* /etc/sysctl.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Freifunk specific settings&lt;br /&gt;
net.ipv4.ip_forward=1&lt;br /&gt;
&lt;br /&gt;
net.bridge.bridge-nf-call-arptables = 0&lt;br /&gt;
net.bridge.bridge-nf-call-ip6tables = 0&lt;br /&gt;
net.bridge.bridge-nf-call-iptables = 0&lt;br /&gt;
&lt;br /&gt;
net.ipv6.conf.all.forwarding=1&lt;br /&gt;
&lt;br /&gt;
net.ipv6.conf.all.autoconf = 0&lt;br /&gt;
net.ipv6.conf.default.autoconf = 0&lt;br /&gt;
net.ipv6.conf.eth0.autoconf = 0&lt;br /&gt;
&lt;br /&gt;
net.ipv6.conf.all.accept_ra = 0&lt;br /&gt;
net.ipv6.conf.default.accept_ra = 0&lt;br /&gt;
net.ipv6.conf.eth0.accept_ra = 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Danach neu laden: &amp;lt;code&amp;gt;sysctl -p /etc/sysctl.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Routing Tables erstellen ===&lt;br /&gt;
* /etc/iproute2/rt_tables (bisherige Einstellungen beibehalten und folgende hinzufügen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# freifunk&lt;br /&gt;
32      saar&lt;br /&gt;
33      lux&lt;br /&gt;
42      icvpn&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Netzwerkinterafaces einstellen ===&lt;br /&gt;
* /etc/network/interfaces (andere Interfaces nach der entsprechenden Konfiguration belassen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# FREIFUNK SAAR&lt;br /&gt;
#&lt;br /&gt;
auto saarBR&lt;br /&gt;
iface saarBR inet static&lt;br /&gt;
    bridge_ports none&lt;br /&gt;
    bridge_fd 0&lt;br /&gt;
    bridge_maxwait 0&lt;br /&gt;
    address 10.24.192.XXX&lt;br /&gt;
    netmask 255.255.192.0&lt;br /&gt;
    # be sure all incoming traffic is handled by the appropriate rt_table&lt;br /&gt;
    post-up         /sbin/ip rule add iif $IFACE table saar priority 3200&lt;br /&gt;
    pre-down        /sbin/ip rule del iif $IFACE table saar priority 3200&lt;br /&gt;
    # default route is unreachable&lt;br /&gt;
    post-up         /sbin/ip route add unreachable default table saar&lt;br /&gt;
    post-down       /sbin/ip route del unreachable default table saar&lt;br /&gt;
    # local reachable subnet saar for rt_table lux&lt;br /&gt;
    post-up         /sbin/ip route add 10.24.128.0/18 proto static dev $IFACE table lux&lt;br /&gt;
    post-down       /sbin/ip route del 10.24.128.0/18 proto static dev $IFACE table lux&lt;br /&gt;
&lt;br /&gt;
iface saarBR inet6 static&lt;br /&gt;
    address fd4e:f2d7:88d2:ffff::XXX&lt;br /&gt;
    netmask 64&lt;br /&gt;
    # be sure all incoming traffic is handled by the appropriate rt_table&lt;br /&gt;
    post-up         /sbin/ip -6 rule add iif $IFACE table saar priority 3200&lt;br /&gt;
    pre-down        /sbin/ip -6 rule del iif $IFACE table saar priority 3200&lt;br /&gt;
    post-up         /sbin/ip -6 route add fe80::/64 proto static dev $IFACE table saar&lt;br /&gt;
    post-down       /sbin/ip -6 route del fe80::/64 proto static dev $IFACE table saar&lt;br /&gt;
    post-up         /sbin/ip -6 route add fd4e:f2d7:88d2:ffff::/64 proto static dev $IFACE table saar&lt;br /&gt;
    post-down       /sbin/ip -6 route del fd4e:f2d7:88d2:ffff::/64 proto static dev $IFACE table saar&lt;br /&gt;
    # ULA route mz for rt_table saar&lt;br /&gt;
    post-up         /sbin/ip -6 route add fd4e:f2d7:88d2:fffe::/64 proto static dev $IFACE table lux&lt;br /&gt;
    post-down       /sbin/ip -6 route del fd4e:f2d7:88d2:fffe::/64 proto static dev $IFACE table lux&lt;br /&gt;
&lt;br /&gt;
allow-hotplug saarMESH&lt;br /&gt;
iface saarMESH inet6 manual&lt;br /&gt;
    pre-up          /sbin/modprobe batman_adv&lt;br /&gt;
    post-up         /usr/sbin/batctl -m saarBAT if add $IFACE&lt;br /&gt;
    post-up         /sbin/ip link set dev saarBAT up&lt;br /&gt;
&lt;br /&gt;
allow-hotplug saarBAT&lt;br /&gt;
iface saarBAT inet6 manual&lt;br /&gt;
    pre-up          /sbin/modprobe batman-adv&lt;br /&gt;
    post-up         /sbin/brctl addif saarBR $IFACE&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE it 10000&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE vm server&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE gw server  6mbit/6mbit&lt;br /&gt;
    pre-down        /sbin/brctl delif saarBR $IFACE || true&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# FREIFUNK LUX &lt;br /&gt;
#&lt;br /&gt;
auto luxBR&lt;br /&gt;
iface luxBR inet static&lt;br /&gt;
    bridge_ports none&lt;br /&gt;
    bridge_fd 0&lt;br /&gt;
    bridge_maxwait 0&lt;br /&gt;
    address 10.24.128.XXX&lt;br /&gt;
    netmask 255.255.192.0&lt;br /&gt;
    # be sure all incoming traffic is handled by the appropriate rt_table&lt;br /&gt;
    post-up         /sbin/ip rule add iif $IFACE table lux priority 3300&lt;br /&gt;
    pre-down        /sbin/ip rule del iif $IFACE table lux priority 3300&lt;br /&gt;
    # default route is unreachable&lt;br /&gt;
    post-up         /sbin/ip route add unreachable default table lux &lt;br /&gt;
    post-down       /sbin/ip route del unreachable default table lux &lt;br /&gt;
    # local reachable subnet lux for rt_table saar&lt;br /&gt;
    post-up         /sbin/ip route add 10.24.192.0/18 proto static dev $IFACE table saar&lt;br /&gt;
    post-down       /sbin/ip route del 10.24.192.0/18 proto static dev $IFACE table saar&lt;br /&gt;
&lt;br /&gt;
iface luxBR inet6 static&lt;br /&gt;
    address fd4e:f2d7:88d2:fffe::XXX&lt;br /&gt;
    netmask 64&lt;br /&gt;
    # be sure all incoming traffic is handled by the appropriate rt_table&lt;br /&gt;
    post-up         /sbin/ip -6 rule add iif $IFACE table lux priority 3300&lt;br /&gt;
    pre-down        /sbin/ip -6 rule del iif $IFACE table lux priority 3300&lt;br /&gt;
    post-up         /sbin/ip -6 route add fe80::/64 proto static dev $IFACE table lux &lt;br /&gt;
    post-down       /sbin/ip -6 route del fe80::/64 proto static dev $IFACE table lux &lt;br /&gt;
    post-up         /sbin/ip -6 route add fd4e:f2d7:88d2:fffe::/64 proto static dev $IFACE table lux&lt;br /&gt;
    post-down       /sbin/ip -6 route del fd4e:f2d7:88d2:fffe::/64 proto static dev $IFACE table lux&lt;br /&gt;
    # ULA route saar for rt_table lux&lt;br /&gt;
    post-up         /sbin/ip -6 route add fd4e:f2d7:88d2:ffff::/64 proto static dev $IFACE table saar&lt;br /&gt;
    post-down       /sbin/ip -6 route del fd4e:f2d7:88d2:ffff::/64 proto static dev $IFACE table saar&lt;br /&gt;
&lt;br /&gt;
allow-hotplug luxMESH&lt;br /&gt;
iface luxMESH inet6 manual&lt;br /&gt;
    pre-up          /sbin/modprobe batman_adv&lt;br /&gt;
    post-up         /usr/sbin/batctl -m luxBAT if add $IFACE&lt;br /&gt;
    post-up         /sbin/ip link set dev luxBAT up&lt;br /&gt;
&lt;br /&gt;
allow-hotplug luxBAT&lt;br /&gt;
iface luxBAT inet6 manual&lt;br /&gt;
    pre-up          /sbin/modprobe batman-adv&lt;br /&gt;
    post-up         /sbin/brctl addif luxBR $IFACE&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE it 10000&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE vm server&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE gw server  6mbit/6mbit&lt;br /&gt;
    pre-down        /sbin/brctl delif luxBR $IFACE || true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Jedes Vorkommnis von XXX durch einen entsprechenden Wert aus dem Netzplan ersetzen, im Zweifel TobiT fragen&lt;br /&gt;
&lt;br /&gt;
== Helfer-Skripte ==&lt;br /&gt;
Es gibt 2 Helferskripte, die eingerichtet werden müssen. check_gateway.sh prüft minütlich, ob das ExitVPN noch steht. autoupdate_fastd_peers updatet die fastd-peers alle 5 Minuten per git.&lt;br /&gt;
=== check_gateway.sh ===&lt;br /&gt;
* /usr/bin/check_gateway.sh:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@gw2:/etc/fastd/freifunk-lux# less /usr/bin/check_gateway.sh&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
INTERFACE=tun0          # Set to name of VPN interface&lt;br /&gt;
DHCPSERVICE=dnsmasq     # Name of DHCP service&lt;br /&gt;
BANDWIDTH=XXX           # Server bandwidth&lt;br /&gt;
shopt -s nullglob&lt;br /&gt;
&lt;br /&gt;
# Test whether gateway is connected to the outer world via VPN&lt;br /&gt;
ping -q -I $INTERFACE 8.8.8.8 -c 4 -i 1 -W 5 &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
if test $? -eq 0; then&lt;br /&gt;
    NEW_STATE=server&lt;br /&gt;
else&lt;br /&gt;
    NEW_STATE=off&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Iterate through network interfaces in sys file system&lt;br /&gt;
for MESH in /sys/class/net/*/mesh; do&lt;br /&gt;
# Check whether gateway modus needs to be changed&lt;br /&gt;
OLD_STATE=&amp;quot;$(cat $MESH/gw_mode)&amp;quot;&lt;br /&gt;
[ &amp;quot;$OLD_STATE&amp;quot; == &amp;quot;$NEW_STATE&amp;quot; ] &amp;amp;&amp;amp; continue&lt;br /&gt;
    echo $NEW_STATE &amp;gt; $MESH/gw_mode&lt;br /&gt;
    echo ${BANDWIDTH}MBit/${BANDWIDTH}MBit &amp;gt; $MESH/gw_bandwidth&lt;br /&gt;
    logger &amp;quot;batman gateway mode changed to $NEW_STATE&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    # Check whether gateway modus has been deactivated&lt;br /&gt;
    if [ &amp;quot;$NEW_STATE&amp;quot; == &amp;quot;off&amp;quot; ]; then&lt;br /&gt;
        # Shutdown DHCP server to prevent renewal of leases&lt;br /&gt;
        /usr/sbin/service $DHCPSERVICE stop&lt;br /&gt;
    fi&lt;br /&gt;
&lt;br /&gt;
    # Check whether gateway modus has been activated&lt;br /&gt;
    if [ &amp;quot;$NEW_STATE&amp;quot; == &amp;quot;server&amp;quot; ]; then&lt;br /&gt;
        # Restart DHCP server&lt;br /&gt;
        /usr/sbin/service $DHCPSERVICE start&lt;br /&gt;
    fi&lt;br /&gt;
    exit 0&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
if [ &amp;quot;$NEW_STATE&amp;quot; == &amp;quot;server&amp;quot; ]; then&lt;br /&gt;
    /usr/sbin/service $DHCPSERVICE status 2&amp;gt;&amp;amp;1&amp;gt; /dev/null&lt;br /&gt;
    if [[ $? -ne 0 ]]&lt;br /&gt;
    then&lt;br /&gt;
        /usr/sbin/service $DHCPSERVICE restart&lt;br /&gt;
    fi&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$NEW_STATE&amp;quot; == &amp;quot;off&amp;quot; ]; then&lt;br /&gt;
    /usr/sbin/service $DHCPSERVICE status 2&amp;gt;&amp;amp;1&amp;gt; /dev/null&lt;br /&gt;
    if [[ $? -eq 0 ]]&lt;br /&gt;
    then&lt;br /&gt;
        /usr/sbin/service $DHCPSERVICE stop&lt;br /&gt;
    fi&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Ganz oben bei BANDWIDTH die Serverbandbreite in MBit/s einstellen, damit diese ordentlich via Batman announced werden kann.&lt;br /&gt;
* Speichern und mit &amp;lt;code&amp;gt;chmod +x /usr/bin/check_gateway.sh&amp;lt;/code&amp;gt; ausführbar machen&lt;br /&gt;
=== autoupdate_fastd_keys.sh ===&lt;br /&gt;
* /usr/bin/autoupate_fastd_keys.sh:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# Simple script to update fastd peers from git upstream&lt;br /&gt;
# and only send HUP to fastd when changes happend.&lt;br /&gt;
&lt;br /&gt;
# CONFIGURE THIS TO YOUR PEER DIRECTORY&lt;br /&gt;
FASTD_PEERS_ARRAY=( &amp;quot;freifunk-saar&amp;quot; &amp;quot;freifunk-lux&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
function getCurrentVersion() {&lt;br /&gt;
 # Get hash from latest revision&lt;br /&gt;
 git log --format=format:%H -1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
for FASTD_PEERS in &amp;quot;${FASTD_PEERS_ARRAY[@]}&amp;quot;&lt;br /&gt;
do&lt;br /&gt;
cd /etc/fastd/$FASTD_PEERS/peers&lt;br /&gt;
&lt;br /&gt;
# Get current version hash&lt;br /&gt;
GIT_REVISION=$(getCurrentVersion)&lt;br /&gt;
&lt;br /&gt;
# Automagically commit local changes&lt;br /&gt;
# This preserves local changes&lt;br /&gt;
git commit -m &amp;quot;CRON: auto commit&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Pull latest changes from upstream&lt;br /&gt;
git fetch&lt;br /&gt;
git merge origin/master -m &amp;quot;Auto Merge&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Get new version hash&lt;br /&gt;
GIT_NEW_REVISION=$(getCurrentVersion)&lt;br /&gt;
&lt;br /&gt;
if [ $GIT_REVISION != $GIT_NEW_REVISION ]&lt;br /&gt;
then&lt;br /&gt;
 # Version has changed we need to update&lt;br /&gt;
 echo &amp;quot;Reload fastd peers&amp;quot;&lt;br /&gt;
 kill -HUP $(cat /var/run/fastd.$FASTD_PEERS.pid)&lt;br /&gt;
fi&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Auch dieses Skript ausführbar machen: &amp;lt;code&amp;gt;chmod +x /usr/bin/autoupdate_fastd_keys.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
=== Skripte in crontab eintragen ===&lt;br /&gt;
* In &amp;lt;code&amp;gt;sudo crontab -e&amp;lt;/code&amp;gt; folgende Zeilen anhängen&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*/5 * * * *   /usr/bin/autoupdate_fastd_keys.sh &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
* * * * *   /usr/bin/check_gateway.sh &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Fastd-Config ==&lt;br /&gt;
* &amp;lt;code&amp;gt;mkdir /etc/fastd/freifunk-{saar,lux}/&amp;lt;/code&amp;gt;&lt;br /&gt;
* Config-Dateien anlegen und entsprechenden Inhalt reinkopieren:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
log level warn;&lt;br /&gt;
log to syslog level info;&lt;br /&gt;
&lt;br /&gt;
hide ip addresses yes;&lt;br /&gt;
hide mac addresses yes;&lt;br /&gt;
&lt;br /&gt;
interface &amp;quot;xxxxMESH&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
method &amp;quot;salsa2012+umac&amp;quot;;    # new method (faster)&lt;br /&gt;
method &amp;quot;salsa2012+gmac&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
bind any:10000 interface &amp;quot;eth0&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
include &amp;quot;secret.conf&amp;quot;;&lt;br /&gt;
mtu 1426; # 1492 - IPv4/IPv6 Header - fastd Header...&lt;br /&gt;
&lt;br /&gt;
include peers from &amp;quot;peers&amp;quot;;&lt;br /&gt;
include peers from &amp;quot;peers-gw&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
secure handshakes yes;&lt;br /&gt;
&lt;br /&gt;
on up &amp;quot;&lt;br /&gt;
ip link set dev xxxxMESH address ca:fe:ba:be:00:0X&lt;br /&gt;
ip link set dev xxxxMESH up&lt;br /&gt;
&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Secret Keys aus den Repos besorgen und in secret.conf schreiben&lt;br /&gt;
* Neuen SSH-Key anlegen, als Deploy Key in die Gitlab-Projekte https://git.hacksaar.de/FreifunkSaar/mesh-vpn-peers und https://git.hacksaar.de/FreifunkSaar/mesh-vpn-peers-lux eintragen.&lt;br /&gt;
* Mesh-VPN-Peers-Verzeichnis als &amp;quot;peers&amp;quot; klonen: &amp;lt;code&amp;gt;git clone git@hacksaar.de:FreifunkSaar/mesh-vpn-peers.git peers&amp;lt;/code&amp;gt; bzw &amp;lt;code&amp;gt;git clone git@hacksaar.de:FreifunkSaar/mesh-vpn-peers-lux.git peers&amp;lt;/code&amp;gt; jeweils im entsprechende Verzeichnis&lt;br /&gt;
* Feuer!: &amp;lt;code&amp;gt;sudo service fastd start&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DNS, DHCP und RA-Server dnsmasq ==&lt;br /&gt;
* Installieren: &amp;lt;code&amp;gt;apt-get install dnsmasq&amp;lt;/code&amp;gt;&lt;br /&gt;
* /etc/dnsmasq.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bogus-priv&lt;br /&gt;
no-resolv&lt;br /&gt;
no-poll&lt;br /&gt;
log-facility=/dev/null&lt;br /&gt;
&lt;br /&gt;
server=8.8.8.8&lt;br /&gt;
server=8.8.4.4&lt;br /&gt;
&lt;br /&gt;
read-ethers&lt;br /&gt;
expand-hosts&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* /etc/dnsmasq.d/ffsaar&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local=/ffsaar/&lt;br /&gt;
interface=saarBR&lt;br /&gt;
domain=ffsaar&lt;br /&gt;
&lt;br /&gt;
dhcp-range=10.24.XXX.1,10.24.XXX.254,180&lt;br /&gt;
dhcp-range=fd4e:f2d7:88d2:ffff::,64,180,ra-names&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* /etc/dnsmasq.d/fflux&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local=/fflux/&lt;br /&gt;
interface=luxBR&lt;br /&gt;
domain=fflux&lt;br /&gt;
&lt;br /&gt;
dhcp-range=10.24.XXX.1,10.24.XXX.254,180&lt;br /&gt;
dhcp-range=fd4e:f2d7:88d2:fffe::,64,180,ra-names&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* /etc/hosts&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Freifunk Sachen&lt;br /&gt;
10.24.192.2                     static.services.ffsaar ntp.services.ffsaar&lt;br /&gt;
fd4e:f2d7:88d2:ffff::2          static.services.ffsaar ntp.services.ffsaar&lt;br /&gt;
&lt;br /&gt;
10.24.192.1                     router.ffsaar node.ffsaar local.ffsaar knoten.ffsaar my.ffsaar&lt;br /&gt;
fd4e:f2d7:88d2:ffff::1          router.ffsaar node.ffsaar local.ffsaar knoten.ffsaar my.ffsaar&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== isc-dhcp-server (in Zukunft mal umzustellen) ===&lt;br /&gt;
* /etc/dhcp/dhcpd.conf: (Komplett ersetzen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ddns-update-style none;&lt;br /&gt;
default-lease-time 300;&lt;br /&gt;
max-lease-time 300;&lt;br /&gt;
authoritative;&lt;br /&gt;
&lt;br /&gt;
log-facility local6;&lt;br /&gt;
&lt;br /&gt;
subnet 10.24.192.0 netmask 255.255.192.0 {&lt;br /&gt;
        range 10.24.XXX.0 10.24.XXX+3.255;&lt;br /&gt;
        option routers 10.24.192.ZZZ;&lt;br /&gt;
        option domain-name-servers 10.24.192.2, 10.24.192.3, 10.24.192.4;&lt;br /&gt;
        option domain-search &amp;quot;ffsaar&amp;quot;;&lt;br /&gt;
        option ntp-servers 10.24.192.2, 10.24.192.3, 10.24.192.4;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
subnet 10.24.128.0 netmask 255.255.192.0 {&lt;br /&gt;
        range 10.24.YYY.0 10.24.YYY+3.255;&lt;br /&gt;
        option routers 10.24.128.ZZZ;&lt;br /&gt;
        option domain-name-servers 10.24.128.2, 10.24.128.3, 10.24.128.4;&lt;br /&gt;
        option domain-search &amp;quot;fflux&amp;quot;;&lt;br /&gt;
        option ntp-servers 10.24.128.2, 10.24.128.3, 10.24.128.4;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* XXX, XXX+3, YYY, YYY+3, ZZZ durch richtige Werte ersetzen&lt;br /&gt;
* /etc/default/isc-dhcp-server (Zeile INTERFACES ersetzen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
INTERFACES=&amp;quot;saarBR luxBR&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Neu starten: &amp;lt;code&amp;gt;service isc-dhcp-server restart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== IPTables ==&lt;br /&gt;
&lt;br /&gt;
* installieren: &amp;lt;code&amp;gt;apt-get install iptables-persistent&amp;lt;/code&amp;gt;&lt;br /&gt;
* /etc/iptables/rules.v4 UND /etc/iptables/rules.v6&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*mangle&lt;br /&gt;
:PREROUTING ACCEPT [0:0]&lt;br /&gt;
:INPUT ACCEPT [0:0]&lt;br /&gt;
:FORWARD ACCEPT [0:0]&lt;br /&gt;
:OUTPUT ACCEPT [0:0]&lt;br /&gt;
:POSTROUTING ACCEPT [0:0]&lt;br /&gt;
COMMIT&lt;br /&gt;
&lt;br /&gt;
*nat&lt;br /&gt;
:PREROUTING ACCEPT [0:0]&lt;br /&gt;
:INPUT ACCEPT [0:0]&lt;br /&gt;
:OUTPUT ACCEPT [0:0]&lt;br /&gt;
:POSTROUTING ACCEPT [0:0]&lt;br /&gt;
-A POSTROUTING -o tun0 -j MASQUERADE&lt;br /&gt;
COMMIT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Exit-VPN ==&lt;br /&gt;
abhängig von der Config einzurichten&lt;br /&gt;
== Knoteninformationen (Alfred...) ==&lt;br /&gt;
&#039;&#039;&#039;Dieser Punkt befindet sich aktuell in der Erstellung und wird später noch auf die anderen Kapitel aufgeteilt --[[Benutzer:Rugosh|Rugosh]] ([[Benutzer Diskussion:Rugosh|Diskussion]]) 16:38, 22. Feb. 2015 (CET)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Alfred wird auf den Gateways benötigt um die Knoteninformationen zu sammeln und aus diesen Informationen eine Knotendatei unter anderem für die Freifunkkarte bauen zu können.&lt;br /&gt;
Der Server, auf welchem die Knotendatei generiert wird ist hier logisch gesehen der Master die anderen Systeme sind als Slave zu konfigurieren.&lt;br /&gt;
&lt;br /&gt;
Da wir auf unseren Gateways sowohl Saar las auch Lux Freifunk betreiben benötigen wir auch eine Doppelkonfiguration der Knotenerstellung. Dies betrifft sowohl Alfred als auch den Punkt, dass der Master für mehrere Communities Kartendaten erstellen können muss.&lt;br /&gt;
&lt;br /&gt;
=== Slave Konfiguration ===&lt;br /&gt;
Benötigte Komponenten:&lt;br /&gt;
* Alfred&lt;br /&gt;
* Batman&lt;br /&gt;
&lt;br /&gt;
==== Alfred Konfiguration ====&lt;br /&gt;
Wir benötigen zuerst einmal zwei Alfred daemons:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo service alfred stop&lt;br /&gt;
sudo cp /etc/default/alfred /etc/default/alfred-saar&lt;br /&gt;
sudo cp /etc/default/alfred /etc/default/alfred-lux&lt;br /&gt;
sudo cp /etc/init.d/alfred /etc/init.d/alfred-saar&lt;br /&gt;
sudo cp /etc/init.d/alfred /etc/init.d/alfred-lux&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Alfred muss auf auf dem Slave lediglich auf den MASTER=0 gesetzt werden und das Interface, sowie Batman muss angegeben sein. Die Konfiguration findet in der Konfigurationsdatei &amp;lt;code&amp;gt;/etc/default/alfred-XXX&amp;lt;/code&amp;gt; wie folgt statt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# /etc/default/alfred-saar&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
# Additional command line options&lt;br /&gt;
DAEMON_OPTS=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Enable master mode (0/1)&lt;br /&gt;
MASTER=0&lt;br /&gt;
&lt;br /&gt;
# Interface for A.L.F.R.E.D. to listen on. Has to be specified.&lt;br /&gt;
INTERFACE=br-ff&lt;br /&gt;
&lt;br /&gt;
# Specify the batman-adv interface configured on the system (default: bat0).&lt;br /&gt;
# Use &#039;none&#039; to disable the batman-adv based best server selection.&lt;br /&gt;
BATMANIF=saarBAT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# /etc/default/alfred-lux&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
# Additional command line options&lt;br /&gt;
DAEMON_OPTS=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Enable master mode (0/1)&lt;br /&gt;
MASTER=0&lt;br /&gt;
&lt;br /&gt;
# Interface for A.L.F.R.E.D. to listen on. Has to be specified.&lt;br /&gt;
INTERFACE=luxBR&lt;br /&gt;
&lt;br /&gt;
# Specify the batman-adv interface configured on the system (default: bat0).&lt;br /&gt;
# Use &#039;none&#039; to disable the batman-adv based best server selection.&lt;br /&gt;
BATMANIF=luxBAT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Anpassen der init.d Dateien für die Alfreds...&lt;br /&gt;
&#039;&#039;&#039;Nachfolgende Configs erzeugen noch keinen eigenständigen Alfed Socket...&#039;&#039;&#039; Leider muss damit die Alfreds eigene Sockets haben anscheinend alfred selbst mit anderen werten kompaliert werden https://github.com/tcatm/alfred/blob/master/alfred.h oder hier muss eine andere (bessere) Lösung gefunden werden. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Ausschnitt der anzupassenden Datei /etc/init.d/alfred-saar&lt;br /&gt;
&lt;br /&gt;
DESC=&amp;quot;A.L.F.R.E.D -&amp;gt; Saar&amp;quot;&lt;br /&gt;
NAME=alfred&lt;br /&gt;
NAME2=alfred-saar&lt;br /&gt;
DAEMON=/usr/sbin/$NAME&lt;br /&gt;
PIDFILE=/var/run/$NAME2.pid&lt;br /&gt;
SCRIPTNAME=/etc/init.d/$NAME2&lt;br /&gt;
GROUP=alfred &lt;br /&gt;
OPTIONS=&amp;quot;&amp;quot;&lt;br /&gt;
UMASK=0117&lt;br /&gt;
&lt;br /&gt;
[ -x &amp;quot;$DAEMON&amp;quot; ] || exit 0&lt;br /&gt;
&lt;br /&gt;
# Source defaults.&lt;br /&gt;
[ -r /etc/default/$NAME2 ] &amp;amp;&amp;amp; . /etc/default/$NAME2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Ausschnitt der anzupassenden Datei /etc/init.d/alfred-lux&lt;br /&gt;
&lt;br /&gt;
DESC=&amp;quot;A.L.F.R.E.D -&amp;gt; Lux&amp;quot;&lt;br /&gt;
NAME=alfred-lux&lt;br /&gt;
DAEMON=/usr/sbin/$NAME&lt;br /&gt;
PIDFILE=/var/run/$NAME2.pid&lt;br /&gt;
SCRIPTNAME=/etc/init.d/$NAME2&lt;br /&gt;
GROUP=alfred&lt;br /&gt;
OPTIONS=&amp;quot;&amp;quot;&lt;br /&gt;
UMASK=0117&lt;br /&gt;
&lt;br /&gt;
[ -x &amp;quot;$DAEMON&amp;quot; ] || exit 0&lt;br /&gt;
&lt;br /&gt;
# Source defaults.&lt;br /&gt;
[ -r /etc/default/$NAME2 ] &amp;amp;&amp;amp; . /etc/default/$NAME2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Starten der neuen Alfreds&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo service alfred-saar start&lt;br /&gt;
sudo service alfred-lux start&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Nun testen ob alles wie gewünscht funktioniert und erst nach einem erfolgreichen Test die nun nicht mehr benötigten Daten löschen.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rm /etc/default/alfred&lt;br /&gt;
sudo rm /etc/init.d/alfred.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== batadv-vis ====&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=== Master Konfiguration ===&lt;br /&gt;
Benötigte Komponenten:&lt;br /&gt;
* Alfred&lt;br /&gt;
* Alfred-JSON&lt;br /&gt;
* Batman&lt;br /&gt;
&lt;br /&gt;
==== Alfred Konfiguration ====&lt;br /&gt;
Alfred muss auf auf dem Slave lediglich auf den MASTER=1 gesetzt werden und das Interface, sowie Batman muss angegeben sein. Für Details siehe [[#Alfred_Konfiguration | Slave Konfiguration -&amp;gt; Alfred Konfigurieren ]]&lt;br /&gt;
&#039;&#039;&#039;Achtung: Da auf dem Master aktuell nur ein Batman device läuft, ist hier aktuell kein alfred-lux gestartet, aber vorkonfiguriert&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Knotendateigenerierung ====&lt;br /&gt;
* Benötigt auch alias config&lt;br /&gt;
* bat2nodes für Kartengenerierung mit mkmap Skript. Checkout newest Version from https://github.com/freifunk-saar/ffmap-backend -&amp;gt; done.&lt;br /&gt;
* Cron Eintrag vom mkmap Skript&lt;br /&gt;
&lt;br /&gt;
==== Alias Konfiguration ====&lt;br /&gt;
Da wir uns für die manuelle Konfiguration des Announcement der Gateway Informationen entschieden haben ist eine Anpassung der Alias Datei für jede neue Gateway erforderlich.&lt;br /&gt;
Die Dateien &amp;lt;code&amp;gt;aliases_saar.json&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;aliases_lux.json&amp;lt;/code&amp;gt; befindet sich im bat2nodes Verzeichnis und beinhaltet für jede Gateway einen Alias Eintrag.&lt;br /&gt;
&lt;br /&gt;
Beipiel:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
   &amp;quot;&amp;lt;KENNUNG&amp;gt;1&amp;quot; : {&lt;br /&gt;
      &amp;quot;name&amp;quot; : &amp;quot;gw1.saar.freifunk.net&amp;quot;,&lt;br /&gt;
      &amp;quot;vpn&amp;quot; : true&lt;br /&gt;
   },&lt;br /&gt;
   &amp;quot;&amp;lt;KENNUNG&amp;gt;2&amp;quot; : {&lt;br /&gt;
      &amp;quot;name&amp;quot; : &amp;quot;gw2.saar.freifunk.net&amp;quot;,&lt;br /&gt;
      &amp;quot;vpn&amp;quot; : true&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== batadv-vis ====&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=== alfed-json ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== To be continued... ==&lt;br /&gt;
* DNSmasq statt radvd, bind, isc-dhcp-server&lt;/div&gt;</summary>
		<author><name>Tobi042</name></author>
	</entry>
	<entry>
		<id>https://wiki.hacksaar.de/index.php?title=Freifunk:Mesh-VPN_Gateway-Server_einrichten&amp;diff=1937</id>
		<title>Freifunk:Mesh-VPN Gateway-Server einrichten</title>
		<link rel="alternate" type="text/html" href="https://wiki.hacksaar.de/index.php?title=Freifunk:Mesh-VPN_Gateway-Server_einrichten&amp;diff=1937"/>
		<updated>2015-04-17T17:59:03Z</updated>

		<summary type="html">&lt;p&gt;Tobi042: /* DNS, DHCP und RA-Server dnsmasq */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Unsere Gateways laufen auf Debian 7 Wheezy. Diese Anleitungen orientieren sich an anderen Freifunk-Communities, aber einen sehr nennenswerten Einfluss hat die geniale Dokumentation von Freifunk Mainz, Wiesbaden und Umgebung (http://gluon-gateway-doku.readthedocs.org/de/latest/) gehabt.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
Größtenteils egal, wichtig ist folgendes: Root bekommt kein Passwort, dadurch wird der Root-Login gesperrt und man muss sudo benutzen. Als zu installierende Paketgruppen nutzen wir Debian-Standardutilities und SSH-Server.&lt;br /&gt;
&lt;br /&gt;
== SSH einrichten ==&lt;br /&gt;
&lt;br /&gt;
* Einloggen: &lt;br /&gt;
*: &amp;lt;code&amp;gt;ssh user@gwX.saar.freifunk.de&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;mkdir .ssh&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;echo &amp;quot;dein_ssh_key&amp;quot; &amp;gt; .ssh/authorized_keys&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;nano /etc/ssh/sshd_config&amp;lt;/code&amp;gt;&lt;br /&gt;
*: Folgende Änderungen vornehmen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;...&lt;br /&gt;
PermitRootLogin no&lt;br /&gt;
...&lt;br /&gt;
PasswordAuthentication no&lt;br /&gt;
...&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Alte Session aktiv lassen, in neuem Terminal versuchen mit Public Key einzuloggen. Wenn nicht erfolgreich debuggen.&lt;br /&gt;
* &amp;lt;code&amp;gt;sudo service ssh restart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Überflüssige Pakete deinstallieren ==&lt;br /&gt;
&lt;br /&gt;
Da wir eben etwas großzügig waren mit der Installation von Paketgruppen müssen wir jetzt exim und nfs-Kram deinstallieren:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;sudo apt-get remove exim4* nfs-common rpcbind&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Als Resultat sollte bei Ausführung von &amp;quot;sudo netstat -tulpn&amp;quot; keine Programme außer sshd und vielleicht dhclient angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
== APT Sources hinzufügen ==&lt;br /&gt;
&lt;br /&gt;
Wir benötigen die Sources für fastd und batman-adv:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;nano /etc/apt/sources.list&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 deb http://security.debian.org/ wheezy/updates main contrib non-free&lt;br /&gt;
 deb-src http://security.debian.org/ wheezy/updates main contrib non-free&lt;br /&gt;
  &lt;br /&gt;
 # fastd&lt;br /&gt;
 deb http://ftp.de.debian.org/debian wheezy-backports main&lt;br /&gt;
 deb http://repo.universe-factory.net/debian/ sid main&lt;br /&gt;
&lt;br /&gt;
 # alfred&lt;br /&gt;
 deb http://debian.draic.info/ wheezy main&lt;br /&gt;
 deb-src http://debian.draic.info/ wheezy main&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Schlüssel für repo importieren: &lt;br /&gt;
* &amp;lt;code&amp;gt;gpg --keyserver pgpkeys.mit.edu --recv-key  B89033D8&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;gpg -a --export B89033D8 | apt-key add -&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;gpg --keyserver pgpkeys.mit.edu --recv-key  16EF3F64CB201D9C&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;gpg -a --export 16EF3F64CB201D9C | apt-key add -&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pakete installieren ==&lt;br /&gt;
* &amp;lt;code&amp;gt;apt-get update&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;apt-get install batctl batman-adv-dkms fastd bridge-utils&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;echo &amp;quot;batman-adv&amp;quot; &amp;gt;&amp;gt; /etc/modules&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Netzwerk Grundkonfiguration ==&lt;br /&gt;
=== Sysctl Einstellungen ===&lt;br /&gt;
* /etc/sysctl.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Freifunk specific settings&lt;br /&gt;
net.ipv4.ip_forward=1&lt;br /&gt;
&lt;br /&gt;
net.bridge.bridge-nf-call-arptables = 0&lt;br /&gt;
net.bridge.bridge-nf-call-ip6tables = 0&lt;br /&gt;
net.bridge.bridge-nf-call-iptables = 0&lt;br /&gt;
&lt;br /&gt;
net.ipv6.conf.all.forwarding=1&lt;br /&gt;
&lt;br /&gt;
net.ipv6.conf.all.autoconf = 0&lt;br /&gt;
net.ipv6.conf.default.autoconf = 0&lt;br /&gt;
net.ipv6.conf.eth0.autoconf = 0&lt;br /&gt;
&lt;br /&gt;
net.ipv6.conf.all.accept_ra = 0&lt;br /&gt;
net.ipv6.conf.default.accept_ra = 0&lt;br /&gt;
net.ipv6.conf.eth0.accept_ra = 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Danach neu laden: &amp;lt;code&amp;gt;sysctl -p /etc/sysctl.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Routing Tables erstellen ===&lt;br /&gt;
* /etc/iproute2/rt_tables (bisherige Einstellungen beibehalten und folgende hinzufügen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# freifunk&lt;br /&gt;
32      saar&lt;br /&gt;
33      lux&lt;br /&gt;
42      icvpn&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Netzwerkinterafaces einstellen ===&lt;br /&gt;
* /etc/network/interfaces (andere Interfaces nach der entsprechenden Konfiguration belassen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# FREIFUNK SAAR&lt;br /&gt;
#&lt;br /&gt;
auto saarBR&lt;br /&gt;
iface saarBR inet static&lt;br /&gt;
    bridge_ports none&lt;br /&gt;
    bridge_fd 0&lt;br /&gt;
    bridge_maxwait 0&lt;br /&gt;
    address 10.24.192.XXX&lt;br /&gt;
    netmask 255.255.192.0&lt;br /&gt;
    # be sure all incoming traffic is handled by the appropriate rt_table&lt;br /&gt;
    post-up         /sbin/ip rule add iif $IFACE table saar priority 3200&lt;br /&gt;
    pre-down        /sbin/ip rule del iif $IFACE table saar priority 3200&lt;br /&gt;
    # default route is unreachable&lt;br /&gt;
    post-up         /sbin/ip route add unreachable default table saar&lt;br /&gt;
    post-down       /sbin/ip route del unreachable default table saar&lt;br /&gt;
    # local reachable subnet saar for rt_table lux&lt;br /&gt;
    post-up         /sbin/ip route add 10.24.128.0/18 proto static dev $IFACE table lux&lt;br /&gt;
    post-down       /sbin/ip route del 10.24.128.0/18 proto static dev $IFACE table lux&lt;br /&gt;
&lt;br /&gt;
iface saarBR inet6 static&lt;br /&gt;
    address fd4e:f2d7:88d2:ffff::XXX&lt;br /&gt;
    netmask 64&lt;br /&gt;
    # be sure all incoming traffic is handled by the appropriate rt_table&lt;br /&gt;
    post-up         /sbin/ip -6 rule add iif $IFACE table saar priority 3200&lt;br /&gt;
    pre-down        /sbin/ip -6 rule del iif $IFACE table saar priority 3200&lt;br /&gt;
    post-up         /sbin/ip -6 route add fe80::/64 proto static dev $IFACE table saar&lt;br /&gt;
    post-down       /sbin/ip -6 route del fe80::/64 proto static dev $IFACE table saar&lt;br /&gt;
    post-up         /sbin/ip -6 route add fd4e:f2d7:88d2:ffff::/64 proto static dev $IFACE table saar&lt;br /&gt;
    post-down       /sbin/ip -6 route del fd4e:f2d7:88d2:ffff::/64 proto static dev $IFACE table saar&lt;br /&gt;
    # ULA route mz for rt_table saar&lt;br /&gt;
    post-up         /sbin/ip -6 route add fd4e:f2d7:88d2:fffe::/64 proto static dev $IFACE table lux&lt;br /&gt;
    post-down       /sbin/ip -6 route del fd4e:f2d7:88d2:fffe::/64 proto static dev $IFACE table lux&lt;br /&gt;
&lt;br /&gt;
allow-hotplug saarMESH&lt;br /&gt;
iface saarMESH inet6 manual&lt;br /&gt;
    pre-up          /sbin/modprobe batman_adv&lt;br /&gt;
    post-up         /usr/sbin/batctl -m saarBAT if add $IFACE&lt;br /&gt;
    post-up         /sbin/ip link set dev saarBAT up&lt;br /&gt;
&lt;br /&gt;
allow-hotplug saarBAT&lt;br /&gt;
iface saarBAT inet6 manual&lt;br /&gt;
    pre-up          /sbin/modprobe batman-adv&lt;br /&gt;
    post-up         /sbin/brctl addif saarBR $IFACE&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE it 10000&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE vm server&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE gw server  6mbit/6mbit&lt;br /&gt;
    pre-down        /sbin/brctl delif saarBR $IFACE || true&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# FREIFUNK LUX &lt;br /&gt;
#&lt;br /&gt;
auto luxBR&lt;br /&gt;
iface luxBR inet static&lt;br /&gt;
    bridge_ports none&lt;br /&gt;
    bridge_fd 0&lt;br /&gt;
    bridge_maxwait 0&lt;br /&gt;
    address 10.24.128.XXX&lt;br /&gt;
    netmask 255.255.192.0&lt;br /&gt;
    # be sure all incoming traffic is handled by the appropriate rt_table&lt;br /&gt;
    post-up         /sbin/ip rule add iif $IFACE table lux priority 3300&lt;br /&gt;
    pre-down        /sbin/ip rule del iif $IFACE table lux priority 3300&lt;br /&gt;
    # default route is unreachable&lt;br /&gt;
    post-up         /sbin/ip route add unreachable default table lux &lt;br /&gt;
    post-down       /sbin/ip route del unreachable default table lux &lt;br /&gt;
    # local reachable subnet lux for rt_table saar&lt;br /&gt;
    post-up         /sbin/ip route add 10.24.192.0/18 proto static dev $IFACE table saar&lt;br /&gt;
    post-down       /sbin/ip route del 10.24.192.0/18 proto static dev $IFACE table saar&lt;br /&gt;
&lt;br /&gt;
iface luxBR inet6 static&lt;br /&gt;
    address fd4e:f2d7:88d2:fffe::XXX&lt;br /&gt;
    netmask 64&lt;br /&gt;
    # be sure all incoming traffic is handled by the appropriate rt_table&lt;br /&gt;
    post-up         /sbin/ip -6 rule add iif $IFACE table lux priority 3300&lt;br /&gt;
    pre-down        /sbin/ip -6 rule del iif $IFACE table lux priority 3300&lt;br /&gt;
    post-up         /sbin/ip -6 route add fe80::/64 proto static dev $IFACE table lux &lt;br /&gt;
    post-down       /sbin/ip -6 route del fe80::/64 proto static dev $IFACE table lux &lt;br /&gt;
    post-up         /sbin/ip -6 route add fd4e:f2d7:88d2:fffe::/64 proto static dev $IFACE table lux&lt;br /&gt;
    post-down       /sbin/ip -6 route del fd4e:f2d7:88d2:fffe::/64 proto static dev $IFACE table lux&lt;br /&gt;
    # ULA route saar for rt_table lux&lt;br /&gt;
    post-up         /sbin/ip -6 route add fd4e:f2d7:88d2:ffff::/64 proto static dev $IFACE table saar&lt;br /&gt;
    post-down       /sbin/ip -6 route del fd4e:f2d7:88d2:ffff::/64 proto static dev $IFACE table saar&lt;br /&gt;
&lt;br /&gt;
allow-hotplug luxMESH&lt;br /&gt;
iface luxMESH inet6 manual&lt;br /&gt;
    pre-up          /sbin/modprobe batman_adv&lt;br /&gt;
    post-up         /usr/sbin/batctl -m luxBAT if add $IFACE&lt;br /&gt;
    post-up         /sbin/ip link set dev luxBAT up&lt;br /&gt;
&lt;br /&gt;
allow-hotplug luxBAT&lt;br /&gt;
iface luxBAT inet6 manual&lt;br /&gt;
    pre-up          /sbin/modprobe batman-adv&lt;br /&gt;
    post-up         /sbin/brctl addif luxBR $IFACE&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE it 10000&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE vm server&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE gw server  6mbit/6mbit&lt;br /&gt;
    pre-down        /sbin/brctl delif luxBR $IFACE || true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Jedes Vorkommnis von XXX durch einen entsprechenden Wert aus dem Netzplan ersetzen, im Zweifel TobiT fragen&lt;br /&gt;
&lt;br /&gt;
== Helfer-Skripte ==&lt;br /&gt;
Es gibt 2 Helferskripte, die eingerichtet werden müssen. check_gateway.sh prüft minütlich, ob das ExitVPN noch steht. autoupdate_fastd_peers updatet die fastd-peers alle 5 Minuten per git.&lt;br /&gt;
=== check_gateway.sh ===&lt;br /&gt;
* /usr/bin/check_gateway.sh:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@gw2:/etc/fastd/freifunk-lux# less /usr/bin/check_gateway.sh&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
INTERFACE=tun0          # Set to name of VPN interface&lt;br /&gt;
DHCPSERVICE=dnsmasq     # Name of DHCP service&lt;br /&gt;
BANDWIDTH=XXX           # Server bandwidth&lt;br /&gt;
shopt -s nullglob&lt;br /&gt;
&lt;br /&gt;
# Test whether gateway is connected to the outer world via VPN&lt;br /&gt;
ping -q -I $INTERFACE 8.8.8.8 -c 4 -i 1 -W 5 &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
if test $? -eq 0; then&lt;br /&gt;
    NEW_STATE=server&lt;br /&gt;
else&lt;br /&gt;
    NEW_STATE=off&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Iterate through network interfaces in sys file system&lt;br /&gt;
for MESH in /sys/class/net/*/mesh; do&lt;br /&gt;
# Check whether gateway modus needs to be changed&lt;br /&gt;
OLD_STATE=&amp;quot;$(cat $MESH/gw_mode)&amp;quot;&lt;br /&gt;
[ &amp;quot;$OLD_STATE&amp;quot; == &amp;quot;$NEW_STATE&amp;quot; ] &amp;amp;&amp;amp; continue&lt;br /&gt;
    echo $NEW_STATE &amp;gt; $MESH/gw_mode&lt;br /&gt;
    echo ${BANDWIDTH}MBit/${BANDWIDTH}MBit &amp;gt; $MESH/gw_bandwidth&lt;br /&gt;
    logger &amp;quot;batman gateway mode changed to $NEW_STATE&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    # Check whether gateway modus has been deactivated&lt;br /&gt;
    if [ &amp;quot;$NEW_STATE&amp;quot; == &amp;quot;off&amp;quot; ]; then&lt;br /&gt;
        # Shutdown DHCP server to prevent renewal of leases&lt;br /&gt;
        /usr/sbin/service $DHCPSERVICE stop&lt;br /&gt;
    fi&lt;br /&gt;
&lt;br /&gt;
    # Check whether gateway modus has been activated&lt;br /&gt;
    if [ &amp;quot;$NEW_STATE&amp;quot; == &amp;quot;server&amp;quot; ]; then&lt;br /&gt;
        # Restart DHCP server&lt;br /&gt;
        /usr/sbin/service $DHCPSERVICE start&lt;br /&gt;
    fi&lt;br /&gt;
    exit 0&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
if [ &amp;quot;$NEW_STATE&amp;quot; == &amp;quot;server&amp;quot; ]; then&lt;br /&gt;
    /usr/sbin/service $DHCPSERVICE status 2&amp;gt;&amp;amp;1&amp;gt; /dev/null&lt;br /&gt;
    if [[ $? -ne 0 ]]&lt;br /&gt;
    then&lt;br /&gt;
        /usr/sbin/service $DHCPSERVICE restart&lt;br /&gt;
    fi&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$NEW_STATE&amp;quot; == &amp;quot;off&amp;quot; ]; then&lt;br /&gt;
    /usr/sbin/service $DHCPSERVICE status 2&amp;gt;&amp;amp;1&amp;gt; /dev/null&lt;br /&gt;
    if [[ $? -eq 0 ]]&lt;br /&gt;
    then&lt;br /&gt;
        /usr/sbin/service $DHCPSERVICE stop&lt;br /&gt;
    fi&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Ganz oben bei BANDWIDTH die Serverbandbreite in MBit/s einstellen, damit diese ordentlich via Batman announced werden kann.&lt;br /&gt;
* Speichern und mit &amp;lt;code&amp;gt;chmod +x /usr/bin/check_gateway.sh&amp;lt;/code&amp;gt; ausführbar machen&lt;br /&gt;
=== autoupdate_fastd_keys.sh ===&lt;br /&gt;
* /usr/bin/autoupate_fastd_keys.sh:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# Simple script to update fastd peers from git upstream&lt;br /&gt;
# and only send HUP to fastd when changes happend.&lt;br /&gt;
&lt;br /&gt;
# CONFIGURE THIS TO YOUR PEER DIRECTORY&lt;br /&gt;
FASTD_PEERS_ARRAY=( &amp;quot;freifunk-saar&amp;quot; &amp;quot;freifunk-lux&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
function getCurrentVersion() {&lt;br /&gt;
 # Get hash from latest revision&lt;br /&gt;
 git log --format=format:%H -1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
for FASTD_PEERS in &amp;quot;${FASTD_PEERS_ARRAY[@]}&amp;quot;&lt;br /&gt;
do&lt;br /&gt;
cd /etc/fastd/$FASTD_PEERS/peers&lt;br /&gt;
&lt;br /&gt;
# Get current version hash&lt;br /&gt;
GIT_REVISION=$(getCurrentVersion)&lt;br /&gt;
&lt;br /&gt;
# Automagically commit local changes&lt;br /&gt;
# This preserves local changes&lt;br /&gt;
git commit -m &amp;quot;CRON: auto commit&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Pull latest changes from upstream&lt;br /&gt;
git fetch&lt;br /&gt;
git merge origin/master -m &amp;quot;Auto Merge&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Get new version hash&lt;br /&gt;
GIT_NEW_REVISION=$(getCurrentVersion)&lt;br /&gt;
&lt;br /&gt;
if [ $GIT_REVISION != $GIT_NEW_REVISION ]&lt;br /&gt;
then&lt;br /&gt;
 # Version has changed we need to update&lt;br /&gt;
 echo &amp;quot;Reload fastd peers&amp;quot;&lt;br /&gt;
 kill -HUP $(cat /var/run/fastd.$FASTD_PEERS.pid)&lt;br /&gt;
fi&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Auch dieses Skript ausführbar machen: &amp;lt;code&amp;gt;chmod +x /usr/bin/autoupdate_fastd_keys.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
=== Skripte in crontab eintragen ===&lt;br /&gt;
* In &amp;lt;code&amp;gt;sudo crontab -e&amp;lt;/code&amp;gt; folgende Zeilen anhängen&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*/5 * * * *   /usr/bin/autoupdate_fastd_keys.sh &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
* * * * *   /usr/bin/check_gateway.sh &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Fastd-Config ==&lt;br /&gt;
* &amp;lt;code&amp;gt;mkdir /etc/fastd/freifunk-{saar,lux}/&amp;lt;/code&amp;gt;&lt;br /&gt;
* Config-Dateien anlegen und entsprechenden Inhalt reinkopieren:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
log level warn;&lt;br /&gt;
log to syslog level info;&lt;br /&gt;
&lt;br /&gt;
hide ip addresses yes;&lt;br /&gt;
hide mac addresses yes;&lt;br /&gt;
&lt;br /&gt;
interface &amp;quot;xxxxMESH&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
method &amp;quot;salsa2012+umac&amp;quot;;    # new method (faster)&lt;br /&gt;
method &amp;quot;salsa2012+gmac&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
bind any:10000 interface &amp;quot;eth0&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
include &amp;quot;secret.conf&amp;quot;;&lt;br /&gt;
mtu 1426; # 1492 - IPv4/IPv6 Header - fastd Header...&lt;br /&gt;
&lt;br /&gt;
include peers from &amp;quot;peers&amp;quot;;&lt;br /&gt;
include peers from &amp;quot;peers-gw&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
secure handshakes yes;&lt;br /&gt;
&lt;br /&gt;
on up &amp;quot;&lt;br /&gt;
ip link set dev xxxxMESH address ca:fe:ba:be:00:0X&lt;br /&gt;
ip link set dev xxxxMESH up&lt;br /&gt;
&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Secret Keys aus den Repos besorgen und in secret.conf schreiben&lt;br /&gt;
* Neuen SSH-Key anlegen, als Deploy Key in die Gitlab-Projekte https://git.hacksaar.de/FreifunkSaar/mesh-vpn-peers und https://git.hacksaar.de/FreifunkSaar/mesh-vpn-peers-lux eintragen.&lt;br /&gt;
* Mesh-VPN-Peers-Verzeichnis als &amp;quot;peers&amp;quot; klonen: &amp;lt;code&amp;gt;git clone git@hacksaar.de:FreifunkSaar/mesh-vpn-peers.git peers&amp;lt;/code&amp;gt; bzw &amp;lt;code&amp;gt;git clone git@hacksaar.de:FreifunkSaar/mesh-vpn-peers-lux.git peers&amp;lt;/code&amp;gt; jeweils im entsprechende Verzeichnis&lt;br /&gt;
* Feuer!: &amp;lt;code&amp;gt;sudo service fastd start&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DNS, DHCP und RA-Server dnsmasq ==&lt;br /&gt;
* Installieren: &amp;lt;code&amp;gt;apt-get install dnsmasq&amp;lt;/code&amp;gt;&lt;br /&gt;
* /etc/dnsmasq.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bogus-priv&lt;br /&gt;
no-resolv&lt;br /&gt;
no-poll&lt;br /&gt;
log-facility=/dev/null&lt;br /&gt;
&lt;br /&gt;
server=8.8.8.8&lt;br /&gt;
server=8.8.4.4&lt;br /&gt;
&lt;br /&gt;
read-ethers&lt;br /&gt;
expand-hosts&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* /etc/dnsmasq.d/ffsaar&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local=/ffsaar/&lt;br /&gt;
interface=saarBR&lt;br /&gt;
domain=ffsaar&lt;br /&gt;
&lt;br /&gt;
dhcp-range=10.24.XXX.1,10.24.XXX.254,180&lt;br /&gt;
dhcp-range=fd4e:f2d7:88d2:ffff::,64,180,ra-names&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* /etc/dnsmasq.d/fflux&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local=/fflux/&lt;br /&gt;
interface=luxBR&lt;br /&gt;
domain=fflux&lt;br /&gt;
&lt;br /&gt;
dhcp-range=10.24.XXX.1,10.24.XXX.254,180&lt;br /&gt;
dhcp-range=fd4e:f2d7:88d2:fffe::,64,180,ra-names&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* /etc/hosts&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Freifunk Sachen&lt;br /&gt;
10.24.192.2                     static.services.ffsaar ntp.services.ffsaar&lt;br /&gt;
fd4e:f2d7:88d2:ffff::2          static.services.ffsaar ntp.services.ffsaar&lt;br /&gt;
&lt;br /&gt;
10.24.192.1                     router.ffsaar node.ffsaar local.ffsaar knoten.ffsaar my.ffsaar&lt;br /&gt;
fd4e:f2d7:88d2:ffff::1          router.ffsaar node.ffsaar local.ffsaar knoten.ffsaar my.ffsaar&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== isc-dhcp-server (in Zukunft mal umzustellen) ===&lt;br /&gt;
* /etc/dhcp/dhcpd.conf: (Komplett ersetzen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ddns-update-style none;&lt;br /&gt;
default-lease-time 300;&lt;br /&gt;
max-lease-time 300;&lt;br /&gt;
authoritative;&lt;br /&gt;
&lt;br /&gt;
log-facility local6;&lt;br /&gt;
&lt;br /&gt;
subnet 10.24.192.0 netmask 255.255.192.0 {&lt;br /&gt;
        range 10.24.XXX.0 10.24.XXX+3.255;&lt;br /&gt;
        option routers 10.24.192.ZZZ;&lt;br /&gt;
        option domain-name-servers 10.24.192.2, 10.24.192.3, 10.24.192.4;&lt;br /&gt;
        option domain-search &amp;quot;ffsaar&amp;quot;;&lt;br /&gt;
        option ntp-servers 10.24.192.2, 10.24.192.3, 10.24.192.4;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
subnet 10.24.128.0 netmask 255.255.192.0 {&lt;br /&gt;
        range 10.24.YYY.0 10.24.YYY+3.255;&lt;br /&gt;
        option routers 10.24.128.ZZZ;&lt;br /&gt;
        option domain-name-servers 10.24.128.2, 10.24.128.3, 10.24.128.4;&lt;br /&gt;
        option domain-search &amp;quot;fflux&amp;quot;;&lt;br /&gt;
        option ntp-servers 10.24.128.2, 10.24.128.3, 10.24.128.4;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* XXX, XXX+3, YYY, YYY+3, ZZZ durch richtige Werte ersetzen&lt;br /&gt;
* /etc/default/isc-dhcp-server (Zeile INTERFACES ersetzen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
INTERFACES=&amp;quot;saarBR luxBR&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Neu starten: &amp;lt;code&amp;gt;service isc-dhcp-server restart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== IPTables ==&lt;br /&gt;
&lt;br /&gt;
* installieren: &amp;lt;code&amp;gt;apt-get install iptables-persistent&amp;lt;/code&amp;gt;&lt;br /&gt;
* /etc/iptables/rules.v4 UND /etc/iptables/rules.v6&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*mangle&lt;br /&gt;
:PREROUTING ACCEPT [0:0]&lt;br /&gt;
:INPUT ACCEPT [0:0]&lt;br /&gt;
:FORWARD ACCEPT [0:0]&lt;br /&gt;
:OUTPUT ACCEPT [0:0]&lt;br /&gt;
:POSTROUTING ACCEPT [0:0]&lt;br /&gt;
COMMIT&lt;br /&gt;
&lt;br /&gt;
*nat&lt;br /&gt;
:PREROUTING ACCEPT [0:0]&lt;br /&gt;
:INPUT ACCEPT [0:0]&lt;br /&gt;
:OUTPUT ACCEPT [0:0]&lt;br /&gt;
:POSTROUTING ACCEPT [0:0]&lt;br /&gt;
-A POSTROUTING -o tun0 -j MASQUERADE&lt;br /&gt;
COMMIT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Exit-VPN ==&lt;br /&gt;
abhängig von der Config einzurichten&lt;br /&gt;
== Knoteninformationen (Alfred...) ==&lt;br /&gt;
&#039;&#039;&#039;Dieser Punkt befindet sich aktuell in der Erstellung und wird später noch auf die anderen Kapitel aufgeteilt --[[Benutzer:Rugosh|Rugosh]] ([[Benutzer Diskussion:Rugosh|Diskussion]]) 16:38, 22. Feb. 2015 (CET)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Alfred wird auf den Gateways benötigt um die Knoteninformationen zu sammeln und aus diesen Informationen eine Knotendatei unter anderem für die Freifunkkarte bauen zu können.&lt;br /&gt;
Der Server, auf welchem die Knotendatei generiert wird ist hier logisch gesehen der Master die anderen Systeme sind als Slave zu konfigurieren.&lt;br /&gt;
&lt;br /&gt;
Da wir auf unseren Gateways sowohl Saar las auch Lux Freifunk betreiben benötigen wir auch eine Doppelkonfiguration der Knotenerstellung. Dies betrifft sowohl Alfred als auch den Punkt, dass der Master für mehrere Communities Kartendaten erstellen können muss.&lt;br /&gt;
&lt;br /&gt;
=== Slave Konfiguration ===&lt;br /&gt;
Benötigte Komponenten:&lt;br /&gt;
* Alfred&lt;br /&gt;
* Batman&lt;br /&gt;
&lt;br /&gt;
==== Alfred Konfiguration ====&lt;br /&gt;
Wir benötigen zuerst einmal zwei Alfred daemons:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo service alfred stop&lt;br /&gt;
sudo cp /etc/default/alfred /etc/default/alfred-saar&lt;br /&gt;
sudo cp /etc/default/alfred /etc/default/alfred-lux&lt;br /&gt;
sudo cp /etc/init.d/alfred /etc/init.d/alfred-saar&lt;br /&gt;
sudo cp /etc/init.d/alfred /etc/init.d/alfred-lux&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Alfred muss auf auf dem Slave lediglich auf den MASTER=0 gesetzt werden und das Interface, sowie Batman muss angegeben sein. Die Konfiguration findet in der Konfigurationsdatei &amp;lt;code&amp;gt;/etc/default/alfred-XXX&amp;lt;/code&amp;gt; wie folgt statt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# /etc/default/alfred-saar&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
# Additional command line options&lt;br /&gt;
DAEMON_OPTS=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Enable master mode (0/1)&lt;br /&gt;
MASTER=0&lt;br /&gt;
&lt;br /&gt;
# Interface for A.L.F.R.E.D. to listen on. Has to be specified.&lt;br /&gt;
INTERFACE=br-ff&lt;br /&gt;
&lt;br /&gt;
# Specify the batman-adv interface configured on the system (default: bat0).&lt;br /&gt;
# Use &#039;none&#039; to disable the batman-adv based best server selection.&lt;br /&gt;
BATMANIF=saarBAT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# /etc/default/alfred-lux&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
# Additional command line options&lt;br /&gt;
DAEMON_OPTS=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Enable master mode (0/1)&lt;br /&gt;
MASTER=0&lt;br /&gt;
&lt;br /&gt;
# Interface for A.L.F.R.E.D. to listen on. Has to be specified.&lt;br /&gt;
INTERFACE=luxBR&lt;br /&gt;
&lt;br /&gt;
# Specify the batman-adv interface configured on the system (default: bat0).&lt;br /&gt;
# Use &#039;none&#039; to disable the batman-adv based best server selection.&lt;br /&gt;
BATMANIF=luxBAT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Anpassen der init.d Dateien für die Alfreds...&lt;br /&gt;
&#039;&#039;&#039;Nachfolgende Configs erzeugen noch keinen eigenständigen Alfed Socket...&#039;&#039;&#039; Leider muss damit die Alfreds eigene Sockets haben anscheinend alfred selbst mit anderen werten kompaliert werden https://github.com/tcatm/alfred/blob/master/alfred.h oder hier muss eine andere (bessere) Lösung gefunden werden. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Ausschnitt der anzupassenden Datei /etc/init.d/alfred-saar&lt;br /&gt;
&lt;br /&gt;
DESC=&amp;quot;A.L.F.R.E.D -&amp;gt; Saar&amp;quot;&lt;br /&gt;
NAME=alfred&lt;br /&gt;
NAME2=alfred-saar&lt;br /&gt;
DAEMON=/usr/sbin/$NAME&lt;br /&gt;
PIDFILE=/var/run/$NAME2.pid&lt;br /&gt;
SCRIPTNAME=/etc/init.d/$NAME2&lt;br /&gt;
GROUP=alfred &lt;br /&gt;
OPTIONS=&amp;quot;&amp;quot;&lt;br /&gt;
UMASK=0117&lt;br /&gt;
&lt;br /&gt;
[ -x &amp;quot;$DAEMON&amp;quot; ] || exit 0&lt;br /&gt;
&lt;br /&gt;
# Source defaults.&lt;br /&gt;
[ -r /etc/default/$NAME2 ] &amp;amp;&amp;amp; . /etc/default/$NAME2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Ausschnitt der anzupassenden Datei /etc/init.d/alfred-lux&lt;br /&gt;
&lt;br /&gt;
DESC=&amp;quot;A.L.F.R.E.D -&amp;gt; Lux&amp;quot;&lt;br /&gt;
NAME=alfred-lux&lt;br /&gt;
DAEMON=/usr/sbin/$NAME&lt;br /&gt;
PIDFILE=/var/run/$NAME2.pid&lt;br /&gt;
SCRIPTNAME=/etc/init.d/$NAME2&lt;br /&gt;
GROUP=alfred&lt;br /&gt;
OPTIONS=&amp;quot;&amp;quot;&lt;br /&gt;
UMASK=0117&lt;br /&gt;
&lt;br /&gt;
[ -x &amp;quot;$DAEMON&amp;quot; ] || exit 0&lt;br /&gt;
&lt;br /&gt;
# Source defaults.&lt;br /&gt;
[ -r /etc/default/$NAME2 ] &amp;amp;&amp;amp; . /etc/default/$NAME2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Starten der neuen Alfreds&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo service alfred-saar start&lt;br /&gt;
sudo service alfred-lux start&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Nun testen ob alles wie gewünscht funktioniert und erst nach einem erfolgreichen Test die nun nicht mehr benötigten Daten löschen.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rm /etc/default/alfred&lt;br /&gt;
sudo rm /etc/init.d/alfred.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== batadv-vis ====&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=== Master Konfiguration ===&lt;br /&gt;
Benötigte Komponenten:&lt;br /&gt;
* Alfred&lt;br /&gt;
* Alfred-JSON&lt;br /&gt;
* Batman&lt;br /&gt;
&lt;br /&gt;
==== Alfred Konfiguration ====&lt;br /&gt;
Alfred muss auf auf dem Slave lediglich auf den MASTER=1 gesetzt werden und das Interface, sowie Batman muss angegeben sein. Für Details siehe [[#Alfred_Konfiguration | Slave Konfiguration -&amp;gt; Alfred Konfigurieren ]]&lt;br /&gt;
&#039;&#039;&#039;Achtung: Da auf dem Master aktuell nur ein Batman device läuft, ist hier aktuell kein alfred-lux gestartet, aber vorkonfiguriert&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Knotendateigenerierung ====&lt;br /&gt;
* Benötigt auch alias config&lt;br /&gt;
* bat2nodes für Kartengenerierung mit mkmap Skript. Checkout newest Version from https://github.com/freifunk-saar/ffmap-backend -&amp;gt; done.&lt;br /&gt;
* Cron Eintrag vom mkmap Skript&lt;br /&gt;
&lt;br /&gt;
==== Alias Konfiguration ====&lt;br /&gt;
Da wir uns für die manuelle Konfiguration des Announcement der Gateway Informationen entschieden haben ist eine Anpassung der Alias Datei für jede neue Gateway erforderlich.&lt;br /&gt;
Die Dateien &amp;lt;code&amp;gt;aliases_saar.json&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;aliases_lux.json&amp;lt;/code&amp;gt; befindet sich im bat2nodes Verzeichnis und beinhaltet für jede Gateway einen Alias Eintrag.&lt;br /&gt;
&lt;br /&gt;
Beipiel:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
   &amp;quot;&amp;lt;KENNUNG&amp;gt;1&amp;quot; : {&lt;br /&gt;
      &amp;quot;name&amp;quot; : &amp;quot;gw1.saar.freifunk.net&amp;quot;,&lt;br /&gt;
      &amp;quot;vpn&amp;quot; : true&lt;br /&gt;
   },&lt;br /&gt;
   &amp;quot;&amp;lt;KENNUNG&amp;gt;2&amp;quot; : {&lt;br /&gt;
      &amp;quot;name&amp;quot; : &amp;quot;gw2.saar.freifunk.net&amp;quot;,&lt;br /&gt;
      &amp;quot;vpn&amp;quot; : true&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== batadv-vis ====&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=== alfed-json ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== To be continued... ==&lt;br /&gt;
* DNSmasq statt radvd, bind, isc-dhcp-server&lt;br /&gt;
* iptables NAT&lt;/div&gt;</summary>
		<author><name>Tobi042</name></author>
	</entry>
	<entry>
		<id>https://wiki.hacksaar.de/index.php?title=Freifunk:Mesh-VPN_Gateway-Server_einrichten&amp;diff=1936</id>
		<title>Freifunk:Mesh-VPN Gateway-Server einrichten</title>
		<link rel="alternate" type="text/html" href="https://wiki.hacksaar.de/index.php?title=Freifunk:Mesh-VPN_Gateway-Server_einrichten&amp;diff=1936"/>
		<updated>2015-04-17T17:58:15Z</updated>

		<summary type="html">&lt;p&gt;Tobi042: Mehr Logging!&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Unsere Gateways laufen auf Debian 7 Wheezy. Diese Anleitungen orientieren sich an anderen Freifunk-Communities, aber einen sehr nennenswerten Einfluss hat die geniale Dokumentation von Freifunk Mainz, Wiesbaden und Umgebung (http://gluon-gateway-doku.readthedocs.org/de/latest/) gehabt.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
Größtenteils egal, wichtig ist folgendes: Root bekommt kein Passwort, dadurch wird der Root-Login gesperrt und man muss sudo benutzen. Als zu installierende Paketgruppen nutzen wir Debian-Standardutilities und SSH-Server.&lt;br /&gt;
&lt;br /&gt;
== SSH einrichten ==&lt;br /&gt;
&lt;br /&gt;
* Einloggen: &lt;br /&gt;
*: &amp;lt;code&amp;gt;ssh user@gwX.saar.freifunk.de&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;mkdir .ssh&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;echo &amp;quot;dein_ssh_key&amp;quot; &amp;gt; .ssh/authorized_keys&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;nano /etc/ssh/sshd_config&amp;lt;/code&amp;gt;&lt;br /&gt;
*: Folgende Änderungen vornehmen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;...&lt;br /&gt;
PermitRootLogin no&lt;br /&gt;
...&lt;br /&gt;
PasswordAuthentication no&lt;br /&gt;
...&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Alte Session aktiv lassen, in neuem Terminal versuchen mit Public Key einzuloggen. Wenn nicht erfolgreich debuggen.&lt;br /&gt;
* &amp;lt;code&amp;gt;sudo service ssh restart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Überflüssige Pakete deinstallieren ==&lt;br /&gt;
&lt;br /&gt;
Da wir eben etwas großzügig waren mit der Installation von Paketgruppen müssen wir jetzt exim und nfs-Kram deinstallieren:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;sudo apt-get remove exim4* nfs-common rpcbind&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Als Resultat sollte bei Ausführung von &amp;quot;sudo netstat -tulpn&amp;quot; keine Programme außer sshd und vielleicht dhclient angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
== APT Sources hinzufügen ==&lt;br /&gt;
&lt;br /&gt;
Wir benötigen die Sources für fastd und batman-adv:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;nano /etc/apt/sources.list&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 deb http://security.debian.org/ wheezy/updates main contrib non-free&lt;br /&gt;
 deb-src http://security.debian.org/ wheezy/updates main contrib non-free&lt;br /&gt;
  &lt;br /&gt;
 # fastd&lt;br /&gt;
 deb http://ftp.de.debian.org/debian wheezy-backports main&lt;br /&gt;
 deb http://repo.universe-factory.net/debian/ sid main&lt;br /&gt;
&lt;br /&gt;
 # alfred&lt;br /&gt;
 deb http://debian.draic.info/ wheezy main&lt;br /&gt;
 deb-src http://debian.draic.info/ wheezy main&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Schlüssel für repo importieren: &lt;br /&gt;
* &amp;lt;code&amp;gt;gpg --keyserver pgpkeys.mit.edu --recv-key  B89033D8&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;gpg -a --export B89033D8 | apt-key add -&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;gpg --keyserver pgpkeys.mit.edu --recv-key  16EF3F64CB201D9C&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;gpg -a --export 16EF3F64CB201D9C | apt-key add -&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pakete installieren ==&lt;br /&gt;
* &amp;lt;code&amp;gt;apt-get update&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;apt-get install batctl batman-adv-dkms fastd bridge-utils&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;echo &amp;quot;batman-adv&amp;quot; &amp;gt;&amp;gt; /etc/modules&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Netzwerk Grundkonfiguration ==&lt;br /&gt;
=== Sysctl Einstellungen ===&lt;br /&gt;
* /etc/sysctl.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Freifunk specific settings&lt;br /&gt;
net.ipv4.ip_forward=1&lt;br /&gt;
&lt;br /&gt;
net.bridge.bridge-nf-call-arptables = 0&lt;br /&gt;
net.bridge.bridge-nf-call-ip6tables = 0&lt;br /&gt;
net.bridge.bridge-nf-call-iptables = 0&lt;br /&gt;
&lt;br /&gt;
net.ipv6.conf.all.forwarding=1&lt;br /&gt;
&lt;br /&gt;
net.ipv6.conf.all.autoconf = 0&lt;br /&gt;
net.ipv6.conf.default.autoconf = 0&lt;br /&gt;
net.ipv6.conf.eth0.autoconf = 0&lt;br /&gt;
&lt;br /&gt;
net.ipv6.conf.all.accept_ra = 0&lt;br /&gt;
net.ipv6.conf.default.accept_ra = 0&lt;br /&gt;
net.ipv6.conf.eth0.accept_ra = 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Danach neu laden: &amp;lt;code&amp;gt;sysctl -p /etc/sysctl.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Routing Tables erstellen ===&lt;br /&gt;
* /etc/iproute2/rt_tables (bisherige Einstellungen beibehalten und folgende hinzufügen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# freifunk&lt;br /&gt;
32      saar&lt;br /&gt;
33      lux&lt;br /&gt;
42      icvpn&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Netzwerkinterafaces einstellen ===&lt;br /&gt;
* /etc/network/interfaces (andere Interfaces nach der entsprechenden Konfiguration belassen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# FREIFUNK SAAR&lt;br /&gt;
#&lt;br /&gt;
auto saarBR&lt;br /&gt;
iface saarBR inet static&lt;br /&gt;
    bridge_ports none&lt;br /&gt;
    bridge_fd 0&lt;br /&gt;
    bridge_maxwait 0&lt;br /&gt;
    address 10.24.192.XXX&lt;br /&gt;
    netmask 255.255.192.0&lt;br /&gt;
    # be sure all incoming traffic is handled by the appropriate rt_table&lt;br /&gt;
    post-up         /sbin/ip rule add iif $IFACE table saar priority 3200&lt;br /&gt;
    pre-down        /sbin/ip rule del iif $IFACE table saar priority 3200&lt;br /&gt;
    # default route is unreachable&lt;br /&gt;
    post-up         /sbin/ip route add unreachable default table saar&lt;br /&gt;
    post-down       /sbin/ip route del unreachable default table saar&lt;br /&gt;
    # local reachable subnet saar for rt_table lux&lt;br /&gt;
    post-up         /sbin/ip route add 10.24.128.0/18 proto static dev $IFACE table lux&lt;br /&gt;
    post-down       /sbin/ip route del 10.24.128.0/18 proto static dev $IFACE table lux&lt;br /&gt;
&lt;br /&gt;
iface saarBR inet6 static&lt;br /&gt;
    address fd4e:f2d7:88d2:ffff::XXX&lt;br /&gt;
    netmask 64&lt;br /&gt;
    # be sure all incoming traffic is handled by the appropriate rt_table&lt;br /&gt;
    post-up         /sbin/ip -6 rule add iif $IFACE table saar priority 3200&lt;br /&gt;
    pre-down        /sbin/ip -6 rule del iif $IFACE table saar priority 3200&lt;br /&gt;
    post-up         /sbin/ip -6 route add fe80::/64 proto static dev $IFACE table saar&lt;br /&gt;
    post-down       /sbin/ip -6 route del fe80::/64 proto static dev $IFACE table saar&lt;br /&gt;
    post-up         /sbin/ip -6 route add fd4e:f2d7:88d2:ffff::/64 proto static dev $IFACE table saar&lt;br /&gt;
    post-down       /sbin/ip -6 route del fd4e:f2d7:88d2:ffff::/64 proto static dev $IFACE table saar&lt;br /&gt;
    # ULA route mz for rt_table saar&lt;br /&gt;
    post-up         /sbin/ip -6 route add fd4e:f2d7:88d2:fffe::/64 proto static dev $IFACE table lux&lt;br /&gt;
    post-down       /sbin/ip -6 route del fd4e:f2d7:88d2:fffe::/64 proto static dev $IFACE table lux&lt;br /&gt;
&lt;br /&gt;
allow-hotplug saarMESH&lt;br /&gt;
iface saarMESH inet6 manual&lt;br /&gt;
    pre-up          /sbin/modprobe batman_adv&lt;br /&gt;
    post-up         /usr/sbin/batctl -m saarBAT if add $IFACE&lt;br /&gt;
    post-up         /sbin/ip link set dev saarBAT up&lt;br /&gt;
&lt;br /&gt;
allow-hotplug saarBAT&lt;br /&gt;
iface saarBAT inet6 manual&lt;br /&gt;
    pre-up          /sbin/modprobe batman-adv&lt;br /&gt;
    post-up         /sbin/brctl addif saarBR $IFACE&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE it 10000&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE vm server&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE gw server  6mbit/6mbit&lt;br /&gt;
    pre-down        /sbin/brctl delif saarBR $IFACE || true&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# FREIFUNK LUX &lt;br /&gt;
#&lt;br /&gt;
auto luxBR&lt;br /&gt;
iface luxBR inet static&lt;br /&gt;
    bridge_ports none&lt;br /&gt;
    bridge_fd 0&lt;br /&gt;
    bridge_maxwait 0&lt;br /&gt;
    address 10.24.128.XXX&lt;br /&gt;
    netmask 255.255.192.0&lt;br /&gt;
    # be sure all incoming traffic is handled by the appropriate rt_table&lt;br /&gt;
    post-up         /sbin/ip rule add iif $IFACE table lux priority 3300&lt;br /&gt;
    pre-down        /sbin/ip rule del iif $IFACE table lux priority 3300&lt;br /&gt;
    # default route is unreachable&lt;br /&gt;
    post-up         /sbin/ip route add unreachable default table lux &lt;br /&gt;
    post-down       /sbin/ip route del unreachable default table lux &lt;br /&gt;
    # local reachable subnet lux for rt_table saar&lt;br /&gt;
    post-up         /sbin/ip route add 10.24.192.0/18 proto static dev $IFACE table saar&lt;br /&gt;
    post-down       /sbin/ip route del 10.24.192.0/18 proto static dev $IFACE table saar&lt;br /&gt;
&lt;br /&gt;
iface luxBR inet6 static&lt;br /&gt;
    address fd4e:f2d7:88d2:fffe::XXX&lt;br /&gt;
    netmask 64&lt;br /&gt;
    # be sure all incoming traffic is handled by the appropriate rt_table&lt;br /&gt;
    post-up         /sbin/ip -6 rule add iif $IFACE table lux priority 3300&lt;br /&gt;
    pre-down        /sbin/ip -6 rule del iif $IFACE table lux priority 3300&lt;br /&gt;
    post-up         /sbin/ip -6 route add fe80::/64 proto static dev $IFACE table lux &lt;br /&gt;
    post-down       /sbin/ip -6 route del fe80::/64 proto static dev $IFACE table lux &lt;br /&gt;
    post-up         /sbin/ip -6 route add fd4e:f2d7:88d2:fffe::/64 proto static dev $IFACE table lux&lt;br /&gt;
    post-down       /sbin/ip -6 route del fd4e:f2d7:88d2:fffe::/64 proto static dev $IFACE table lux&lt;br /&gt;
    # ULA route saar for rt_table lux&lt;br /&gt;
    post-up         /sbin/ip -6 route add fd4e:f2d7:88d2:ffff::/64 proto static dev $IFACE table saar&lt;br /&gt;
    post-down       /sbin/ip -6 route del fd4e:f2d7:88d2:ffff::/64 proto static dev $IFACE table saar&lt;br /&gt;
&lt;br /&gt;
allow-hotplug luxMESH&lt;br /&gt;
iface luxMESH inet6 manual&lt;br /&gt;
    pre-up          /sbin/modprobe batman_adv&lt;br /&gt;
    post-up         /usr/sbin/batctl -m luxBAT if add $IFACE&lt;br /&gt;
    post-up         /sbin/ip link set dev luxBAT up&lt;br /&gt;
&lt;br /&gt;
allow-hotplug luxBAT&lt;br /&gt;
iface luxBAT inet6 manual&lt;br /&gt;
    pre-up          /sbin/modprobe batman-adv&lt;br /&gt;
    post-up         /sbin/brctl addif luxBR $IFACE&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE it 10000&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE vm server&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE gw server  6mbit/6mbit&lt;br /&gt;
    pre-down        /sbin/brctl delif luxBR $IFACE || true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Jedes Vorkommnis von XXX durch einen entsprechenden Wert aus dem Netzplan ersetzen, im Zweifel TobiT fragen&lt;br /&gt;
&lt;br /&gt;
== Helfer-Skripte ==&lt;br /&gt;
Es gibt 2 Helferskripte, die eingerichtet werden müssen. check_gateway.sh prüft minütlich, ob das ExitVPN noch steht. autoupdate_fastd_peers updatet die fastd-peers alle 5 Minuten per git.&lt;br /&gt;
=== check_gateway.sh ===&lt;br /&gt;
* /usr/bin/check_gateway.sh:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@gw2:/etc/fastd/freifunk-lux# less /usr/bin/check_gateway.sh&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
INTERFACE=tun0          # Set to name of VPN interface&lt;br /&gt;
DHCPSERVICE=dnsmasq     # Name of DHCP service&lt;br /&gt;
BANDWIDTH=XXX           # Server bandwidth&lt;br /&gt;
shopt -s nullglob&lt;br /&gt;
&lt;br /&gt;
# Test whether gateway is connected to the outer world via VPN&lt;br /&gt;
ping -q -I $INTERFACE 8.8.8.8 -c 4 -i 1 -W 5 &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
if test $? -eq 0; then&lt;br /&gt;
    NEW_STATE=server&lt;br /&gt;
else&lt;br /&gt;
    NEW_STATE=off&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Iterate through network interfaces in sys file system&lt;br /&gt;
for MESH in /sys/class/net/*/mesh; do&lt;br /&gt;
# Check whether gateway modus needs to be changed&lt;br /&gt;
OLD_STATE=&amp;quot;$(cat $MESH/gw_mode)&amp;quot;&lt;br /&gt;
[ &amp;quot;$OLD_STATE&amp;quot; == &amp;quot;$NEW_STATE&amp;quot; ] &amp;amp;&amp;amp; continue&lt;br /&gt;
    echo $NEW_STATE &amp;gt; $MESH/gw_mode&lt;br /&gt;
    echo ${BANDWIDTH}MBit/${BANDWIDTH}MBit &amp;gt; $MESH/gw_bandwidth&lt;br /&gt;
    logger &amp;quot;batman gateway mode changed to $NEW_STATE&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    # Check whether gateway modus has been deactivated&lt;br /&gt;
    if [ &amp;quot;$NEW_STATE&amp;quot; == &amp;quot;off&amp;quot; ]; then&lt;br /&gt;
        # Shutdown DHCP server to prevent renewal of leases&lt;br /&gt;
        /usr/sbin/service $DHCPSERVICE stop&lt;br /&gt;
    fi&lt;br /&gt;
&lt;br /&gt;
    # Check whether gateway modus has been activated&lt;br /&gt;
    if [ &amp;quot;$NEW_STATE&amp;quot; == &amp;quot;server&amp;quot; ]; then&lt;br /&gt;
        # Restart DHCP server&lt;br /&gt;
        /usr/sbin/service $DHCPSERVICE start&lt;br /&gt;
    fi&lt;br /&gt;
    exit 0&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
if [ &amp;quot;$NEW_STATE&amp;quot; == &amp;quot;server&amp;quot; ]; then&lt;br /&gt;
    /usr/sbin/service $DHCPSERVICE status 2&amp;gt;&amp;amp;1&amp;gt; /dev/null&lt;br /&gt;
    if [[ $? -ne 0 ]]&lt;br /&gt;
    then&lt;br /&gt;
        /usr/sbin/service $DHCPSERVICE restart&lt;br /&gt;
    fi&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$NEW_STATE&amp;quot; == &amp;quot;off&amp;quot; ]; then&lt;br /&gt;
    /usr/sbin/service $DHCPSERVICE status 2&amp;gt;&amp;amp;1&amp;gt; /dev/null&lt;br /&gt;
    if [[ $? -eq 0 ]]&lt;br /&gt;
    then&lt;br /&gt;
        /usr/sbin/service $DHCPSERVICE stop&lt;br /&gt;
    fi&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Ganz oben bei BANDWIDTH die Serverbandbreite in MBit/s einstellen, damit diese ordentlich via Batman announced werden kann.&lt;br /&gt;
* Speichern und mit &amp;lt;code&amp;gt;chmod +x /usr/bin/check_gateway.sh&amp;lt;/code&amp;gt; ausführbar machen&lt;br /&gt;
=== autoupdate_fastd_keys.sh ===&lt;br /&gt;
* /usr/bin/autoupate_fastd_keys.sh:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# Simple script to update fastd peers from git upstream&lt;br /&gt;
# and only send HUP to fastd when changes happend.&lt;br /&gt;
&lt;br /&gt;
# CONFIGURE THIS TO YOUR PEER DIRECTORY&lt;br /&gt;
FASTD_PEERS_ARRAY=( &amp;quot;freifunk-saar&amp;quot; &amp;quot;freifunk-lux&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
function getCurrentVersion() {&lt;br /&gt;
 # Get hash from latest revision&lt;br /&gt;
 git log --format=format:%H -1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
for FASTD_PEERS in &amp;quot;${FASTD_PEERS_ARRAY[@]}&amp;quot;&lt;br /&gt;
do&lt;br /&gt;
cd /etc/fastd/$FASTD_PEERS/peers&lt;br /&gt;
&lt;br /&gt;
# Get current version hash&lt;br /&gt;
GIT_REVISION=$(getCurrentVersion)&lt;br /&gt;
&lt;br /&gt;
# Automagically commit local changes&lt;br /&gt;
# This preserves local changes&lt;br /&gt;
git commit -m &amp;quot;CRON: auto commit&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Pull latest changes from upstream&lt;br /&gt;
git fetch&lt;br /&gt;
git merge origin/master -m &amp;quot;Auto Merge&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Get new version hash&lt;br /&gt;
GIT_NEW_REVISION=$(getCurrentVersion)&lt;br /&gt;
&lt;br /&gt;
if [ $GIT_REVISION != $GIT_NEW_REVISION ]&lt;br /&gt;
then&lt;br /&gt;
 # Version has changed we need to update&lt;br /&gt;
 echo &amp;quot;Reload fastd peers&amp;quot;&lt;br /&gt;
 kill -HUP $(cat /var/run/fastd.$FASTD_PEERS.pid)&lt;br /&gt;
fi&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Auch dieses Skript ausführbar machen: &amp;lt;code&amp;gt;chmod +x /usr/bin/autoupdate_fastd_keys.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
=== Skripte in crontab eintragen ===&lt;br /&gt;
* In &amp;lt;code&amp;gt;sudo crontab -e&amp;lt;/code&amp;gt; folgende Zeilen anhängen&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*/5 * * * *   /usr/bin/autoupdate_fastd_keys.sh &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
* * * * *   /usr/bin/check_gateway.sh &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Fastd-Config ==&lt;br /&gt;
* &amp;lt;code&amp;gt;mkdir /etc/fastd/freifunk-{saar,lux}/&amp;lt;/code&amp;gt;&lt;br /&gt;
* Config-Dateien anlegen und entsprechenden Inhalt reinkopieren:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
log level warn;&lt;br /&gt;
log to syslog level info;&lt;br /&gt;
&lt;br /&gt;
hide ip addresses yes;&lt;br /&gt;
hide mac addresses yes;&lt;br /&gt;
&lt;br /&gt;
interface &amp;quot;xxxxMESH&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
method &amp;quot;salsa2012+umac&amp;quot;;    # new method (faster)&lt;br /&gt;
method &amp;quot;salsa2012+gmac&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
bind any:10000 interface &amp;quot;eth0&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
include &amp;quot;secret.conf&amp;quot;;&lt;br /&gt;
mtu 1426; # 1492 - IPv4/IPv6 Header - fastd Header...&lt;br /&gt;
&lt;br /&gt;
include peers from &amp;quot;peers&amp;quot;;&lt;br /&gt;
include peers from &amp;quot;peers-gw&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
secure handshakes yes;&lt;br /&gt;
&lt;br /&gt;
on up &amp;quot;&lt;br /&gt;
ip link set dev xxxxMESH address ca:fe:ba:be:00:0X&lt;br /&gt;
ip link set dev xxxxMESH up&lt;br /&gt;
&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Secret Keys aus den Repos besorgen und in secret.conf schreiben&lt;br /&gt;
* Neuen SSH-Key anlegen, als Deploy Key in die Gitlab-Projekte https://git.hacksaar.de/FreifunkSaar/mesh-vpn-peers und https://git.hacksaar.de/FreifunkSaar/mesh-vpn-peers-lux eintragen.&lt;br /&gt;
* Mesh-VPN-Peers-Verzeichnis als &amp;quot;peers&amp;quot; klonen: &amp;lt;code&amp;gt;git clone git@hacksaar.de:FreifunkSaar/mesh-vpn-peers.git peers&amp;lt;/code&amp;gt; bzw &amp;lt;code&amp;gt;git clone git@hacksaar.de:FreifunkSaar/mesh-vpn-peers-lux.git peers&amp;lt;/code&amp;gt; jeweils im entsprechende Verzeichnis&lt;br /&gt;
* Feuer!: &amp;lt;code&amp;gt;sudo service fastd start&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DNS, DHCP und RA-Server dnsmasq ==&lt;br /&gt;
* Installieren: &amp;lt;code&amp;gt;apt-get install dnsmasq&amp;lt;/code&amp;gt;&lt;br /&gt;
* /etc/dnsmasq.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bogus-priv&lt;br /&gt;
no-resolv&lt;br /&gt;
no-poll&lt;br /&gt;
&lt;br /&gt;
server=8.8.8.8&lt;br /&gt;
server=8.8.4.4&lt;br /&gt;
&lt;br /&gt;
read-ethers&lt;br /&gt;
expand-hosts&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* /etc/dnsmasq.d/ffsaar&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local=/ffsaar/&lt;br /&gt;
interface=saarBR&lt;br /&gt;
domain=ffsaar&lt;br /&gt;
&lt;br /&gt;
dhcp-range=10.24.XXX.1,10.24.XXX.254,180&lt;br /&gt;
dhcp-range=fd4e:f2d7:88d2:ffff::,64,180,ra-names&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* /etc/dnsmasq.d/fflux&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local=/fflux/&lt;br /&gt;
interface=luxBR&lt;br /&gt;
domain=fflux&lt;br /&gt;
&lt;br /&gt;
dhcp-range=10.24.XXX.1,10.24.XXX.254,180&lt;br /&gt;
dhcp-range=fd4e:f2d7:88d2:fffe::,64,180,ra-names&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* /etc/hosts&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Freifunk Sachen&lt;br /&gt;
10.24.192.2                     static.services.ffsaar ntp.services.ffsaar&lt;br /&gt;
fd4e:f2d7:88d2:ffff::2          static.services.ffsaar ntp.services.ffsaar&lt;br /&gt;
&lt;br /&gt;
10.24.192.1                     router.ffsaar node.ffsaar local.ffsaar knoten.ffsaar my.ffsaar&lt;br /&gt;
fd4e:f2d7:88d2:ffff::1          router.ffsaar node.ffsaar local.ffsaar knoten.ffsaar my.ffsaar&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== isc-dhcp-server (in Zukunft mal umzustellen) ===&lt;br /&gt;
* /etc/dhcp/dhcpd.conf: (Komplett ersetzen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ddns-update-style none;&lt;br /&gt;
default-lease-time 300;&lt;br /&gt;
max-lease-time 300;&lt;br /&gt;
authoritative;&lt;br /&gt;
&lt;br /&gt;
log-facility local6;&lt;br /&gt;
&lt;br /&gt;
subnet 10.24.192.0 netmask 255.255.192.0 {&lt;br /&gt;
        range 10.24.XXX.0 10.24.XXX+3.255;&lt;br /&gt;
        option routers 10.24.192.ZZZ;&lt;br /&gt;
        option domain-name-servers 10.24.192.2, 10.24.192.3, 10.24.192.4;&lt;br /&gt;
        option domain-search &amp;quot;ffsaar&amp;quot;;&lt;br /&gt;
        option ntp-servers 10.24.192.2, 10.24.192.3, 10.24.192.4;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
subnet 10.24.128.0 netmask 255.255.192.0 {&lt;br /&gt;
        range 10.24.YYY.0 10.24.YYY+3.255;&lt;br /&gt;
        option routers 10.24.128.ZZZ;&lt;br /&gt;
        option domain-name-servers 10.24.128.2, 10.24.128.3, 10.24.128.4;&lt;br /&gt;
        option domain-search &amp;quot;fflux&amp;quot;;&lt;br /&gt;
        option ntp-servers 10.24.128.2, 10.24.128.3, 10.24.128.4;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* XXX, XXX+3, YYY, YYY+3, ZZZ durch richtige Werte ersetzen&lt;br /&gt;
* /etc/default/isc-dhcp-server (Zeile INTERFACES ersetzen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
INTERFACES=&amp;quot;saarBR luxBR&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Neu starten: &amp;lt;code&amp;gt;service isc-dhcp-server restart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== IPTables ==&lt;br /&gt;
&lt;br /&gt;
* installieren: &amp;lt;code&amp;gt;apt-get install iptables-persistent&amp;lt;/code&amp;gt;&lt;br /&gt;
* /etc/iptables/rules.v4 UND /etc/iptables/rules.v6&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*mangle&lt;br /&gt;
:PREROUTING ACCEPT [0:0]&lt;br /&gt;
:INPUT ACCEPT [0:0]&lt;br /&gt;
:FORWARD ACCEPT [0:0]&lt;br /&gt;
:OUTPUT ACCEPT [0:0]&lt;br /&gt;
:POSTROUTING ACCEPT [0:0]&lt;br /&gt;
COMMIT&lt;br /&gt;
&lt;br /&gt;
*nat&lt;br /&gt;
:PREROUTING ACCEPT [0:0]&lt;br /&gt;
:INPUT ACCEPT [0:0]&lt;br /&gt;
:OUTPUT ACCEPT [0:0]&lt;br /&gt;
:POSTROUTING ACCEPT [0:0]&lt;br /&gt;
-A POSTROUTING -o tun0 -j MASQUERADE&lt;br /&gt;
COMMIT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Exit-VPN ==&lt;br /&gt;
abhängig von der Config einzurichten&lt;br /&gt;
== Knoteninformationen (Alfred...) ==&lt;br /&gt;
&#039;&#039;&#039;Dieser Punkt befindet sich aktuell in der Erstellung und wird später noch auf die anderen Kapitel aufgeteilt --[[Benutzer:Rugosh|Rugosh]] ([[Benutzer Diskussion:Rugosh|Diskussion]]) 16:38, 22. Feb. 2015 (CET)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Alfred wird auf den Gateways benötigt um die Knoteninformationen zu sammeln und aus diesen Informationen eine Knotendatei unter anderem für die Freifunkkarte bauen zu können.&lt;br /&gt;
Der Server, auf welchem die Knotendatei generiert wird ist hier logisch gesehen der Master die anderen Systeme sind als Slave zu konfigurieren.&lt;br /&gt;
&lt;br /&gt;
Da wir auf unseren Gateways sowohl Saar las auch Lux Freifunk betreiben benötigen wir auch eine Doppelkonfiguration der Knotenerstellung. Dies betrifft sowohl Alfred als auch den Punkt, dass der Master für mehrere Communities Kartendaten erstellen können muss.&lt;br /&gt;
&lt;br /&gt;
=== Slave Konfiguration ===&lt;br /&gt;
Benötigte Komponenten:&lt;br /&gt;
* Alfred&lt;br /&gt;
* Batman&lt;br /&gt;
&lt;br /&gt;
==== Alfred Konfiguration ====&lt;br /&gt;
Wir benötigen zuerst einmal zwei Alfred daemons:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo service alfred stop&lt;br /&gt;
sudo cp /etc/default/alfred /etc/default/alfred-saar&lt;br /&gt;
sudo cp /etc/default/alfred /etc/default/alfred-lux&lt;br /&gt;
sudo cp /etc/init.d/alfred /etc/init.d/alfred-saar&lt;br /&gt;
sudo cp /etc/init.d/alfred /etc/init.d/alfred-lux&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Alfred muss auf auf dem Slave lediglich auf den MASTER=0 gesetzt werden und das Interface, sowie Batman muss angegeben sein. Die Konfiguration findet in der Konfigurationsdatei &amp;lt;code&amp;gt;/etc/default/alfred-XXX&amp;lt;/code&amp;gt; wie folgt statt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# /etc/default/alfred-saar&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
# Additional command line options&lt;br /&gt;
DAEMON_OPTS=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Enable master mode (0/1)&lt;br /&gt;
MASTER=0&lt;br /&gt;
&lt;br /&gt;
# Interface for A.L.F.R.E.D. to listen on. Has to be specified.&lt;br /&gt;
INTERFACE=br-ff&lt;br /&gt;
&lt;br /&gt;
# Specify the batman-adv interface configured on the system (default: bat0).&lt;br /&gt;
# Use &#039;none&#039; to disable the batman-adv based best server selection.&lt;br /&gt;
BATMANIF=saarBAT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# /etc/default/alfred-lux&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
# Additional command line options&lt;br /&gt;
DAEMON_OPTS=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Enable master mode (0/1)&lt;br /&gt;
MASTER=0&lt;br /&gt;
&lt;br /&gt;
# Interface for A.L.F.R.E.D. to listen on. Has to be specified.&lt;br /&gt;
INTERFACE=luxBR&lt;br /&gt;
&lt;br /&gt;
# Specify the batman-adv interface configured on the system (default: bat0).&lt;br /&gt;
# Use &#039;none&#039; to disable the batman-adv based best server selection.&lt;br /&gt;
BATMANIF=luxBAT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Anpassen der init.d Dateien für die Alfreds...&lt;br /&gt;
&#039;&#039;&#039;Nachfolgende Configs erzeugen noch keinen eigenständigen Alfed Socket...&#039;&#039;&#039; Leider muss damit die Alfreds eigene Sockets haben anscheinend alfred selbst mit anderen werten kompaliert werden https://github.com/tcatm/alfred/blob/master/alfred.h oder hier muss eine andere (bessere) Lösung gefunden werden. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Ausschnitt der anzupassenden Datei /etc/init.d/alfred-saar&lt;br /&gt;
&lt;br /&gt;
DESC=&amp;quot;A.L.F.R.E.D -&amp;gt; Saar&amp;quot;&lt;br /&gt;
NAME=alfred&lt;br /&gt;
NAME2=alfred-saar&lt;br /&gt;
DAEMON=/usr/sbin/$NAME&lt;br /&gt;
PIDFILE=/var/run/$NAME2.pid&lt;br /&gt;
SCRIPTNAME=/etc/init.d/$NAME2&lt;br /&gt;
GROUP=alfred &lt;br /&gt;
OPTIONS=&amp;quot;&amp;quot;&lt;br /&gt;
UMASK=0117&lt;br /&gt;
&lt;br /&gt;
[ -x &amp;quot;$DAEMON&amp;quot; ] || exit 0&lt;br /&gt;
&lt;br /&gt;
# Source defaults.&lt;br /&gt;
[ -r /etc/default/$NAME2 ] &amp;amp;&amp;amp; . /etc/default/$NAME2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Ausschnitt der anzupassenden Datei /etc/init.d/alfred-lux&lt;br /&gt;
&lt;br /&gt;
DESC=&amp;quot;A.L.F.R.E.D -&amp;gt; Lux&amp;quot;&lt;br /&gt;
NAME=alfred-lux&lt;br /&gt;
DAEMON=/usr/sbin/$NAME&lt;br /&gt;
PIDFILE=/var/run/$NAME2.pid&lt;br /&gt;
SCRIPTNAME=/etc/init.d/$NAME2&lt;br /&gt;
GROUP=alfred&lt;br /&gt;
OPTIONS=&amp;quot;&amp;quot;&lt;br /&gt;
UMASK=0117&lt;br /&gt;
&lt;br /&gt;
[ -x &amp;quot;$DAEMON&amp;quot; ] || exit 0&lt;br /&gt;
&lt;br /&gt;
# Source defaults.&lt;br /&gt;
[ -r /etc/default/$NAME2 ] &amp;amp;&amp;amp; . /etc/default/$NAME2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Starten der neuen Alfreds&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo service alfred-saar start&lt;br /&gt;
sudo service alfred-lux start&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Nun testen ob alles wie gewünscht funktioniert und erst nach einem erfolgreichen Test die nun nicht mehr benötigten Daten löschen.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rm /etc/default/alfred&lt;br /&gt;
sudo rm /etc/init.d/alfred.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== batadv-vis ====&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=== Master Konfiguration ===&lt;br /&gt;
Benötigte Komponenten:&lt;br /&gt;
* Alfred&lt;br /&gt;
* Alfred-JSON&lt;br /&gt;
* Batman&lt;br /&gt;
&lt;br /&gt;
==== Alfred Konfiguration ====&lt;br /&gt;
Alfred muss auf auf dem Slave lediglich auf den MASTER=1 gesetzt werden und das Interface, sowie Batman muss angegeben sein. Für Details siehe [[#Alfred_Konfiguration | Slave Konfiguration -&amp;gt; Alfred Konfigurieren ]]&lt;br /&gt;
&#039;&#039;&#039;Achtung: Da auf dem Master aktuell nur ein Batman device läuft, ist hier aktuell kein alfred-lux gestartet, aber vorkonfiguriert&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Knotendateigenerierung ====&lt;br /&gt;
* Benötigt auch alias config&lt;br /&gt;
* bat2nodes für Kartengenerierung mit mkmap Skript. Checkout newest Version from https://github.com/freifunk-saar/ffmap-backend -&amp;gt; done.&lt;br /&gt;
* Cron Eintrag vom mkmap Skript&lt;br /&gt;
&lt;br /&gt;
==== Alias Konfiguration ====&lt;br /&gt;
Da wir uns für die manuelle Konfiguration des Announcement der Gateway Informationen entschieden haben ist eine Anpassung der Alias Datei für jede neue Gateway erforderlich.&lt;br /&gt;
Die Dateien &amp;lt;code&amp;gt;aliases_saar.json&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;aliases_lux.json&amp;lt;/code&amp;gt; befindet sich im bat2nodes Verzeichnis und beinhaltet für jede Gateway einen Alias Eintrag.&lt;br /&gt;
&lt;br /&gt;
Beipiel:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
   &amp;quot;&amp;lt;KENNUNG&amp;gt;1&amp;quot; : {&lt;br /&gt;
      &amp;quot;name&amp;quot; : &amp;quot;gw1.saar.freifunk.net&amp;quot;,&lt;br /&gt;
      &amp;quot;vpn&amp;quot; : true&lt;br /&gt;
   },&lt;br /&gt;
   &amp;quot;&amp;lt;KENNUNG&amp;gt;2&amp;quot; : {&lt;br /&gt;
      &amp;quot;name&amp;quot; : &amp;quot;gw2.saar.freifunk.net&amp;quot;,&lt;br /&gt;
      &amp;quot;vpn&amp;quot; : true&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== batadv-vis ====&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=== alfed-json ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== To be continued... ==&lt;br /&gt;
* DNSmasq statt radvd, bind, isc-dhcp-server&lt;br /&gt;
* iptables NAT&lt;/div&gt;</summary>
		<author><name>Tobi042</name></author>
	</entry>
	<entry>
		<id>https://wiki.hacksaar.de/index.php?title=Freifunk:Mesh-VPN_Keys_eintragen&amp;diff=1935</id>
		<title>Freifunk:Mesh-VPN Keys eintragen</title>
		<link rel="alternate" type="text/html" href="https://wiki.hacksaar.de/index.php?title=Freifunk:Mesh-VPN_Keys_eintragen&amp;diff=1935"/>
		<updated>2015-04-15T17:38:34Z</updated>

		<summary type="html">&lt;p&gt;Tobi042: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Die Keys für das Mesh-VPN müssen (noch) manuell eingetragen werden. Auf den Gateway-Servern laufen Skripte, die das Git-Repository, das die Schlüssel enthält, automatisch regelmäßig pullt. Wir organisieren die Keys in einem privaten Git-Repo um die Privatsphäre der Knoteninhaber zu wahren.&lt;br /&gt;
&lt;br /&gt;
== Schritte um Key einzutragen ==&lt;br /&gt;
&lt;br /&gt;
Um einen Key einzutragen muss in dem Git-Repo eine Datei nach einem bestimmten Format erstellt werden. Dazu musst du erstmal von Kim oder Tobi für das Projekt freigeschaltet werden, danach musst du das Git-Repo auschecken.&lt;br /&gt;
&lt;br /&gt;
=== Einmalige Vorbereitung pro Commiter ===&lt;br /&gt;
&lt;br /&gt;
* Account auf git.hacksaar.de anlegen und SSH Public Keys hochladen&lt;br /&gt;
* Tobi oder Kim bitten, den Account in das Projekt Mesh-VPN Peers als Developer einzutragen. Emails findet ihr an den einschlägigen Stellen. Ihr bekommt dann auch ein Passwort um Leute auf freifunk-announcements einzutragen.&lt;br /&gt;
* Mehrere Kaffees trinken. Kim und Tobi haben auch ein Leben.&lt;br /&gt;
* Git-Repo klonen: &amp;lt;code&amp;gt;git@hacksaar.de:FreifunkSaar/mesh-vpn-peers.git&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Knoten eintragen ===&lt;br /&gt;
&lt;br /&gt;
* Erstmal das Git Repo lokal aktualisieren damit es nicht zu Konflikten kommt: &amp;lt;code&amp;gt;git pull&amp;lt;/code&amp;gt;&lt;br /&gt;
* Die Mail sollte folgende Daten aus dem Webinterface beinhalten:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# ffsaar-Beispiel&lt;br /&gt;
a547b71de58fd5ab54321cd4ca0a9112c67458af49568ea54a6074c16741309 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Das müssen wir etwas umformatieren: hinter den Knotennamen (hier &amp;quot;ffsaar-Beispiel&amp;quot;) kommt noch der Name des Betreibers und seine Mailadresse. Außerdem kommt vor den Schlüssel &amp;lt;code&amp;gt;key &amp;quot;&amp;lt;/code&amp;gt; und danach &amp;lt;code&amp;gt;&amp;quot;;&amp;lt;/code&amp;gt;. Das ganze sieht dann in etwa so aus: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# ffsaar-Beispiel: Donald Duck &amp;lt;donaldduck@example.com&amp;gt;&lt;br /&gt;
key &amp;quot;a547b71de58fd5ab54321cd4ca0a9112c67458af49568ea54a6074c16741309&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Das ganze kommt dann in eine Datei im Git Repo. Der Name der Datei wird nach dem Muster &amp;lt;code&amp;gt;&amp;lt;mailadresse&amp;gt;&amp;lt;nummer&amp;gt;&amp;lt;/code&amp;gt; aufgebaut (wir beginnen mit Nummer := 00).&lt;br /&gt;
* Datei hinzufügen und commiten mit: &amp;lt;code&amp;gt;git add &amp;lt;mailadresse&amp;gt;&amp;lt;nummer&amp;gt;; git commit -m &amp;quot;Key von Vorname Nachname hinzugefügt&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
* Dann noch pushen und fertig: &amp;lt;code&amp;gt;git push&amp;lt;/code&amp;gt;&lt;br /&gt;
* Bei etwaigen Fehlermeldungen hilft es im Allgemeinen die Fehlermeldungen zu lesen, Google zu konsultieren und falls es gar nicht gehen will, Tobi zu nerven.&lt;br /&gt;
&lt;br /&gt;
=== Willkommensmail schreiben ===&lt;br /&gt;
&lt;br /&gt;
* Dann noch eine Willkommensmail an den Knoteninhaber und die Liste (im CC) schicken:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Betreff: Herzlich willkommen in der Freifunk Saar Community&lt;br /&gt;
Body: &lt;br /&gt;
&lt;br /&gt;
Hallo,&lt;br /&gt;
&lt;br /&gt;
folgender Freifunk-Knoten wurde eben auf den Gateway-Servern freigeschaltet:&lt;br /&gt;
&lt;br /&gt;
 [#replace with router name e.g. ffsaar-Lisas-Freifunk]&lt;br /&gt;
 [#replace with public key, e.g. 96ecc2ca0d0805fb2d061c308554070c12345678936dd647fe1da43b83122fd#]&lt;br /&gt;
&lt;br /&gt;
Das bedeutet, dass sich ab sofort jeder mit deinem Knoten über die WLAN-SSID saar.freifunk.net verbinden und so das Internet erreichen kann.&lt;br /&gt;
&lt;br /&gt;
Dein neuer Freifunk-Knoten wird bald automatisch auf dieser Karte https://saar.freifunk.net/map/geomap.html erscheinen, sofern du die Geo-Koordinaten bei der Einrichtung eingetragen hast. Falls du keine Koordinaten eingetragen hast, bitten wir dich, dies unbedingt nachzuholen. Ein Freifunk-Knoten wird nur dann benutzt, wenn andere ihn auch finden.&lt;br /&gt;
&lt;br /&gt;
Wichtige Ankündigungen werden an die von dir verwendete E-Mail-Adresse gesendet. Wichtige Ankündigungen sind z.B. der Hinweis auf eine neue Firmware, technische Störungen oder andere notwendige Tätigkeiten, die deinen Router betreffen. Wir empfehlen dir natürlich den Erhalt dieser Ankündigungen, da du auf diese Weise wichtige Informationen nicht verpasst. Für den Erhalt dieser  Ankündigungen musst du nichts weiter tun. Möchtest du diese E-Mails nicht erhalten, kannst du uns das gerne mitteilen.&lt;br /&gt;
&lt;br /&gt;
Folge uns auf Twitter (http://www.twitter.com/FreifunkSaar) oder Facebook (http://www.facebook.com/FreifunkSaar), um beim Thema Freifunk Saar über die technisch notwendigen Dinge hinaus immer auf dem neusten Stand zu bleiben.&lt;br /&gt;
&lt;br /&gt;
Bei Fragen oder Problemen kannst du dich gerne an die Community wenden, indem du  eine E-Mail an freifunk-public@lists.hacksaar.de schreibst. Darüber hinaus bist du eingeladen, diese Mailingliste unter https://lists.hacksaar.de/listinfo/freifunk-public zu abonnieren und an der Diskussion der Community bzw. bei Fragen oder an Problemlösungen mitzuwirken.&lt;br /&gt;
&lt;br /&gt;
Das Wichtigste zum Schluss: Die Freifunk-Idee lebt vom weitersagen. Rede mit deinen Nachbarn, deinen Arbeitskollegen und Freunden. Erzähle von der Freifunk-Idee und wie du an deinen Freifunk-Knoten gekommen bist. Sei behilflich beim Aufstellen ihres ersten Freifunk-Knotens. Denn jeder, der dir geholfen hat oder dir vielleicht noch helfen wird, macht das genau so wie du. Vielen Dank.&lt;br /&gt;
&lt;br /&gt;
Wir wünschen dir viel Spaß mit deinem neuen Freifunk-Knoten!&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== In die Mailingliste eintragen ===&lt;br /&gt;
* Die betreffende Person noch auf https://lists.hacksaar.de/admin/freifunk-announcements/members/add eintragen. Direkt als Subscriber und ohne Willkommensmail.&lt;/div&gt;</summary>
		<author><name>Tobi042</name></author>
	</entry>
	<entry>
		<id>https://wiki.hacksaar.de/index.php?title=Freifunk:Mesh-VPN_Keys_eintragen&amp;diff=1933</id>
		<title>Freifunk:Mesh-VPN Keys eintragen</title>
		<link rel="alternate" type="text/html" href="https://wiki.hacksaar.de/index.php?title=Freifunk:Mesh-VPN_Keys_eintragen&amp;diff=1933"/>
		<updated>2015-04-15T17:09:46Z</updated>

		<summary type="html">&lt;p&gt;Tobi042: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Die Keys für das Mesh-VPN müssen (noch) manuell eingetragen werden. Auf den Gateway-Servern laufen Skripte, die das Git-Repository, das die Schlüssel enthält, automatisch regelmäßig pullt. Wir organisieren die Keys in einem privaten Git-Repo um die Privatsphäre der Knoteninhaber zu wahren.&lt;br /&gt;
&lt;br /&gt;
== Schritte um Key einzutragen ==&lt;br /&gt;
&lt;br /&gt;
Um einen Key einzutragen muss in dem Git-Repo eine Datei nach einem bestimmten Format erstellt werden. Dazu musst du erstmal von Kim oder Tobi für das Projekt freigeschaltet werden, danach musst du das Git-Repo auschecken.&lt;br /&gt;
&lt;br /&gt;
=== Einmalige Vorbereitung pro Commiter ===&lt;br /&gt;
&lt;br /&gt;
* Account auf git.hacksaar.de anlegen und SSH Public Keys hochladen&lt;br /&gt;
* Tobi oder Kim bitten, den Account in das Projekt Mesh-VPN Peers als Developer einzutragen. Emails findet ihr an den einschlägigen Stellen. Ihr bekommt dann auch ein Passwort um Leute auf freifunk-announcements einzutragen.&lt;br /&gt;
* Mehrere Kaffees trinken. Kim und Tobi haben auch ein Leben.&lt;br /&gt;
* Git-Repo klonen: &amp;lt;code&amp;gt;git@hacksaar.de:FreifunkSaar/mesh-vpn-peers.git&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Knoten eintragen ===&lt;br /&gt;
&lt;br /&gt;
* Erstmal das Git Repo lokal aktualisieren damit es nicht zu Konflikten kommt: &amp;lt;code&amp;gt;git pull&amp;lt;/code&amp;gt;&lt;br /&gt;
* Die Mail sollte folgende Daten aus dem Webinterface beinhalten:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# ffsaar-Beispiel&lt;br /&gt;
a547b71de58fd5ab54321cd4ca0a9112c67458af49568ea54a6074c16741309 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Das müssen wir etwas umformatieren: hinter den Knotennamen (hier &amp;quot;ffsaar-Beispiel&amp;quot;) kommt noch der Name des Betreibers und seine Mailadresse. Außerdem kommt vor den Schlüssel &amp;lt;code&amp;gt;key &amp;quot;&amp;lt;/code&amp;gt; und danach &amp;lt;code&amp;gt;&amp;quot;;&amp;lt;/code&amp;gt;. Das ganze sieht dann in etwa so aus: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# ffsaar-Beispiel: Donald Duck &amp;lt;donaldduck@example.com&amp;gt;&lt;br /&gt;
key &amp;quot;a547b71de58fd5ab54321cd4ca0a9112c67458af49568ea54a6074c16741309&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Das ganze kommt dann in eine Datei im Git Repo. Der Name der Datei wird nach dem Muster &amp;lt;code&amp;gt;&amp;lt;mailadresse&amp;gt;&amp;lt;nummer&amp;gt;&amp;lt;/code&amp;gt; aufgebaut (wir beginnen mit Nummer := 00). Falls es &lt;br /&gt;
* Datei hinzufügen und commiten mit: &amp;lt;code&amp;gt;git add &amp;lt;mailadresse&amp;gt;&amp;lt;nummer&amp;gt;; git commit -m &amp;quot;Key von Vorname Nachname hinzugefügt&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
* Dann noch pushen und fertig: &amp;lt;code&amp;gt;git push&amp;lt;/code&amp;gt;&lt;br /&gt;
* Bei etwaigen Fehlermeldungen hilft es im Allgemeinen die Fehlermeldungen zu lesen, Google zu konsultieren und falls es gar nciht gehen will, Tobi zu nerven.&lt;br /&gt;
* Dann noch eine Willkommensmail an den Knoteninhaber und die Liste (im CC) schicken:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Betreff: Herzlich willkommen in der Freifunk Saar Community&lt;br /&gt;
Body: &lt;br /&gt;
&lt;br /&gt;
Hallo,&lt;br /&gt;
&lt;br /&gt;
folgender Freifunk-Knoten wurde eben auf den Gateway-Servern freigeschaltet:&lt;br /&gt;
&lt;br /&gt;
 [#replace with router name e.g. ffsaar-Lisas-Freifunk]&lt;br /&gt;
 [#replace with public key, e.g. 96ecc2ca0d0805fb2d061c308554070c12345678936dd647fe1da43b83122fd#]&lt;br /&gt;
&lt;br /&gt;
Das bedeutet, dass sich ab sofort jeder mit deinem Knoten über die WLAN-SSID saar.freifunk.net verbinden und so das Internet erreichen kann.&lt;br /&gt;
&lt;br /&gt;
Dein neuer Freifunk-Knoten wird bald automatisch auf dieser Karte https://saar.freifunk.net/map/geomap.html erscheinen, sofern du die Geo-Koordinaten bei der Einrichtung eingetragen hast. Falls du keine Koordinaten eingetragen hast, bitten wir dich, dies unbedingt nachzuholen. Ein Freifunk-Knoten wird nur dann benutzt, wenn andere ihn auch finden.&lt;br /&gt;
&lt;br /&gt;
Wichtige Ankündigungen werden an die von dir verwendete E-Mail-Adresse gesendet. Wichtige Ankündigungen sind z.B. der Hinweis auf eine neue Firmware, technische Störungen oder andere notwendige Tätigkeiten, die deinen Router betreffen. Wir empfehlen dir natürlich den Erhalt dieser Ankündigungen, da du auf diese Weise wichtige Informationen nicht verpasst. Für den Erhalt dieser  Ankündigungen musst du nichts weiter tun. Möchtest du diese E-Mails nicht erhalten, kannst du uns das gerne mitteilen.&lt;br /&gt;
&lt;br /&gt;
Folge uns auf Twitter (http://www.twitter.com/FreifunkSaar) oder Facebook (http://www.facebook.com/FreifunkSaar), um beim Thema Freifunk Saar über die technisch notwendigen Dinge hinaus immer auf dem neusten Stand zu bleiben.&lt;br /&gt;
&lt;br /&gt;
Bei Fragen oder Problemen kannst du dich gerne an die Community wenden, indem du  eine E-Mail an freifunk-public@lists.hacksaar.de schreibst. Darüber hinaus bist du eingeladen, diese Mailingliste unter https://lists.hacksaar.de/listinfo/freifunk-public zu abonnieren und an der Diskussion der Community bzw. bei Fragen oder an Problemlösungen mitzuwirken.&lt;br /&gt;
&lt;br /&gt;
Das Wichtigste zum Schluss: Die Freifunk-Idee lebt vom weitersagen. Rede mit deinen Nachbarn, deinen Arbeitskollegen und Freunden. Erzähle von der Freifunk-Idee und wie du an deinen Freifunk-Knoten gekommen bist. Sei behilflich beim Aufstellen ihres ersten Freifunk-Knotens. Denn jeder, der dir geholfen hat oder dir vielleicht noch helfen wird, macht das genau so wie du. Vielen Dank.&lt;br /&gt;
&lt;br /&gt;
Wir wünschen dir viel Spaß mit deinem neuen Freifunk-Knoten!&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== In die Mailingliste eintragen ===&lt;br /&gt;
* Die betreffende Person noch auf https://lists.hacksaar.de/admin/freifunk-announcements/members/add eintragen. Direkt als Subscriber und ohne Willkommensmail.&lt;/div&gt;</summary>
		<author><name>Tobi042</name></author>
	</entry>
	<entry>
		<id>https://wiki.hacksaar.de/index.php?title=Freifunk:Mesh-VPN_Keys_eintragen&amp;diff=1932</id>
		<title>Freifunk:Mesh-VPN Keys eintragen</title>
		<link rel="alternate" type="text/html" href="https://wiki.hacksaar.de/index.php?title=Freifunk:Mesh-VPN_Keys_eintragen&amp;diff=1932"/>
		<updated>2015-04-15T17:06:05Z</updated>

		<summary type="html">&lt;p&gt;Tobi042: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Die Keys für das Mesh-VPN müssen (noch) manuell eingetragen werden. Auf den Gateway-Servern laufen Skripte, die das Git-Repository, das die Schlüssel enthält, automatisch regelmäßig pullt. Wir organisieren die Keys in einem privaten Git-Repo um die Privatsphäre der Knoteninhaber zu wahren.&lt;br /&gt;
&lt;br /&gt;
== Schritte um Key einzutragen ==&lt;br /&gt;
&lt;br /&gt;
Um einen Key einzutragen muss in dem Git-Repo eine Datei nach einem bestimmten Format erstellt werden. Dazu musst du erstmal von Kim oder Tobi für das Projekt freigeschaltet werden, danach musst du das Git-Repo auschecken.&lt;br /&gt;
&lt;br /&gt;
=== Einmalige Vorbereitung pro Commiter ===&lt;br /&gt;
&lt;br /&gt;
* Account auf git.hacksaar.de anlegen und SSH Public Keys hochladen&lt;br /&gt;
* Tobi oder Kim bitten, den Account in das Projekt Mesh-VPN Peers als Developer einzutragen. Emails findet ihr an den einschlägigen Stellen. Ihr bekommt dann auch ein Passwort um Leute auf freifunk-announcements einzutragen.&lt;br /&gt;
* Mehrere Kaffees trinken. Kim und Tobi haben auch ein Leben.&lt;br /&gt;
* Git-Repo klonen: &amp;lt;code&amp;gt;git@hacksaar.de:freifunk-saar/mesh-vpn-peers.git&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Knoten eintragen ===&lt;br /&gt;
&lt;br /&gt;
* Erstmal das Git Repo lokal aktualisieren damit es nicht zu Konflikten kommt: &amp;lt;code&amp;gt;git pull&amp;lt;/code&amp;gt;&lt;br /&gt;
* Die Mail sollte folgende Daten aus dem Webinterface beinhalten:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# ffsaar-Beispiel&lt;br /&gt;
a547b71de58fd5ab54321cd4ca0a9112c67458af49568ea54a6074c16741309 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Das müssen wir etwas umformatieren: hinter den Knotennamen (hier &amp;quot;ffsaar-Beispiel&amp;quot;) kommt noch der Name des Betreibers und seine Mailadresse. Außerdem kommt vor den Schlüssel &amp;lt;code&amp;gt;key &amp;quot;&amp;lt;/code&amp;gt; und danach &amp;lt;code&amp;gt;&amp;quot;;&amp;lt;/code&amp;gt;. Das ganze sieht dann in etwa so aus: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# ffsaar-Beispiel: Donald Duck &amp;lt;donaldduck@example.com&amp;gt;&lt;br /&gt;
key &amp;quot;a547b71de58fd5ab54321cd4ca0a9112c67458af49568ea54a6074c16741309&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Das ganze kommt dann in eine Datei im Git Repo. Der Name der Datei wird nach dem Muster &amp;lt;code&amp;gt;&amp;lt;mailadresse&amp;gt;&amp;lt;nummer&amp;gt;&amp;lt;/code&amp;gt; aufgebaut (wir beginnen mit Nummer := 00). Falls es &lt;br /&gt;
* Datei hinzufügen und commiten mit: &amp;lt;code&amp;gt;git add &amp;lt;mailadresse&amp;gt;&amp;lt;nummer&amp;gt;; git commit -m &amp;quot;Key von Vorname Nachname hinzugefügt&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
* Dann noch pushen und fertig: &amp;lt;code&amp;gt;git push&amp;lt;/code&amp;gt;&lt;br /&gt;
* Bei etwaigen Fehlermeldungen hilft es im Allgemeinen die Fehlermeldungen zu lesen, Google zu konsultieren und falls es gar nciht gehen will, Tobi zu nerven.&lt;br /&gt;
* Dann noch eine Willkommensmail an den Knoteninhaber und die Liste (im CC) schicken:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Betreff: Herzlich willkommen in der Freifunk Saar Community&lt;br /&gt;
Body: &lt;br /&gt;
&lt;br /&gt;
Hallo,&lt;br /&gt;
&lt;br /&gt;
folgender Freifunk-Knoten wurde eben auf den Gateway-Servern freigeschaltet:&lt;br /&gt;
&lt;br /&gt;
 [#replace with router name e.g. ffsaar-Lisas-Freifunk]&lt;br /&gt;
 [#replace with public key, e.g. 96ecc2ca0d0805fb2d061c308554070c12345678936dd647fe1da43b83122fd#]&lt;br /&gt;
&lt;br /&gt;
Das bedeutet, dass sich ab sofort jeder mit deinem Knoten über die WLAN-SSID saar.freifunk.net verbinden und so das Internet erreichen kann.&lt;br /&gt;
&lt;br /&gt;
Dein neuer Freifunk-Knoten wird bald automatisch auf dieser Karte https://saar.freifunk.net/map/geomap.html erscheinen, sofern du die Geo-Koordinaten bei der Einrichtung eingetragen hast. Falls du keine Koordinaten eingetragen hast, bitten wir dich, dies unbedingt nachzuholen. Ein Freifunk-Knoten wird nur dann benutzt, wenn andere ihn auch finden.&lt;br /&gt;
&lt;br /&gt;
Wichtige Ankündigungen werden an die von dir verwendete E-Mail-Adresse gesendet. Wichtige Ankündigungen sind z.B. der Hinweis auf eine neue Firmware, technische Störungen oder andere notwendige Tätigkeiten, die deinen Router betreffen. Wir empfehlen dir natürlich den Erhalt dieser Ankündigungen, da du auf diese Weise wichtige Informationen nicht verpasst. Für den Erhalt dieser  Ankündigungen musst du nichts weiter tun. Möchtest du diese E-Mails nicht erhalten, kannst du uns das gerne mitteilen.&lt;br /&gt;
&lt;br /&gt;
Folge uns auf Twitter (http://www.twitter.com/FreifunkSaar) oder Facebook (http://www.facebook.com/FreifunkSaar), um beim Thema Freifunk Saar über die technisch notwendigen Dinge hinaus immer auf dem neusten Stand zu bleiben.&lt;br /&gt;
&lt;br /&gt;
Bei Fragen oder Problemen kannst du dich gerne an die Community wenden, indem du  eine E-Mail an freifunk-public@lists.hacksaar.de schreibst. Darüber hinaus bist du eingeladen, diese Mailingliste unter https://lists.hacksaar.de/listinfo/freifunk-public zu abonnieren und an der Diskussion der Community bzw. bei Fragen oder an Problemlösungen mitzuwirken.&lt;br /&gt;
&lt;br /&gt;
Das Wichtigste zum Schluss: Die Freifunk-Idee lebt vom weitersagen. Rede mit deinen Nachbarn, deinen Arbeitskollegen und Freunden. Erzähle von der Freifunk-Idee und wie du an deinen Freifunk-Knoten gekommen bist. Sei behilflich beim Aufstellen ihres ersten Freifunk-Knotens. Denn jeder, der dir geholfen hat oder dir vielleicht noch helfen wird, macht das genau so wie du. Vielen Dank.&lt;br /&gt;
&lt;br /&gt;
Wir wünschen dir viel Spaß mit deinem neuen Freifunk-Knoten!&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== In die Mailingliste eintragen ===&lt;br /&gt;
* Die betreffende Person noch auf https://lists.hacksaar.de/admin/freifunk-announcements/members/add eintragen. Direkt als Subscriber und ohne Willkommensmail.&lt;/div&gt;</summary>
		<author><name>Tobi042</name></author>
	</entry>
	<entry>
		<id>https://wiki.hacksaar.de/index.php?title=Freifunk:Mesh-VPN_Gateway-Server_einrichten&amp;diff=1931</id>
		<title>Freifunk:Mesh-VPN Gateway-Server einrichten</title>
		<link rel="alternate" type="text/html" href="https://wiki.hacksaar.de/index.php?title=Freifunk:Mesh-VPN_Gateway-Server_einrichten&amp;diff=1931"/>
		<updated>2015-03-25T19:24:22Z</updated>

		<summary type="html">&lt;p&gt;Tobi042: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Unsere Gateways laufen auf Debian 7 Wheezy. Diese Anleitungen orientieren sich an anderen Freifunk-Communities, aber einen sehr nennenswerten Einfluss hat die geniale Dokumentation von Freifunk Mainz, Wiesbaden und Umgebung (http://gluon-gateway-doku.readthedocs.org/de/latest/) gehabt.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
Größtenteils egal, wichtig ist folgendes: Root bekommt kein Passwort, dadurch wird der Root-Login gesperrt und man muss sudo benutzen. Als zu installierende Paketgruppen nutzen wir Debian-Standardutilities und SSH-Server.&lt;br /&gt;
&lt;br /&gt;
== SSH einrichten ==&lt;br /&gt;
&lt;br /&gt;
* Einloggen: &lt;br /&gt;
*: &amp;lt;code&amp;gt;ssh user@gwX.saar.freifunk.de&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;mkdir .ssh&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;echo &amp;quot;dein_ssh_key&amp;quot; &amp;gt; .ssh/authorized_keys&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;nano /etc/ssh/sshd_config&amp;lt;/code&amp;gt;&lt;br /&gt;
*: Folgende Änderungen vornehmen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;...&lt;br /&gt;
PermitRootLogin no&lt;br /&gt;
...&lt;br /&gt;
PasswordAuthentication no&lt;br /&gt;
...&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Alte Session aktiv lassen, in neuem Terminal versuchen mit Public Key einzuloggen. Wenn nicht erfolgreich debuggen.&lt;br /&gt;
* &amp;lt;code&amp;gt;sudo service ssh restart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Überflüssige Pakete deinstallieren ==&lt;br /&gt;
&lt;br /&gt;
Da wir eben etwas großzügig waren mit der Installation von Paketgruppen müssen wir jetzt exim und nfs-Kram deinstallieren:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;sudo apt-get remove exim4* nfs-common rpcbind&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Als Resultat sollte bei Ausführung von &amp;quot;sudo netstat -tulpn&amp;quot; keine Programme außer sshd und vielleicht dhclient angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
== APT Sources hinzufügen ==&lt;br /&gt;
&lt;br /&gt;
Wir benötigen die Sources für fastd und batman-adv:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;nano /etc/apt/sources.list&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 deb http://security.debian.org/ wheezy/updates main contrib non-free&lt;br /&gt;
 deb-src http://security.debian.org/ wheezy/updates main contrib non-free&lt;br /&gt;
  &lt;br /&gt;
 # fastd&lt;br /&gt;
 deb http://ftp.de.debian.org/debian wheezy-backports main&lt;br /&gt;
 deb http://repo.universe-factory.net/debian/ sid main&lt;br /&gt;
&lt;br /&gt;
 # alfred&lt;br /&gt;
 deb http://debian.draic.info/ wheezy main&lt;br /&gt;
 deb-src http://debian.draic.info/ wheezy main&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Schlüssel für repo importieren: &lt;br /&gt;
* &amp;lt;code&amp;gt;gpg --keyserver pgpkeys.mit.edu --recv-key  B89033D8&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;gpg -a --export B89033D8 | apt-key add -&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;gpg --keyserver pgpkeys.mit.edu --recv-key  16EF3F64CB201D9C&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;gpg -a --export 16EF3F64CB201D9C | apt-key add -&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pakete installieren ==&lt;br /&gt;
* &amp;lt;code&amp;gt;apt-get update&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;apt-get install batctl batman-adv-dkms fastd bridge-utils&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;echo &amp;quot;batman-adv&amp;quot; &amp;gt;&amp;gt; /etc/modules&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Netzwerk Grundkonfiguration ==&lt;br /&gt;
=== Sysctl Einstellungen ===&lt;br /&gt;
* /etc/sysctl.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Freifunk specific settings&lt;br /&gt;
net.ipv4.ip_forward=1&lt;br /&gt;
&lt;br /&gt;
net.bridge.bridge-nf-call-arptables = 0&lt;br /&gt;
net.bridge.bridge-nf-call-ip6tables = 0&lt;br /&gt;
net.bridge.bridge-nf-call-iptables = 0&lt;br /&gt;
&lt;br /&gt;
net.ipv6.conf.all.forwarding=1&lt;br /&gt;
&lt;br /&gt;
net.ipv6.conf.all.autoconf = 0&lt;br /&gt;
net.ipv6.conf.default.autoconf = 0&lt;br /&gt;
net.ipv6.conf.eth0.autoconf = 0&lt;br /&gt;
&lt;br /&gt;
net.ipv6.conf.all.accept_ra = 0&lt;br /&gt;
net.ipv6.conf.default.accept_ra = 0&lt;br /&gt;
net.ipv6.conf.eth0.accept_ra = 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Danach neu laden: &amp;lt;code&amp;gt;sysctl -p /etc/sysctl.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Routing Tables erstellen ===&lt;br /&gt;
* /etc/iproute2/rt_tables (bisherige Einstellungen beibehalten und folgende hinzufügen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# freifunk&lt;br /&gt;
32      saar&lt;br /&gt;
33      lux&lt;br /&gt;
42      icvpn&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Netzwerkinterafaces einstellen ===&lt;br /&gt;
* /etc/network/interfaces (andere Interfaces nach der entsprechenden Konfiguration belassen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# FREIFUNK SAAR&lt;br /&gt;
#&lt;br /&gt;
auto saarBR&lt;br /&gt;
iface saarBR inet static&lt;br /&gt;
    bridge_ports none&lt;br /&gt;
    bridge_fd 0&lt;br /&gt;
    bridge_maxwait 0&lt;br /&gt;
    address 10.24.192.XXX&lt;br /&gt;
    netmask 255.255.192.0&lt;br /&gt;
    # be sure all incoming traffic is handled by the appropriate rt_table&lt;br /&gt;
    post-up         /sbin/ip rule add iif $IFACE table saar priority 3200&lt;br /&gt;
    pre-down        /sbin/ip rule del iif $IFACE table saar priority 3200&lt;br /&gt;
    # default route is unreachable&lt;br /&gt;
    post-up         /sbin/ip route add unreachable default table saar&lt;br /&gt;
    post-down       /sbin/ip route del unreachable default table saar&lt;br /&gt;
    # local reachable subnet saar for rt_table lux&lt;br /&gt;
    post-up         /sbin/ip route add 10.24.128.0/18 proto static dev $IFACE table lux&lt;br /&gt;
    post-down       /sbin/ip route del 10.24.128.0/18 proto static dev $IFACE table lux&lt;br /&gt;
&lt;br /&gt;
iface saarBR inet6 static&lt;br /&gt;
    address fd4e:f2d7:88d2:ffff::XXX&lt;br /&gt;
    netmask 64&lt;br /&gt;
    # be sure all incoming traffic is handled by the appropriate rt_table&lt;br /&gt;
    post-up         /sbin/ip -6 rule add iif $IFACE table saar priority 3200&lt;br /&gt;
    pre-down        /sbin/ip -6 rule del iif $IFACE table saar priority 3200&lt;br /&gt;
    post-up         /sbin/ip -6 route add fe80::/64 proto static dev $IFACE table saar&lt;br /&gt;
    post-down       /sbin/ip -6 route del fe80::/64 proto static dev $IFACE table saar&lt;br /&gt;
    post-up         /sbin/ip -6 route add fd4e:f2d7:88d2:ffff::/64 proto static dev $IFACE table saar&lt;br /&gt;
    post-down       /sbin/ip -6 route del fd4e:f2d7:88d2:ffff::/64 proto static dev $IFACE table saar&lt;br /&gt;
    # ULA route mz for rt_table saar&lt;br /&gt;
    post-up         /sbin/ip -6 route add fd4e:f2d7:88d2:fffe::/64 proto static dev $IFACE table lux&lt;br /&gt;
    post-down       /sbin/ip -6 route del fd4e:f2d7:88d2:fffe::/64 proto static dev $IFACE table lux&lt;br /&gt;
&lt;br /&gt;
allow-hotplug saarMESH&lt;br /&gt;
iface saarMESH inet6 manual&lt;br /&gt;
    pre-up          /sbin/modprobe batman_adv&lt;br /&gt;
    post-up         /usr/sbin/batctl -m saarBAT if add $IFACE&lt;br /&gt;
    post-up         /sbin/ip link set dev saarBAT up&lt;br /&gt;
&lt;br /&gt;
allow-hotplug saarBAT&lt;br /&gt;
iface saarBAT inet6 manual&lt;br /&gt;
    pre-up          /sbin/modprobe batman-adv&lt;br /&gt;
    post-up         /sbin/brctl addif saarBR $IFACE&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE it 10000&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE vm server&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE gw server  6mbit/6mbit&lt;br /&gt;
    pre-down        /sbin/brctl delif saarBR $IFACE || true&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# FREIFUNK LUX &lt;br /&gt;
#&lt;br /&gt;
auto luxBR&lt;br /&gt;
iface luxBR inet static&lt;br /&gt;
    bridge_ports none&lt;br /&gt;
    bridge_fd 0&lt;br /&gt;
    bridge_maxwait 0&lt;br /&gt;
    address 10.24.128.XXX&lt;br /&gt;
    netmask 255.255.192.0&lt;br /&gt;
    # be sure all incoming traffic is handled by the appropriate rt_table&lt;br /&gt;
    post-up         /sbin/ip rule add iif $IFACE table lux priority 3300&lt;br /&gt;
    pre-down        /sbin/ip rule del iif $IFACE table lux priority 3300&lt;br /&gt;
    # default route is unreachable&lt;br /&gt;
    post-up         /sbin/ip route add unreachable default table lux &lt;br /&gt;
    post-down       /sbin/ip route del unreachable default table lux &lt;br /&gt;
    # local reachable subnet lux for rt_table saar&lt;br /&gt;
    post-up         /sbin/ip route add 10.24.192.0/18 proto static dev $IFACE table saar&lt;br /&gt;
    post-down       /sbin/ip route del 10.24.192.0/18 proto static dev $IFACE table saar&lt;br /&gt;
&lt;br /&gt;
iface luxBR inet6 static&lt;br /&gt;
    address fd4e:f2d7:88d2:fffe::XXX&lt;br /&gt;
    netmask 64&lt;br /&gt;
    # be sure all incoming traffic is handled by the appropriate rt_table&lt;br /&gt;
    post-up         /sbin/ip -6 rule add iif $IFACE table lux priority 3300&lt;br /&gt;
    pre-down        /sbin/ip -6 rule del iif $IFACE table lux priority 3300&lt;br /&gt;
    post-up         /sbin/ip -6 route add fe80::/64 proto static dev $IFACE table lux &lt;br /&gt;
    post-down       /sbin/ip -6 route del fe80::/64 proto static dev $IFACE table lux &lt;br /&gt;
    post-up         /sbin/ip -6 route add fd4e:f2d7:88d2:fffe::/64 proto static dev $IFACE table lux&lt;br /&gt;
    post-down       /sbin/ip -6 route del fd4e:f2d7:88d2:fffe::/64 proto static dev $IFACE table lux&lt;br /&gt;
    # ULA route saar for rt_table lux&lt;br /&gt;
    post-up         /sbin/ip -6 route add fd4e:f2d7:88d2:ffff::/64 proto static dev $IFACE table saar&lt;br /&gt;
    post-down       /sbin/ip -6 route del fd4e:f2d7:88d2:ffff::/64 proto static dev $IFACE table saar&lt;br /&gt;
&lt;br /&gt;
allow-hotplug luxMESH&lt;br /&gt;
iface luxMESH inet6 manual&lt;br /&gt;
    pre-up          /sbin/modprobe batman_adv&lt;br /&gt;
    post-up         /usr/sbin/batctl -m luxBAT if add $IFACE&lt;br /&gt;
    post-up         /sbin/ip link set dev luxBAT up&lt;br /&gt;
&lt;br /&gt;
allow-hotplug luxBAT&lt;br /&gt;
iface luxBAT inet6 manual&lt;br /&gt;
    pre-up          /sbin/modprobe batman-adv&lt;br /&gt;
    post-up         /sbin/brctl addif luxBR $IFACE&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE it 10000&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE vm server&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE gw server  6mbit/6mbit&lt;br /&gt;
    pre-down        /sbin/brctl delif luxBR $IFACE || true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Jedes Vorkommnis von XXX durch einen entsprechenden Wert aus dem Netzplan ersetzen, im Zweifel TobiT fragen&lt;br /&gt;
&lt;br /&gt;
== Helfer-Skripte ==&lt;br /&gt;
Es gibt 2 Helferskripte, die eingerichtet werden müssen. check_gateway.sh prüft minütlich, ob das ExitVPN noch steht. autoupdate_fastd_peers updatet die fastd-peers alle 5 Minuten per git.&lt;br /&gt;
=== check_gateway.sh ===&lt;br /&gt;
* /usr/bin/check_gateway.sh:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@gw2:/etc/fastd/freifunk-lux# less /usr/bin/check_gateway.sh&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
INTERFACE=tun0          # Set to name of VPN interface&lt;br /&gt;
DHCPSERVICE=dnsmasq     # Name of DHCP service&lt;br /&gt;
BANDWIDTH=XXX           # Server bandwidth&lt;br /&gt;
shopt -s nullglob&lt;br /&gt;
&lt;br /&gt;
# Test whether gateway is connected to the outer world via VPN&lt;br /&gt;
ping -q -I $INTERFACE 8.8.8.8 -c 4 -i 1 -W 5 &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
if test $? -eq 0; then&lt;br /&gt;
    NEW_STATE=server&lt;br /&gt;
else&lt;br /&gt;
    NEW_STATE=off&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Iterate through network interfaces in sys file system&lt;br /&gt;
for MESH in /sys/class/net/*/mesh; do&lt;br /&gt;
# Check whether gateway modus needs to be changed&lt;br /&gt;
OLD_STATE=&amp;quot;$(cat $MESH/gw_mode)&amp;quot;&lt;br /&gt;
[ &amp;quot;$OLD_STATE&amp;quot; == &amp;quot;$NEW_STATE&amp;quot; ] &amp;amp;&amp;amp; continue&lt;br /&gt;
    echo $NEW_STATE &amp;gt; $MESH/gw_mode&lt;br /&gt;
    echo ${BANDWIDTH}MBit/${BANDWIDTH}MBit &amp;gt; $MESH/gw_bandwidth&lt;br /&gt;
    logger &amp;quot;batman gateway mode changed to $NEW_STATE&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    # Check whether gateway modus has been deactivated&lt;br /&gt;
    if [ &amp;quot;$NEW_STATE&amp;quot; == &amp;quot;off&amp;quot; ]; then&lt;br /&gt;
        # Shutdown DHCP server to prevent renewal of leases&lt;br /&gt;
        /usr/sbin/service $DHCPSERVICE stop&lt;br /&gt;
    fi&lt;br /&gt;
&lt;br /&gt;
    # Check whether gateway modus has been activated&lt;br /&gt;
    if [ &amp;quot;$NEW_STATE&amp;quot; == &amp;quot;server&amp;quot; ]; then&lt;br /&gt;
        # Restart DHCP server&lt;br /&gt;
        /usr/sbin/service $DHCPSERVICE start&lt;br /&gt;
    fi&lt;br /&gt;
    exit 0&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
if [ &amp;quot;$NEW_STATE&amp;quot; == &amp;quot;server&amp;quot; ]; then&lt;br /&gt;
    /usr/sbin/service $DHCPSERVICE status 2&amp;gt;&amp;amp;1&amp;gt; /dev/null&lt;br /&gt;
    if [[ $? -ne 0 ]]&lt;br /&gt;
    then&lt;br /&gt;
        /usr/sbin/service $DHCPSERVICE restart&lt;br /&gt;
    fi&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$NEW_STATE&amp;quot; == &amp;quot;off&amp;quot; ]; then&lt;br /&gt;
    /usr/sbin/service $DHCPSERVICE status 2&amp;gt;&amp;amp;1&amp;gt; /dev/null&lt;br /&gt;
    if [[ $? -eq 0 ]]&lt;br /&gt;
    then&lt;br /&gt;
        /usr/sbin/service $DHCPSERVICE stop&lt;br /&gt;
    fi&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Ganz oben bei BANDWIDTH die Serverbandbreite in MBit/s einstellen, damit diese ordentlich via Batman announced werden kann.&lt;br /&gt;
* Speichern und mit &amp;lt;code&amp;gt;chmod +x /usr/bin/check_gateway.sh&amp;lt;/code&amp;gt; ausführbar machen&lt;br /&gt;
=== autoupdate_fastd_keys.sh ===&lt;br /&gt;
* /usr/bin/autoupate_fastd_keys.sh:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# Simple script to update fastd peers from git upstream&lt;br /&gt;
# and only send HUP to fastd when changes happend.&lt;br /&gt;
&lt;br /&gt;
# CONFIGURE THIS TO YOUR PEER DIRECTORY&lt;br /&gt;
FASTD_PEERS_ARRAY=( &amp;quot;freifunk-saar&amp;quot; &amp;quot;freifunk-lux&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
function getCurrentVersion() {&lt;br /&gt;
 # Get hash from latest revision&lt;br /&gt;
 git log --format=format:%H -1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
for FASTD_PEERS in &amp;quot;${FASTD_PEERS_ARRAY[@]}&amp;quot;&lt;br /&gt;
do&lt;br /&gt;
cd /etc/fastd/$FASTD_PEERS/peers&lt;br /&gt;
&lt;br /&gt;
# Get current version hash&lt;br /&gt;
GIT_REVISION=$(getCurrentVersion)&lt;br /&gt;
&lt;br /&gt;
# Automagically commit local changes&lt;br /&gt;
# This preserves local changes&lt;br /&gt;
git commit -m &amp;quot;CRON: auto commit&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Pull latest changes from upstream&lt;br /&gt;
git fetch&lt;br /&gt;
git merge origin/master -m &amp;quot;Auto Merge&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Get new version hash&lt;br /&gt;
GIT_NEW_REVISION=$(getCurrentVersion)&lt;br /&gt;
&lt;br /&gt;
if [ $GIT_REVISION != $GIT_NEW_REVISION ]&lt;br /&gt;
then&lt;br /&gt;
 # Version has changed we need to update&lt;br /&gt;
 echo &amp;quot;Reload fastd peers&amp;quot;&lt;br /&gt;
 kill -HUP $(cat /var/run/fastd.$FASTD_PEERS.pid)&lt;br /&gt;
fi&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Auch dieses Skript ausführbar machen: &amp;lt;code&amp;gt;chmod +x /usr/bin/autoupdate_fastd_keys.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
=== Skripte in crontab eintragen ===&lt;br /&gt;
* In &amp;lt;code&amp;gt;sudo crontab -e&amp;lt;/code&amp;gt; folgende Zeilen anhängen&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*/5 * * * *   /usr/bin/autoupdate_fastd_keys.sh &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
* * * * *   /usr/bin/check_gateway.sh &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Fastd-Config ==&lt;br /&gt;
* &amp;lt;code&amp;gt;mkdir /etc/fastd/freifunk-{saar,lux}/&amp;lt;/code&amp;gt;&lt;br /&gt;
* Config-Dateien anlegen und entsprechenden Inhalt reinkopieren:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
log level warn;&lt;br /&gt;
hide ip addresses yes;&lt;br /&gt;
hide mac addresses yes;&lt;br /&gt;
&lt;br /&gt;
interface &amp;quot;xxxxMESH&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
method &amp;quot;salsa2012+umac&amp;quot;;    # new method (faster)&lt;br /&gt;
method &amp;quot;salsa2012+gmac&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
bind any:10000 interface &amp;quot;eth0&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
include &amp;quot;secret.conf&amp;quot;;&lt;br /&gt;
mtu 1426; # 1492 - IPv4/IPv6 Header - fastd Header...&lt;br /&gt;
&lt;br /&gt;
include peers from &amp;quot;peers&amp;quot;;&lt;br /&gt;
include peers from &amp;quot;peers-gw&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
secure handshakes yes;&lt;br /&gt;
&lt;br /&gt;
on up &amp;quot;&lt;br /&gt;
ip link set dev xxxxMESH address ca:fe:ba:be:00:0X&lt;br /&gt;
ip link set dev xxxxMESH up&lt;br /&gt;
&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Secret Keys aus den Repos besorgen und in secret.conf schreiben&lt;br /&gt;
* Neuen SSH-Key anlegen, als Deploy Key in die Gitlab-Projekte https://git.hacksaar.de/FreifunkSaar/mesh-vpn-peers und https://git.hacksaar.de/FreifunkSaar/mesh-vpn-peers-lux eintragen.&lt;br /&gt;
* Mesh-VPN-Peers-Verzeichnis als &amp;quot;peers&amp;quot; klonen: &amp;lt;code&amp;gt;git clone git@hacksaar.de:FreifunkSaar/mesh-vpn-peers.git peers&amp;lt;/code&amp;gt; bzw &amp;lt;code&amp;gt;git clone git@hacksaar.de:FreifunkSaar/mesh-vpn-peers-lux.git peers&amp;lt;/code&amp;gt; jeweils im entsprechende Verzeichnis&lt;br /&gt;
* Feuer!: &amp;lt;code&amp;gt;sudo service fastd start&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DNS, DHCP und RA-Server dnsmasq ==&lt;br /&gt;
* Installieren: &amp;lt;code&amp;gt;apt-get install dnsmasq&amp;lt;/code&amp;gt;&lt;br /&gt;
* /etc/dnsmasq.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bogus-priv&lt;br /&gt;
no-resolv&lt;br /&gt;
no-poll&lt;br /&gt;
&lt;br /&gt;
server=8.8.8.8&lt;br /&gt;
server=8.8.4.4&lt;br /&gt;
&lt;br /&gt;
read-ethers&lt;br /&gt;
expand-hosts&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* /etc/dnsmasq.d/ffsaar&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local=/ffsaar/&lt;br /&gt;
interface=saarBR&lt;br /&gt;
domain=ffsaar&lt;br /&gt;
&lt;br /&gt;
dhcp-range=10.24.XXX.1,10.24.XXX.254,180&lt;br /&gt;
dhcp-range=fd4e:f2d7:88d2:ffff::,64,180,ra-names&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* /etc/dnsmasq.d/fflux&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local=/fflux/&lt;br /&gt;
interface=luxBR&lt;br /&gt;
domain=fflux&lt;br /&gt;
&lt;br /&gt;
dhcp-range=10.24.XXX.1,10.24.XXX.254,180&lt;br /&gt;
dhcp-range=fd4e:f2d7:88d2:fffe::,64,180,ra-names&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* /etc/hosts&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Freifunk Sachen&lt;br /&gt;
10.24.192.2                     static.services.ffsaar ntp.services.ffsaar&lt;br /&gt;
fd4e:f2d7:88d2:ffff::2          static.services.ffsaar ntp.services.ffsaar&lt;br /&gt;
&lt;br /&gt;
10.24.192.1                     router.ffsaar node.ffsaar local.ffsaar knoten.ffsaar my.ffsaar&lt;br /&gt;
fd4e:f2d7:88d2:ffff::1          router.ffsaar node.ffsaar local.ffsaar knoten.ffsaar my.ffsaar&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== isc-dhcp-server (in Zukunft mal umzustellen) ===&lt;br /&gt;
* /etc/dhcp/dhcpd.conf: (Komplett ersetzen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ddns-update-style none;&lt;br /&gt;
default-lease-time 300;&lt;br /&gt;
max-lease-time 300;&lt;br /&gt;
authoritative;&lt;br /&gt;
&lt;br /&gt;
log-facility local6;&lt;br /&gt;
&lt;br /&gt;
subnet 10.24.192.0 netmask 255.255.192.0 {&lt;br /&gt;
        range 10.24.XXX.0 10.24.XXX+3.255;&lt;br /&gt;
        option routers 10.24.192.ZZZ;&lt;br /&gt;
        option domain-name-servers 10.24.192.2, 10.24.192.3, 10.24.192.4;&lt;br /&gt;
        option domain-search &amp;quot;ffsaar&amp;quot;;&lt;br /&gt;
        option ntp-servers 10.24.192.2, 10.24.192.3, 10.24.192.4;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
subnet 10.24.128.0 netmask 255.255.192.0 {&lt;br /&gt;
        range 10.24.YYY.0 10.24.YYY+3.255;&lt;br /&gt;
        option routers 10.24.128.ZZZ;&lt;br /&gt;
        option domain-name-servers 10.24.128.2, 10.24.128.3, 10.24.128.4;&lt;br /&gt;
        option domain-search &amp;quot;fflux&amp;quot;;&lt;br /&gt;
        option ntp-servers 10.24.128.2, 10.24.128.3, 10.24.128.4;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* XXX, XXX+3, YYY, YYY+3, ZZZ durch richtige Werte ersetzen&lt;br /&gt;
* /etc/default/isc-dhcp-server (Zeile INTERFACES ersetzen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
INTERFACES=&amp;quot;saarBR luxBR&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Neu starten: &amp;lt;code&amp;gt;service isc-dhcp-server restart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== IPTables ==&lt;br /&gt;
&lt;br /&gt;
* installieren: &amp;lt;code&amp;gt;apt-get install iptables-persistent&amp;lt;/code&amp;gt;&lt;br /&gt;
* /etc/iptables/rules.v4 UND /etc/iptables/rules.v6&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*mangle&lt;br /&gt;
:PREROUTING ACCEPT [0:0]&lt;br /&gt;
:INPUT ACCEPT [0:0]&lt;br /&gt;
:FORWARD ACCEPT [0:0]&lt;br /&gt;
:OUTPUT ACCEPT [0:0]&lt;br /&gt;
:POSTROUTING ACCEPT [0:0]&lt;br /&gt;
COMMIT&lt;br /&gt;
&lt;br /&gt;
*nat&lt;br /&gt;
:PREROUTING ACCEPT [0:0]&lt;br /&gt;
:INPUT ACCEPT [0:0]&lt;br /&gt;
:OUTPUT ACCEPT [0:0]&lt;br /&gt;
:POSTROUTING ACCEPT [0:0]&lt;br /&gt;
-A POSTROUTING -o tun0 -j MASQUERADE&lt;br /&gt;
COMMIT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Exit-VPN ==&lt;br /&gt;
abhängig von der Config einzurichten&lt;br /&gt;
== Knoteninformationen (Alfred...) ==&lt;br /&gt;
&#039;&#039;&#039;Dieser Punkt befindet sich aktuell in der Erstellung und wird später noch auf die anderen Kapitel aufgeteilt --[[Benutzer:Rugosh|Rugosh]] ([[Benutzer Diskussion:Rugosh|Diskussion]]) 16:38, 22. Feb. 2015 (CET)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Alfred wird auf den Gateways benötigt um die Knoteninformationen zu sammeln und aus diesen Informationen eine Knotendatei unter anderem für die Freifunkkarte bauen zu können.&lt;br /&gt;
Der Server, auf welchem die Knotendatei generiert wird ist hier logisch gesehen der Master die anderen Systeme sind als Slave zu konfigurieren.&lt;br /&gt;
&lt;br /&gt;
Da wir auf unseren Gateways sowohl Saar las auch Lux Freifunk betreiben benötigen wir auch eine Doppelkonfiguration der Knotenerstellung. Dies betrifft sowohl Alfred als auch den Punkt, dass der Master für mehrere Communities Kartendaten erstellen können muss.&lt;br /&gt;
&lt;br /&gt;
=== Slave Konfiguration ===&lt;br /&gt;
Benötigte Komponenten:&lt;br /&gt;
* Alfred&lt;br /&gt;
* Batman&lt;br /&gt;
&lt;br /&gt;
==== Alfred Konfiguration ====&lt;br /&gt;
Wir benötigen zuerst einmal zwei Alfred daemons:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo service alfred stop&lt;br /&gt;
sudo cp /etc/default/alfred /etc/default/alfred-saar&lt;br /&gt;
sudo cp /etc/default/alfred /etc/default/alfred-lux&lt;br /&gt;
sudo cp /etc/init.d/alfred /etc/init.d/alfred-saar&lt;br /&gt;
sudo cp /etc/init.d/alfred /etc/init.d/alfred-lux&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Alfred muss auf auf dem Slave lediglich auf den MASTER=0 gesetzt werden und das Interface, sowie Batman muss angegeben sein. Die Konfiguration findet in der Konfigurationsdatei &amp;lt;code&amp;gt;/etc/default/alfred-XXX&amp;lt;/code&amp;gt; wie folgt statt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# /etc/default/alfred-saar&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
# Additional command line options&lt;br /&gt;
DAEMON_OPTS=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Enable master mode (0/1)&lt;br /&gt;
MASTER=0&lt;br /&gt;
&lt;br /&gt;
# Interface for A.L.F.R.E.D. to listen on. Has to be specified.&lt;br /&gt;
INTERFACE=br-ff&lt;br /&gt;
&lt;br /&gt;
# Specify the batman-adv interface configured on the system (default: bat0).&lt;br /&gt;
# Use &#039;none&#039; to disable the batman-adv based best server selection.&lt;br /&gt;
BATMANIF=saarBAT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# /etc/default/alfred-lux&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
# Additional command line options&lt;br /&gt;
DAEMON_OPTS=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Enable master mode (0/1)&lt;br /&gt;
MASTER=0&lt;br /&gt;
&lt;br /&gt;
# Interface for A.L.F.R.E.D. to listen on. Has to be specified.&lt;br /&gt;
INTERFACE=luxBR&lt;br /&gt;
&lt;br /&gt;
# Specify the batman-adv interface configured on the system (default: bat0).&lt;br /&gt;
# Use &#039;none&#039; to disable the batman-adv based best server selection.&lt;br /&gt;
BATMANIF=luxBAT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Anpassen der init.d Dateien für die Alfreds...&lt;br /&gt;
&#039;&#039;&#039;Nachfolgende Configs erzeugen noch keinen eigenständigen Alfed Socket...&#039;&#039;&#039; Leider muss damit die Alfreds eigene Sockets haben anscheinend alfred selbst mit anderen werten kompaliert werden https://github.com/tcatm/alfred/blob/master/alfred.h oder hier muss eine andere (bessere) Lösung gefunden werden. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Ausschnitt der anzupassenden Datei /etc/init.d/alfred-saar&lt;br /&gt;
&lt;br /&gt;
DESC=&amp;quot;A.L.F.R.E.D -&amp;gt; Saar&amp;quot;&lt;br /&gt;
NAME=alfred&lt;br /&gt;
NAME2=alfred-saar&lt;br /&gt;
DAEMON=/usr/sbin/$NAME&lt;br /&gt;
PIDFILE=/var/run/$NAME2.pid&lt;br /&gt;
SCRIPTNAME=/etc/init.d/$NAME2&lt;br /&gt;
GROUP=alfred &lt;br /&gt;
OPTIONS=&amp;quot;&amp;quot;&lt;br /&gt;
UMASK=0117&lt;br /&gt;
&lt;br /&gt;
[ -x &amp;quot;$DAEMON&amp;quot; ] || exit 0&lt;br /&gt;
&lt;br /&gt;
# Source defaults.&lt;br /&gt;
[ -r /etc/default/$NAME2 ] &amp;amp;&amp;amp; . /etc/default/$NAME2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Ausschnitt der anzupassenden Datei /etc/init.d/alfred-lux&lt;br /&gt;
&lt;br /&gt;
DESC=&amp;quot;A.L.F.R.E.D -&amp;gt; Lux&amp;quot;&lt;br /&gt;
NAME=alfred-lux&lt;br /&gt;
DAEMON=/usr/sbin/$NAME&lt;br /&gt;
PIDFILE=/var/run/$NAME2.pid&lt;br /&gt;
SCRIPTNAME=/etc/init.d/$NAME2&lt;br /&gt;
GROUP=alfred&lt;br /&gt;
OPTIONS=&amp;quot;&amp;quot;&lt;br /&gt;
UMASK=0117&lt;br /&gt;
&lt;br /&gt;
[ -x &amp;quot;$DAEMON&amp;quot; ] || exit 0&lt;br /&gt;
&lt;br /&gt;
# Source defaults.&lt;br /&gt;
[ -r /etc/default/$NAME2 ] &amp;amp;&amp;amp; . /etc/default/$NAME2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Starten der neuen Alfreds&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo service alfred-saar start&lt;br /&gt;
sudo service alfred-lux start&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Nun testen ob alles wie gewünscht funktioniert und erst nach einem erfolgreichen Test die nun nicht mehr benötigten Daten löschen.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rm /etc/default/alfred&lt;br /&gt;
sudo rm /etc/init.d/alfred.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== batadv-vis ====&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=== Master Konfiguration ===&lt;br /&gt;
Benötigte Komponenten:&lt;br /&gt;
* Alfred&lt;br /&gt;
* Alfred-JSON&lt;br /&gt;
* Batman&lt;br /&gt;
&lt;br /&gt;
==== Alfred Konfiguration ====&lt;br /&gt;
Alfred muss auf auf dem Slave lediglich auf den MASTER=1 gesetzt werden und das Interface, sowie Batman muss angegeben sein. Für Details siehe [[#Alfred_Konfiguration | Slave Konfiguration -&amp;gt; Alfred Konfigurieren ]]&lt;br /&gt;
&#039;&#039;&#039;Achtung: Da auf dem Master aktuell nur ein Batman device läuft, ist hier aktuell kein alfred-lux gestartet, aber vorkonfiguriert&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Knotendateigenerierung ====&lt;br /&gt;
* Benötigt auch alias config&lt;br /&gt;
* bat2nodes für Kartengenerierung mit mkmap Skript. Checkout newest Version from https://github.com/freifunk-saar/ffmap-backend -&amp;gt; done.&lt;br /&gt;
* Cron Eintrag vom mkmap Skript&lt;br /&gt;
&lt;br /&gt;
==== Alias Konfiguration ====&lt;br /&gt;
Da wir uns für die manuelle Konfiguration des Announcement der Gateway Informationen entschieden haben ist eine Anpassung der Alias Datei für jede neue Gateway erforderlich.&lt;br /&gt;
Die Dateien &amp;lt;code&amp;gt;aliases_saar.json&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;aliases_lux.json&amp;lt;/code&amp;gt; befindet sich im bat2nodes Verzeichnis und beinhaltet für jede Gateway einen Alias Eintrag.&lt;br /&gt;
&lt;br /&gt;
Beipiel:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
   &amp;quot;&amp;lt;KENNUNG&amp;gt;1&amp;quot; : {&lt;br /&gt;
      &amp;quot;name&amp;quot; : &amp;quot;gw1.saar.freifunk.net&amp;quot;,&lt;br /&gt;
      &amp;quot;vpn&amp;quot; : true&lt;br /&gt;
   },&lt;br /&gt;
   &amp;quot;&amp;lt;KENNUNG&amp;gt;2&amp;quot; : {&lt;br /&gt;
      &amp;quot;name&amp;quot; : &amp;quot;gw2.saar.freifunk.net&amp;quot;,&lt;br /&gt;
      &amp;quot;vpn&amp;quot; : true&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== batadv-vis ====&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=== alfed-json ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== To be continued... ==&lt;br /&gt;
* DNSmasq statt radvd, bind, isc-dhcp-server&lt;br /&gt;
* iptables NAT&lt;/div&gt;</summary>
		<author><name>Tobi042</name></author>
	</entry>
	<entry>
		<id>https://wiki.hacksaar.de/index.php?title=Freifunk:Mesh-VPN_Gateway-Server_einrichten&amp;diff=1930</id>
		<title>Freifunk:Mesh-VPN Gateway-Server einrichten</title>
		<link rel="alternate" type="text/html" href="https://wiki.hacksaar.de/index.php?title=Freifunk:Mesh-VPN_Gateway-Server_einrichten&amp;diff=1930"/>
		<updated>2015-03-25T19:08:36Z</updated>

		<summary type="html">&lt;p&gt;Tobi042: /* DNS, DHCP und RA-Server dnsmasq */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Unsere Gateways laufen auf Debian 7 Wheezy. Diese Anleitungen orientieren sich an anderen Freifunk-Communities, aber einen sehr nennenswerten Einfluss hat die geniale Dokumentation von Freifunk Mainz, Wiesbaden und Umgebung (http://gluon-gateway-doku.readthedocs.org/de/latest/) gehabt.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
Größtenteils egal, wichtig ist folgendes: Root bekommt kein Passwort, dadurch wird der Root-Login gesperrt und man muss sudo benutzen. Als zu installierende Paketgruppen nutzen wir Debian-Standardutilities und SSH-Server.&lt;br /&gt;
&lt;br /&gt;
== SSH einrichten ==&lt;br /&gt;
&lt;br /&gt;
* Einloggen: &lt;br /&gt;
*: &amp;lt;code&amp;gt;ssh user@gwX.saar.freifunk.de&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;mkdir .ssh&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;echo &amp;quot;dein_ssh_key&amp;quot; &amp;gt; .ssh/authorized_keys&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;nano /etc/ssh/sshd_config&amp;lt;/code&amp;gt;&lt;br /&gt;
*: Folgende Änderungen vornehmen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;...&lt;br /&gt;
PermitRootLogin no&lt;br /&gt;
...&lt;br /&gt;
PasswordAuthentication no&lt;br /&gt;
...&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Alte Session aktiv lassen, in neuem Terminal versuchen mit Public Key einzuloggen. Wenn nicht erfolgreich debuggen.&lt;br /&gt;
* &amp;lt;code&amp;gt;sudo service ssh restart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Überflüssige Pakete deinstallieren ==&lt;br /&gt;
&lt;br /&gt;
Da wir eben etwas großzügig waren mit der Installation von Paketgruppen müssen wir jetzt exim und nfs-Kram deinstallieren:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;sudo apt-get remove exim4* nfs-common rpcbind&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Als Resultat sollte bei Ausführung von &amp;quot;sudo netstat -tulpn&amp;quot; keine Programme außer sshd und vielleicht dhclient angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
== APT Sources hinzufügen ==&lt;br /&gt;
&lt;br /&gt;
Wir benötigen die Sources für fastd und batman-adv:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;nano /etc/apt/sources.list&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 deb http://security.debian.org/ wheezy/updates main contrib non-free&lt;br /&gt;
 deb-src http://security.debian.org/ wheezy/updates main contrib non-free&lt;br /&gt;
  &lt;br /&gt;
 # fastd&lt;br /&gt;
 deb http://ftp.de.debian.org/debian wheezy-backports main&lt;br /&gt;
 deb http://repo.universe-factory.net/debian/ sid main&lt;br /&gt;
&lt;br /&gt;
 # alfred&lt;br /&gt;
 deb http://debian.draic.info/ wheezy main&lt;br /&gt;
 deb-src http://debian.draic.info/ wheezy main&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Schlüssel für repo importieren: &lt;br /&gt;
* &amp;lt;code&amp;gt;gpg --keyserver pgpkeys.mit.edu --recv-key  B89033D8&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;gpg -a --export B89033D8 | apt-key add -&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;gpg --keyserver pgpkeys.mit.edu --recv-key  16EF3F64CB201D9C&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;gpg -a --export 16EF3F64CB201D9C | apt-key add -&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pakete installieren ==&lt;br /&gt;
* &amp;lt;code&amp;gt;apt-get update&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;apt-get install batctl batman-adv-dkms fastd bridge-utils&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;echo &amp;quot;batman-adv&amp;quot; &amp;gt;&amp;gt; /etc/modules&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Netzwerk Grundkonfiguration ==&lt;br /&gt;
=== Sysctl Einstellungen ===&lt;br /&gt;
* /etc/sysctl.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Freifunk specific settings&lt;br /&gt;
net.ipv4.ip_forward=1&lt;br /&gt;
&lt;br /&gt;
net.bridge.bridge-nf-call-arptables = 0&lt;br /&gt;
net.bridge.bridge-nf-call-ip6tables = 0&lt;br /&gt;
net.bridge.bridge-nf-call-iptables = 0&lt;br /&gt;
&lt;br /&gt;
net.ipv6.conf.all.forwarding=1&lt;br /&gt;
&lt;br /&gt;
net.ipv6.conf.all.autoconf = 0&lt;br /&gt;
net.ipv6.conf.default.autoconf = 0&lt;br /&gt;
net.ipv6.conf.eth0.autoconf = 0&lt;br /&gt;
&lt;br /&gt;
net.ipv6.conf.all.accept_ra = 0&lt;br /&gt;
net.ipv6.conf.default.accept_ra = 0&lt;br /&gt;
net.ipv6.conf.eth0.accept_ra = 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Danach neu laden: &amp;lt;code&amp;gt;sysctl -p /etc/sysctl.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Routing Tables erstellen ===&lt;br /&gt;
* /etc/iproute2/rt_tables (bisherige Einstellungen beibehalten und folgende hinzufügen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# freifunk&lt;br /&gt;
32      saar&lt;br /&gt;
33      lux&lt;br /&gt;
42      icvpn&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Netzwerkinterafaces einstellen ===&lt;br /&gt;
* /etc/network/interfaces (andere Interfaces nach der entsprechenden Konfiguration belassen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# FREIFUNK SAAR&lt;br /&gt;
#&lt;br /&gt;
auto saarBR&lt;br /&gt;
iface saarBR inet static&lt;br /&gt;
    bridge_ports none&lt;br /&gt;
    bridge_fd 0&lt;br /&gt;
    bridge_maxwait 0&lt;br /&gt;
    address 10.24.192.XXX&lt;br /&gt;
    netmask 255.255.192.0&lt;br /&gt;
    # be sure all incoming traffic is handled by the appropriate rt_table&lt;br /&gt;
    post-up         /sbin/ip rule add iif $IFACE table saar priority 3200&lt;br /&gt;
    pre-down        /sbin/ip rule del iif $IFACE table saar priority 3200&lt;br /&gt;
    # default route is unreachable&lt;br /&gt;
    post-up         /sbin/ip route add unreachable default table saar&lt;br /&gt;
    post-down       /sbin/ip route del unreachable default table saar&lt;br /&gt;
    # local reachable subnet saar for rt_table lux&lt;br /&gt;
    post-up         /sbin/ip route add 10.24.128.0/18 proto static dev $IFACE table lux&lt;br /&gt;
    post-down       /sbin/ip route del 10.24.128.0/18 proto static dev $IFACE table lux&lt;br /&gt;
&lt;br /&gt;
iface saarBR inet6 static&lt;br /&gt;
    address fd4e:f2d7:88d2:ffff::XXX&lt;br /&gt;
    netmask 64&lt;br /&gt;
    # be sure all incoming traffic is handled by the appropriate rt_table&lt;br /&gt;
    post-up         /sbin/ip -6 rule add iif $IFACE table saar priority 3200&lt;br /&gt;
    pre-down        /sbin/ip -6 rule del iif $IFACE table saar priority 3200&lt;br /&gt;
    post-up         /sbin/ip -6 route add fe80::/64 proto static dev $IFACE table saar&lt;br /&gt;
    post-down       /sbin/ip -6 route del fe80::/64 proto static dev $IFACE table saar&lt;br /&gt;
    post-up         /sbin/ip -6 route add fd4e:f2d7:88d2:ffff::/64 proto static dev $IFACE table saar&lt;br /&gt;
    post-down       /sbin/ip -6 route del fd4e:f2d7:88d2:ffff::/64 proto static dev $IFACE table saar&lt;br /&gt;
    # ULA route mz for rt_table saar&lt;br /&gt;
    post-up         /sbin/ip -6 route add fd4e:f2d7:88d2:fffe::/64 proto static dev $IFACE table lux&lt;br /&gt;
    post-down       /sbin/ip -6 route del fd4e:f2d7:88d2:fffe::/64 proto static dev $IFACE table lux&lt;br /&gt;
&lt;br /&gt;
allow-hotplug saarMESH&lt;br /&gt;
iface saarMESH inet6 manual&lt;br /&gt;
    pre-up          /sbin/modprobe batman_adv&lt;br /&gt;
    post-up         /usr/sbin/batctl -m saarBAT if add $IFACE&lt;br /&gt;
    post-up         /sbin/ip link set dev saarBAT up&lt;br /&gt;
&lt;br /&gt;
allow-hotplug saarBAT&lt;br /&gt;
iface saarBAT inet6 manual&lt;br /&gt;
    pre-up          /sbin/modprobe batman-adv&lt;br /&gt;
    post-up         /sbin/brctl addif saarBR $IFACE&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE it 10000&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE vm server&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE gw server  6mbit/6mbit&lt;br /&gt;
    pre-down        /sbin/brctl delif saarBR $IFACE || true&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# FREIFUNK LUX &lt;br /&gt;
#&lt;br /&gt;
auto luxBR&lt;br /&gt;
iface luxBR inet static&lt;br /&gt;
    bridge_ports none&lt;br /&gt;
    bridge_fd 0&lt;br /&gt;
    bridge_maxwait 0&lt;br /&gt;
    address 10.24.128.XXX&lt;br /&gt;
    netmask 255.255.192.0&lt;br /&gt;
    # be sure all incoming traffic is handled by the appropriate rt_table&lt;br /&gt;
    post-up         /sbin/ip rule add iif $IFACE table lux priority 3300&lt;br /&gt;
    pre-down        /sbin/ip rule del iif $IFACE table lux priority 3300&lt;br /&gt;
    # default route is unreachable&lt;br /&gt;
    post-up         /sbin/ip route add unreachable default table lux &lt;br /&gt;
    post-down       /sbin/ip route del unreachable default table lux &lt;br /&gt;
    # local reachable subnet lux for rt_table saar&lt;br /&gt;
    post-up         /sbin/ip route add 10.24.192.0/18 proto static dev $IFACE table saar&lt;br /&gt;
    post-down       /sbin/ip route del 10.24.192.0/18 proto static dev $IFACE table saar&lt;br /&gt;
&lt;br /&gt;
iface luxBR inet6 static&lt;br /&gt;
    address fd4e:f2d7:88d2:fffe::XXX&lt;br /&gt;
    netmask 64&lt;br /&gt;
    # be sure all incoming traffic is handled by the appropriate rt_table&lt;br /&gt;
    post-up         /sbin/ip -6 rule add iif $IFACE table lux priority 3300&lt;br /&gt;
    pre-down        /sbin/ip -6 rule del iif $IFACE table lux priority 3300&lt;br /&gt;
    post-up         /sbin/ip -6 route add fe80::/64 proto static dev $IFACE table lux &lt;br /&gt;
    post-down       /sbin/ip -6 route del fe80::/64 proto static dev $IFACE table lux &lt;br /&gt;
    post-up         /sbin/ip -6 route add fd4e:f2d7:88d2:fffe::/64 proto static dev $IFACE table lux&lt;br /&gt;
    post-down       /sbin/ip -6 route del fd4e:f2d7:88d2:fffe::/64 proto static dev $IFACE table lux&lt;br /&gt;
    # ULA route saar for rt_table lux&lt;br /&gt;
    post-up         /sbin/ip -6 route add fd4e:f2d7:88d2:ffff::/64 proto static dev $IFACE table saar&lt;br /&gt;
    post-down       /sbin/ip -6 route del fd4e:f2d7:88d2:ffff::/64 proto static dev $IFACE table saar&lt;br /&gt;
&lt;br /&gt;
allow-hotplug luxMESH&lt;br /&gt;
iface luxMESH inet6 manual&lt;br /&gt;
    pre-up          /sbin/modprobe batman_adv&lt;br /&gt;
    post-up         /usr/sbin/batctl -m luxBAT if add $IFACE&lt;br /&gt;
    post-up         /sbin/ip link set dev luxBAT up&lt;br /&gt;
&lt;br /&gt;
allow-hotplug luxBAT&lt;br /&gt;
iface luxBAT inet6 manual&lt;br /&gt;
    pre-up          /sbin/modprobe batman-adv&lt;br /&gt;
    post-up         /sbin/brctl addif luxBR $IFACE&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE it 10000&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE vm server&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE gw server  6mbit/6mbit&lt;br /&gt;
    pre-down        /sbin/brctl delif luxBR $IFACE || true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Jedes Vorkommnis von XXX durch einen entsprechenden Wert aus dem Netzplan ersetzen, im Zweifel TobiT fragen&lt;br /&gt;
&lt;br /&gt;
== Helfer-Skripte ==&lt;br /&gt;
Es gibt 2 Helferskripte, die eingerichtet werden müssen. check_gateway.sh prüft minütlich, ob das ExitVPN noch steht. autoupdate_fastd_peers updatet die fastd-peers alle 5 Minuten per git.&lt;br /&gt;
=== check_gateway.sh ===&lt;br /&gt;
* /usr/bin/check_gateway.sh:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@gw2:/etc/fastd/freifunk-lux# less /usr/bin/check_gateway.sh&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
INTERFACE=tun0          # Set to name of VPN interface&lt;br /&gt;
DHCPSERVICE=dnsmasq     # Name of DHCP service&lt;br /&gt;
BANDWIDTH=XXX           # Server bandwidth&lt;br /&gt;
shopt -s nullglob&lt;br /&gt;
&lt;br /&gt;
# Test whether gateway is connected to the outer world via VPN&lt;br /&gt;
ping -q -I $INTERFACE 8.8.8.8 -c 4 -i 1 -W 5 &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
if test $? -eq 0; then&lt;br /&gt;
    NEW_STATE=server&lt;br /&gt;
else&lt;br /&gt;
    NEW_STATE=off&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Iterate through network interfaces in sys file system&lt;br /&gt;
for MESH in /sys/class/net/*/mesh; do&lt;br /&gt;
# Check whether gateway modus needs to be changed&lt;br /&gt;
OLD_STATE=&amp;quot;$(cat $MESH/gw_mode)&amp;quot;&lt;br /&gt;
[ &amp;quot;$OLD_STATE&amp;quot; == &amp;quot;$NEW_STATE&amp;quot; ] &amp;amp;&amp;amp; continue&lt;br /&gt;
    echo $NEW_STATE &amp;gt; $MESH/gw_mode&lt;br /&gt;
    echo ${BANDWIDTH}MBit/${BANDWIDTH}MBit &amp;gt; $MESH/gw_bandwidth&lt;br /&gt;
    logger &amp;quot;batman gateway mode changed to $NEW_STATE&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    # Check whether gateway modus has been deactivated&lt;br /&gt;
    if [ &amp;quot;$NEW_STATE&amp;quot; == &amp;quot;off&amp;quot; ]; then&lt;br /&gt;
        # Shutdown DHCP server to prevent renewal of leases&lt;br /&gt;
        /usr/sbin/service $DHCPSERVICE stop&lt;br /&gt;
    fi&lt;br /&gt;
&lt;br /&gt;
    # Check whether gateway modus has been activated&lt;br /&gt;
    if [ &amp;quot;$NEW_STATE&amp;quot; == &amp;quot;server&amp;quot; ]; then&lt;br /&gt;
        # Restart DHCP server&lt;br /&gt;
        /usr/sbin/service $DHCPSERVICE start&lt;br /&gt;
    fi&lt;br /&gt;
    exit 0&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
if [ &amp;quot;$NEW_STATE&amp;quot; == &amp;quot;server&amp;quot; ]; then&lt;br /&gt;
    /usr/sbin/service $DHCPSERVICE status 2&amp;gt;&amp;amp;1&amp;gt; /dev/null&lt;br /&gt;
    if [[ $? -ne 0 ]]&lt;br /&gt;
    then&lt;br /&gt;
        /usr/sbin/service $DHCPSERVICE restart&lt;br /&gt;
    fi&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$NEW_STATE&amp;quot; == &amp;quot;off&amp;quot; ]; then&lt;br /&gt;
    /usr/sbin/service $DHCPSERVICE status 2&amp;gt;&amp;amp;1&amp;gt; /dev/null&lt;br /&gt;
    if [[ $? -eq 0 ]]&lt;br /&gt;
    then&lt;br /&gt;
        /usr/sbin/service $DHCPSERVICE stop&lt;br /&gt;
    fi&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Ganz oben bei BANDWIDTH die Serverbandbreite in MBit/s einstellen, damit diese ordentlich via Batman announced werden kann.&lt;br /&gt;
* Speichern und mit &amp;lt;code&amp;gt;chmod +x /usr/bin/check_gateway.sh&amp;lt;/code&amp;gt; ausführbar machen&lt;br /&gt;
=== autoupdate_fastd_keys.sh ===&lt;br /&gt;
* /usr/bin/autoupate_fastd_keys.sh:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# Simple script to update fastd peers from git upstream&lt;br /&gt;
# and only send HUP to fastd when changes happend.&lt;br /&gt;
&lt;br /&gt;
# CONFIGURE THIS TO YOUR PEER DIRECTORY&lt;br /&gt;
FASTD_PEERS_ARRAY=( &amp;quot;freifunk-saar&amp;quot; &amp;quot;freifunk-lux&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
function getCurrentVersion() {&lt;br /&gt;
 # Get hash from latest revision&lt;br /&gt;
 git log --format=format:%H -1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
for FASTD_PEERS in &amp;quot;${FASTD_PEERS_ARRAY[@]}&amp;quot;&lt;br /&gt;
do&lt;br /&gt;
cd /etc/fastd/$FASTD_PEERS/peers&lt;br /&gt;
&lt;br /&gt;
# Get current version hash&lt;br /&gt;
GIT_REVISION=$(getCurrentVersion)&lt;br /&gt;
&lt;br /&gt;
# Automagically commit local changes&lt;br /&gt;
# This preserves local changes&lt;br /&gt;
git commit -m &amp;quot;CRON: auto commit&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Pull latest changes from upstream&lt;br /&gt;
git fetch&lt;br /&gt;
git merge origin/master -m &amp;quot;Auto Merge&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Get new version hash&lt;br /&gt;
GIT_NEW_REVISION=$(getCurrentVersion)&lt;br /&gt;
&lt;br /&gt;
if [ $GIT_REVISION != $GIT_NEW_REVISION ]&lt;br /&gt;
then&lt;br /&gt;
 # Version has changed we need to update&lt;br /&gt;
 echo &amp;quot;Reload fastd peers&amp;quot;&lt;br /&gt;
 kill -HUP $(cat /var/run/fastd.$FASTD_PEERS.pid)&lt;br /&gt;
fi&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Auch dieses Skript ausführbar machen: &amp;lt;code&amp;gt;chmod +x /usr/bin/autoupdate_fastd_keys.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
=== Skripte in crontab eintragen ===&lt;br /&gt;
* In &amp;lt;code&amp;gt;sudo crontab -e&amp;lt;/code&amp;gt; folgende Zeilen anhängen&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*/5 * * * *   /usr/bin/autoupdate_fastd_keys.sh &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
* * * * *   /usr/bin/check_gateway.sh &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Fastd-Config ==&lt;br /&gt;
* &amp;lt;code&amp;gt;mkdir /etc/fastd/freifunk-{saar,lux}/&amp;lt;/code&amp;gt;&lt;br /&gt;
* Config-Dateien anlegen und entsprechenden Inhalt reinkopieren:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
log level warn;&lt;br /&gt;
hide ip addresses yes;&lt;br /&gt;
hide mac addresses yes;&lt;br /&gt;
&lt;br /&gt;
interface &amp;quot;xxxxMESH&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
method &amp;quot;salsa2012+umac&amp;quot;;    # new method (faster)&lt;br /&gt;
method &amp;quot;salsa2012+gmac&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
bind any:10000 interface &amp;quot;eth0&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
include &amp;quot;secret.conf&amp;quot;;&lt;br /&gt;
mtu 1426; # 1492 - IPv4/IPv6 Header - fastd Header...&lt;br /&gt;
&lt;br /&gt;
include peers from &amp;quot;peers&amp;quot;;&lt;br /&gt;
include peers from &amp;quot;peers-gw&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
secure handshakes yes;&lt;br /&gt;
&lt;br /&gt;
on up &amp;quot;&lt;br /&gt;
ip link set dev xxxxMESH address ca:fe:ba:be:00:0X&lt;br /&gt;
ip link set dev xxxxMESH up&lt;br /&gt;
&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Secret Keys aus den Repos besorgen und in secret.conf schreiben&lt;br /&gt;
* Neuen SSH-Key anlegen, als Deploy Key in die Gitlab-Projekte https://git.hacksaar.de/FreifunkSaar/mesh-vpn-peers und https://git.hacksaar.de/FreifunkSaar/mesh-vpn-peers-lux eintragen.&lt;br /&gt;
* Mesh-VPN-Peers-Verzeichnis als &amp;quot;peers&amp;quot; klonen: &amp;lt;code&amp;gt;git clone git@hacksaar.de:FreifunkSaar/mesh-vpn-peers.git peers&amp;lt;/code&amp;gt; bzw &amp;lt;code&amp;gt;git clone git@hacksaar.de:FreifunkSaar/mesh-vpn-peers-lux.git peers&amp;lt;/code&amp;gt; jeweils im entsprechende Verzeichnis&lt;br /&gt;
* Feuer!: &amp;lt;code&amp;gt;sudo service fastd start&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DNS, DHCP und RA-Server dnsmasq ==&lt;br /&gt;
* Installieren: &amp;lt;code&amp;gt;apt-get install dnsmasq&amp;lt;/code&amp;gt;&lt;br /&gt;
* /etc/dnsmasq.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bogus-priv&lt;br /&gt;
no-resolv&lt;br /&gt;
no-poll&lt;br /&gt;
&lt;br /&gt;
server=8.8.8.8&lt;br /&gt;
server=8.8.4.4&lt;br /&gt;
&lt;br /&gt;
read-ethers&lt;br /&gt;
expand-hosts&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* /etc/dnsmasq.d/ffsaar&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local=/ffsaar/&lt;br /&gt;
interface=saarBR&lt;br /&gt;
domain=ffsaar&lt;br /&gt;
&lt;br /&gt;
dhcp-range=10.24.XXX.1,10.24.XXX.254,180&lt;br /&gt;
dhcp-range=fd4e:f2d7:88d2:ffff::,64,180,ra-names&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* /etc/dnsmasq.d/fflux&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local=/fflux/&lt;br /&gt;
interface=luxBR&lt;br /&gt;
domain=fflux&lt;br /&gt;
&lt;br /&gt;
dhcp-range=10.24.XXX.1,10.24.XXX.254,180&lt;br /&gt;
dhcp-range=fd4e:f2d7:88d2:fffe::,64,180,ra-names&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* /etc/hosts&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Freifunk Sachen&lt;br /&gt;
10.24.192.2                     static.services.ffsaar ntp.services.ffsaar&lt;br /&gt;
fd4e:f2d7:88d2:ffff::2          static.services.ffsaar ntp.services.ffsaar&lt;br /&gt;
&lt;br /&gt;
10.24.192.1                     router.ffsaar node.ffsaar local.ffsaar knoten.ffsaar my.ffsaar&lt;br /&gt;
fd4e:f2d7:88d2:ffff::1          router.ffsaar node.ffsaar local.ffsaar knoten.ffsaar my.ffsaar&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== isc-dhcp-server (in Zukunft mal umzustellen) ===&lt;br /&gt;
* /etc/dhcp/dhcpd.conf: (Komplett ersetzen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ddns-update-style none;&lt;br /&gt;
default-lease-time 300;&lt;br /&gt;
max-lease-time 300;&lt;br /&gt;
authoritative;&lt;br /&gt;
&lt;br /&gt;
log-facility local6;&lt;br /&gt;
&lt;br /&gt;
subnet 10.24.192.0 netmask 255.255.192.0 {&lt;br /&gt;
        range 10.24.XXX.0 10.24.XXX+3.255;&lt;br /&gt;
        option routers 10.24.192.ZZZ;&lt;br /&gt;
        option domain-name-servers 10.24.192.2, 10.24.192.3, 10.24.192.4;&lt;br /&gt;
        option domain-search &amp;quot;ffsaar&amp;quot;;&lt;br /&gt;
        option ntp-servers 10.24.192.2, 10.24.192.3, 10.24.192.4;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
subnet 10.24.128.0 netmask 255.255.192.0 {&lt;br /&gt;
        range 10.24.YYY.0 10.24.YYY+3.255;&lt;br /&gt;
        option routers 10.24.128.ZZZ;&lt;br /&gt;
        option domain-name-servers 10.24.128.2, 10.24.128.3, 10.24.128.4;&lt;br /&gt;
        option domain-search &amp;quot;fflux&amp;quot;;&lt;br /&gt;
        option ntp-servers 10.24.128.2, 10.24.128.3, 10.24.128.4;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* XXX, XXX+3, YYY, YYY+3, ZZZ durch richtige Werte ersetzen&lt;br /&gt;
* /etc/default/isc-dhcp-server (Zeile INTERFACES ersetzen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
INTERFACES=&amp;quot;saarBR luxBR&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Neu starten: &amp;lt;code&amp;gt;service isc-dhcp-server restart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Knoteninformationen (Alfred...) ==&lt;br /&gt;
&#039;&#039;&#039;Dieser Punkt befindet sich aktuell in der Erstellung und wird später noch auf die anderen Kapitel aufgeteilt --[[Benutzer:Rugosh|Rugosh]] ([[Benutzer Diskussion:Rugosh|Diskussion]]) 16:38, 22. Feb. 2015 (CET)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Alfred wird auf den Gateways benötigt um die Knoteninformationen zu sammeln und aus diesen Informationen eine Knotendatei unter anderem für die Freifunkkarte bauen zu können.&lt;br /&gt;
Der Server, auf welchem die Knotendatei generiert wird ist hier logisch gesehen der Master die anderen Systeme sind als Slave zu konfigurieren.&lt;br /&gt;
&lt;br /&gt;
Da wir auf unseren Gateways sowohl Saar las auch Lux Freifunk betreiben benötigen wir auch eine Doppelkonfiguration der Knotenerstellung. Dies betrifft sowohl Alfred als auch den Punkt, dass der Master für mehrere Communities Kartendaten erstellen können muss.&lt;br /&gt;
&lt;br /&gt;
=== Slave Konfiguration ===&lt;br /&gt;
Benötigte Komponenten:&lt;br /&gt;
* Alfred&lt;br /&gt;
* Batman&lt;br /&gt;
&lt;br /&gt;
==== Alfred Konfiguration ====&lt;br /&gt;
Wir benötigen zuerst einmal zwei Alfred daemons:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo service alfred stop&lt;br /&gt;
sudo cp /etc/default/alfred /etc/default/alfred-saar&lt;br /&gt;
sudo cp /etc/default/alfred /etc/default/alfred-lux&lt;br /&gt;
sudo cp /etc/init.d/alfred /etc/init.d/alfred-saar&lt;br /&gt;
sudo cp /etc/init.d/alfred /etc/init.d/alfred-lux&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Alfred muss auf auf dem Slave lediglich auf den MASTER=0 gesetzt werden und das Interface, sowie Batman muss angegeben sein. Die Konfiguration findet in der Konfigurationsdatei &amp;lt;code&amp;gt;/etc/default/alfred-XXX&amp;lt;/code&amp;gt; wie folgt statt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# /etc/default/alfred-saar&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
# Additional command line options&lt;br /&gt;
DAEMON_OPTS=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Enable master mode (0/1)&lt;br /&gt;
MASTER=0&lt;br /&gt;
&lt;br /&gt;
# Interface for A.L.F.R.E.D. to listen on. Has to be specified.&lt;br /&gt;
INTERFACE=br-ff&lt;br /&gt;
&lt;br /&gt;
# Specify the batman-adv interface configured on the system (default: bat0).&lt;br /&gt;
# Use &#039;none&#039; to disable the batman-adv based best server selection.&lt;br /&gt;
BATMANIF=saarBAT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# /etc/default/alfred-lux&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
# Additional command line options&lt;br /&gt;
DAEMON_OPTS=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Enable master mode (0/1)&lt;br /&gt;
MASTER=0&lt;br /&gt;
&lt;br /&gt;
# Interface for A.L.F.R.E.D. to listen on. Has to be specified.&lt;br /&gt;
INTERFACE=luxBR&lt;br /&gt;
&lt;br /&gt;
# Specify the batman-adv interface configured on the system (default: bat0).&lt;br /&gt;
# Use &#039;none&#039; to disable the batman-adv based best server selection.&lt;br /&gt;
BATMANIF=luxBAT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Anpassen der init.d Dateien für die Alfreds...&lt;br /&gt;
&#039;&#039;&#039;Nachfolgende Configs erzeugen noch keinen eigenständigen Alfed Socket...&#039;&#039;&#039; Leider muss damit die Alfreds eigene Sockets haben anscheinend alfred selbst mit anderen werten kompaliert werden https://github.com/tcatm/alfred/blob/master/alfred.h oder hier muss eine andere (bessere) Lösung gefunden werden. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Ausschnitt der anzupassenden Datei /etc/init.d/alfred-saar&lt;br /&gt;
&lt;br /&gt;
DESC=&amp;quot;A.L.F.R.E.D -&amp;gt; Saar&amp;quot;&lt;br /&gt;
NAME=alfred&lt;br /&gt;
NAME2=alfred-saar&lt;br /&gt;
DAEMON=/usr/sbin/$NAME&lt;br /&gt;
PIDFILE=/var/run/$NAME2.pid&lt;br /&gt;
SCRIPTNAME=/etc/init.d/$NAME2&lt;br /&gt;
GROUP=alfred &lt;br /&gt;
OPTIONS=&amp;quot;&amp;quot;&lt;br /&gt;
UMASK=0117&lt;br /&gt;
&lt;br /&gt;
[ -x &amp;quot;$DAEMON&amp;quot; ] || exit 0&lt;br /&gt;
&lt;br /&gt;
# Source defaults.&lt;br /&gt;
[ -r /etc/default/$NAME2 ] &amp;amp;&amp;amp; . /etc/default/$NAME2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Ausschnitt der anzupassenden Datei /etc/init.d/alfred-lux&lt;br /&gt;
&lt;br /&gt;
DESC=&amp;quot;A.L.F.R.E.D -&amp;gt; Lux&amp;quot;&lt;br /&gt;
NAME=alfred-lux&lt;br /&gt;
DAEMON=/usr/sbin/$NAME&lt;br /&gt;
PIDFILE=/var/run/$NAME2.pid&lt;br /&gt;
SCRIPTNAME=/etc/init.d/$NAME2&lt;br /&gt;
GROUP=alfred&lt;br /&gt;
OPTIONS=&amp;quot;&amp;quot;&lt;br /&gt;
UMASK=0117&lt;br /&gt;
&lt;br /&gt;
[ -x &amp;quot;$DAEMON&amp;quot; ] || exit 0&lt;br /&gt;
&lt;br /&gt;
# Source defaults.&lt;br /&gt;
[ -r /etc/default/$NAME2 ] &amp;amp;&amp;amp; . /etc/default/$NAME2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Starten der neuen Alfreds&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo service alfred-saar start&lt;br /&gt;
sudo service alfred-lux start&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Nun testen ob alles wie gewünscht funktioniert und erst nach einem erfolgreichen Test die nun nicht mehr benötigten Daten löschen.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rm /etc/default/alfred&lt;br /&gt;
sudo rm /etc/init.d/alfred.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== batadv-vis ====&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=== Master Konfiguration ===&lt;br /&gt;
Benötigte Komponenten:&lt;br /&gt;
* Alfred&lt;br /&gt;
* Alfred-JSON&lt;br /&gt;
* Batman&lt;br /&gt;
&lt;br /&gt;
==== Alfred Konfiguration ====&lt;br /&gt;
Alfred muss auf auf dem Slave lediglich auf den MASTER=1 gesetzt werden und das Interface, sowie Batman muss angegeben sein. Für Details siehe [[#Alfred_Konfiguration | Slave Konfiguration -&amp;gt; Alfred Konfigurieren ]]&lt;br /&gt;
&#039;&#039;&#039;Achtung: Da auf dem Master aktuell nur ein Batman device läuft, ist hier aktuell kein alfred-lux gestartet, aber vorkonfiguriert&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Knotendateigenerierung ====&lt;br /&gt;
* Benötigt auch alias config&lt;br /&gt;
* bat2nodes für Kartengenerierung mit mkmap Skript. Checkout newest Version from https://github.com/freifunk-saar/ffmap-backend -&amp;gt; done.&lt;br /&gt;
* Cron Eintrag vom mkmap Skript&lt;br /&gt;
&lt;br /&gt;
==== Alias Konfiguration ====&lt;br /&gt;
Da wir uns für die manuelle Konfiguration des Announcement der Gateway Informationen entschieden haben ist eine Anpassung der Alias Datei für jede neue Gateway erforderlich.&lt;br /&gt;
Die Dateien &amp;lt;code&amp;gt;aliases_saar.json&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;aliases_lux.json&amp;lt;/code&amp;gt; befindet sich im bat2nodes Verzeichnis und beinhaltet für jede Gateway einen Alias Eintrag.&lt;br /&gt;
&lt;br /&gt;
Beipiel:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
   &amp;quot;&amp;lt;KENNUNG&amp;gt;1&amp;quot; : {&lt;br /&gt;
      &amp;quot;name&amp;quot; : &amp;quot;gw1.saar.freifunk.net&amp;quot;,&lt;br /&gt;
      &amp;quot;vpn&amp;quot; : true&lt;br /&gt;
   },&lt;br /&gt;
   &amp;quot;&amp;lt;KENNUNG&amp;gt;2&amp;quot; : {&lt;br /&gt;
      &amp;quot;name&amp;quot; : &amp;quot;gw2.saar.freifunk.net&amp;quot;,&lt;br /&gt;
      &amp;quot;vpn&amp;quot; : true&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== batadv-vis ====&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=== alfed-json ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== To be continued... ==&lt;br /&gt;
* DNSmasq statt radvd, bind, isc-dhcp-server&lt;br /&gt;
* iptables NAT&lt;/div&gt;</summary>
		<author><name>Tobi042</name></author>
	</entry>
	<entry>
		<id>https://wiki.hacksaar.de/index.php?title=Freifunk:Mesh-VPN_Gateway-Server_einrichten&amp;diff=1929</id>
		<title>Freifunk:Mesh-VPN Gateway-Server einrichten</title>
		<link rel="alternate" type="text/html" href="https://wiki.hacksaar.de/index.php?title=Freifunk:Mesh-VPN_Gateway-Server_einrichten&amp;diff=1929"/>
		<updated>2015-03-25T18:57:36Z</updated>

		<summary type="html">&lt;p&gt;Tobi042: /* DNS, DHCP und RA-Server dnsmasq */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Unsere Gateways laufen auf Debian 7 Wheezy. Diese Anleitungen orientieren sich an anderen Freifunk-Communities, aber einen sehr nennenswerten Einfluss hat die geniale Dokumentation von Freifunk Mainz, Wiesbaden und Umgebung (http://gluon-gateway-doku.readthedocs.org/de/latest/) gehabt.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
Größtenteils egal, wichtig ist folgendes: Root bekommt kein Passwort, dadurch wird der Root-Login gesperrt und man muss sudo benutzen. Als zu installierende Paketgruppen nutzen wir Debian-Standardutilities und SSH-Server.&lt;br /&gt;
&lt;br /&gt;
== SSH einrichten ==&lt;br /&gt;
&lt;br /&gt;
* Einloggen: &lt;br /&gt;
*: &amp;lt;code&amp;gt;ssh user@gwX.saar.freifunk.de&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;mkdir .ssh&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;echo &amp;quot;dein_ssh_key&amp;quot; &amp;gt; .ssh/authorized_keys&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;nano /etc/ssh/sshd_config&amp;lt;/code&amp;gt;&lt;br /&gt;
*: Folgende Änderungen vornehmen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;...&lt;br /&gt;
PermitRootLogin no&lt;br /&gt;
...&lt;br /&gt;
PasswordAuthentication no&lt;br /&gt;
...&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Alte Session aktiv lassen, in neuem Terminal versuchen mit Public Key einzuloggen. Wenn nicht erfolgreich debuggen.&lt;br /&gt;
* &amp;lt;code&amp;gt;sudo service ssh restart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Überflüssige Pakete deinstallieren ==&lt;br /&gt;
&lt;br /&gt;
Da wir eben etwas großzügig waren mit der Installation von Paketgruppen müssen wir jetzt exim und nfs-Kram deinstallieren:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;sudo apt-get remove exim4* nfs-common rpcbind&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Als Resultat sollte bei Ausführung von &amp;quot;sudo netstat -tulpn&amp;quot; keine Programme außer sshd und vielleicht dhclient angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
== APT Sources hinzufügen ==&lt;br /&gt;
&lt;br /&gt;
Wir benötigen die Sources für fastd und batman-adv:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;nano /etc/apt/sources.list&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 deb http://security.debian.org/ wheezy/updates main contrib non-free&lt;br /&gt;
 deb-src http://security.debian.org/ wheezy/updates main contrib non-free&lt;br /&gt;
  &lt;br /&gt;
 # fastd&lt;br /&gt;
 deb http://ftp.de.debian.org/debian wheezy-backports main&lt;br /&gt;
 deb http://repo.universe-factory.net/debian/ sid main&lt;br /&gt;
&lt;br /&gt;
 # alfred&lt;br /&gt;
 deb http://debian.draic.info/ wheezy main&lt;br /&gt;
 deb-src http://debian.draic.info/ wheezy main&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Schlüssel für repo importieren: &lt;br /&gt;
* &amp;lt;code&amp;gt;gpg --keyserver pgpkeys.mit.edu --recv-key  B89033D8&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;gpg -a --export B89033D8 | apt-key add -&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;gpg --keyserver pgpkeys.mit.edu --recv-key  16EF3F64CB201D9C&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;gpg -a --export 16EF3F64CB201D9C | apt-key add -&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pakete installieren ==&lt;br /&gt;
* &amp;lt;code&amp;gt;apt-get update&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;apt-get install batctl batman-adv-dkms fastd bridge-utils&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;echo &amp;quot;batman-adv&amp;quot; &amp;gt;&amp;gt; /etc/modules&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Netzwerk Grundkonfiguration ==&lt;br /&gt;
=== Sysctl Einstellungen ===&lt;br /&gt;
* /etc/sysctl.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Freifunk specific settings&lt;br /&gt;
net.ipv4.ip_forward=1&lt;br /&gt;
&lt;br /&gt;
net.bridge.bridge-nf-call-arptables = 0&lt;br /&gt;
net.bridge.bridge-nf-call-ip6tables = 0&lt;br /&gt;
net.bridge.bridge-nf-call-iptables = 0&lt;br /&gt;
&lt;br /&gt;
net.ipv6.conf.all.forwarding=1&lt;br /&gt;
&lt;br /&gt;
net.ipv6.conf.all.autoconf = 0&lt;br /&gt;
net.ipv6.conf.default.autoconf = 0&lt;br /&gt;
net.ipv6.conf.eth0.autoconf = 0&lt;br /&gt;
&lt;br /&gt;
net.ipv6.conf.all.accept_ra = 0&lt;br /&gt;
net.ipv6.conf.default.accept_ra = 0&lt;br /&gt;
net.ipv6.conf.eth0.accept_ra = 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Danach neu laden: &amp;lt;code&amp;gt;sysctl -p /etc/sysctl.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Routing Tables erstellen ===&lt;br /&gt;
* /etc/iproute2/rt_tables (bisherige Einstellungen beibehalten und folgende hinzufügen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# freifunk&lt;br /&gt;
32      saar&lt;br /&gt;
33      lux&lt;br /&gt;
42      icvpn&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Netzwerkinterafaces einstellen ===&lt;br /&gt;
* /etc/network/interfaces (andere Interfaces nach der entsprechenden Konfiguration belassen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# FREIFUNK SAAR&lt;br /&gt;
#&lt;br /&gt;
auto saarBR&lt;br /&gt;
iface saarBR inet static&lt;br /&gt;
    bridge_ports none&lt;br /&gt;
    bridge_fd 0&lt;br /&gt;
    bridge_maxwait 0&lt;br /&gt;
    address 10.24.192.XXX&lt;br /&gt;
    netmask 255.255.192.0&lt;br /&gt;
    # be sure all incoming traffic is handled by the appropriate rt_table&lt;br /&gt;
    post-up         /sbin/ip rule add iif $IFACE table saar priority 3200&lt;br /&gt;
    pre-down        /sbin/ip rule del iif $IFACE table saar priority 3200&lt;br /&gt;
    # default route is unreachable&lt;br /&gt;
    post-up         /sbin/ip route add unreachable default table saar&lt;br /&gt;
    post-down       /sbin/ip route del unreachable default table saar&lt;br /&gt;
    # local reachable subnet saar for rt_table lux&lt;br /&gt;
    post-up         /sbin/ip route add 10.24.128.0/18 proto static dev $IFACE table lux&lt;br /&gt;
    post-down       /sbin/ip route del 10.24.128.0/18 proto static dev $IFACE table lux&lt;br /&gt;
&lt;br /&gt;
iface saarBR inet6 static&lt;br /&gt;
    address fd4e:f2d7:88d2:ffff::XXX&lt;br /&gt;
    netmask 64&lt;br /&gt;
    # be sure all incoming traffic is handled by the appropriate rt_table&lt;br /&gt;
    post-up         /sbin/ip -6 rule add iif $IFACE table saar priority 3200&lt;br /&gt;
    pre-down        /sbin/ip -6 rule del iif $IFACE table saar priority 3200&lt;br /&gt;
    post-up         /sbin/ip -6 route add fe80::/64 proto static dev $IFACE table saar&lt;br /&gt;
    post-down       /sbin/ip -6 route del fe80::/64 proto static dev $IFACE table saar&lt;br /&gt;
    post-up         /sbin/ip -6 route add fd4e:f2d7:88d2:ffff::/64 proto static dev $IFACE table saar&lt;br /&gt;
    post-down       /sbin/ip -6 route del fd4e:f2d7:88d2:ffff::/64 proto static dev $IFACE table saar&lt;br /&gt;
    # ULA route mz for rt_table saar&lt;br /&gt;
    post-up         /sbin/ip -6 route add fd4e:f2d7:88d2:fffe::/64 proto static dev $IFACE table lux&lt;br /&gt;
    post-down       /sbin/ip -6 route del fd4e:f2d7:88d2:fffe::/64 proto static dev $IFACE table lux&lt;br /&gt;
&lt;br /&gt;
allow-hotplug saarMESH&lt;br /&gt;
iface saarMESH inet6 manual&lt;br /&gt;
    pre-up          /sbin/modprobe batman_adv&lt;br /&gt;
    post-up         /usr/sbin/batctl -m saarBAT if add $IFACE&lt;br /&gt;
    post-up         /sbin/ip link set dev saarBAT up&lt;br /&gt;
&lt;br /&gt;
allow-hotplug saarBAT&lt;br /&gt;
iface saarBAT inet6 manual&lt;br /&gt;
    pre-up          /sbin/modprobe batman-adv&lt;br /&gt;
    post-up         /sbin/brctl addif saarBR $IFACE&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE it 10000&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE vm server&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE gw server  6mbit/6mbit&lt;br /&gt;
    pre-down        /sbin/brctl delif saarBR $IFACE || true&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# FREIFUNK LUX &lt;br /&gt;
#&lt;br /&gt;
auto luxBR&lt;br /&gt;
iface luxBR inet static&lt;br /&gt;
    bridge_ports none&lt;br /&gt;
    bridge_fd 0&lt;br /&gt;
    bridge_maxwait 0&lt;br /&gt;
    address 10.24.128.XXX&lt;br /&gt;
    netmask 255.255.192.0&lt;br /&gt;
    # be sure all incoming traffic is handled by the appropriate rt_table&lt;br /&gt;
    post-up         /sbin/ip rule add iif $IFACE table lux priority 3300&lt;br /&gt;
    pre-down        /sbin/ip rule del iif $IFACE table lux priority 3300&lt;br /&gt;
    # default route is unreachable&lt;br /&gt;
    post-up         /sbin/ip route add unreachable default table lux &lt;br /&gt;
    post-down       /sbin/ip route del unreachable default table lux &lt;br /&gt;
    # local reachable subnet lux for rt_table saar&lt;br /&gt;
    post-up         /sbin/ip route add 10.24.192.0/18 proto static dev $IFACE table saar&lt;br /&gt;
    post-down       /sbin/ip route del 10.24.192.0/18 proto static dev $IFACE table saar&lt;br /&gt;
&lt;br /&gt;
iface luxBR inet6 static&lt;br /&gt;
    address fd4e:f2d7:88d2:fffe::XXX&lt;br /&gt;
    netmask 64&lt;br /&gt;
    # be sure all incoming traffic is handled by the appropriate rt_table&lt;br /&gt;
    post-up         /sbin/ip -6 rule add iif $IFACE table lux priority 3300&lt;br /&gt;
    pre-down        /sbin/ip -6 rule del iif $IFACE table lux priority 3300&lt;br /&gt;
    post-up         /sbin/ip -6 route add fe80::/64 proto static dev $IFACE table lux &lt;br /&gt;
    post-down       /sbin/ip -6 route del fe80::/64 proto static dev $IFACE table lux &lt;br /&gt;
    post-up         /sbin/ip -6 route add fd4e:f2d7:88d2:fffe::/64 proto static dev $IFACE table lux&lt;br /&gt;
    post-down       /sbin/ip -6 route del fd4e:f2d7:88d2:fffe::/64 proto static dev $IFACE table lux&lt;br /&gt;
    # ULA route saar for rt_table lux&lt;br /&gt;
    post-up         /sbin/ip -6 route add fd4e:f2d7:88d2:ffff::/64 proto static dev $IFACE table saar&lt;br /&gt;
    post-down       /sbin/ip -6 route del fd4e:f2d7:88d2:ffff::/64 proto static dev $IFACE table saar&lt;br /&gt;
&lt;br /&gt;
allow-hotplug luxMESH&lt;br /&gt;
iface luxMESH inet6 manual&lt;br /&gt;
    pre-up          /sbin/modprobe batman_adv&lt;br /&gt;
    post-up         /usr/sbin/batctl -m luxBAT if add $IFACE&lt;br /&gt;
    post-up         /sbin/ip link set dev luxBAT up&lt;br /&gt;
&lt;br /&gt;
allow-hotplug luxBAT&lt;br /&gt;
iface luxBAT inet6 manual&lt;br /&gt;
    pre-up          /sbin/modprobe batman-adv&lt;br /&gt;
    post-up         /sbin/brctl addif luxBR $IFACE&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE it 10000&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE vm server&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE gw server  6mbit/6mbit&lt;br /&gt;
    pre-down        /sbin/brctl delif luxBR $IFACE || true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Jedes Vorkommnis von XXX durch einen entsprechenden Wert aus dem Netzplan ersetzen, im Zweifel TobiT fragen&lt;br /&gt;
&lt;br /&gt;
== Helfer-Skripte ==&lt;br /&gt;
Es gibt 2 Helferskripte, die eingerichtet werden müssen. check_gateway.sh prüft minütlich, ob das ExitVPN noch steht. autoupdate_fastd_peers updatet die fastd-peers alle 5 Minuten per git.&lt;br /&gt;
=== check_gateway.sh ===&lt;br /&gt;
* /usr/bin/check_gateway.sh:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@gw2:/etc/fastd/freifunk-lux# less /usr/bin/check_gateway.sh&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
INTERFACE=tun0          # Set to name of VPN interface&lt;br /&gt;
DHCPSERVICE=dnsmasq     # Name of DHCP service&lt;br /&gt;
BANDWIDTH=XXX           # Server bandwidth&lt;br /&gt;
shopt -s nullglob&lt;br /&gt;
&lt;br /&gt;
# Test whether gateway is connected to the outer world via VPN&lt;br /&gt;
ping -q -I $INTERFACE 8.8.8.8 -c 4 -i 1 -W 5 &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
if test $? -eq 0; then&lt;br /&gt;
    NEW_STATE=server&lt;br /&gt;
else&lt;br /&gt;
    NEW_STATE=off&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Iterate through network interfaces in sys file system&lt;br /&gt;
for MESH in /sys/class/net/*/mesh; do&lt;br /&gt;
# Check whether gateway modus needs to be changed&lt;br /&gt;
OLD_STATE=&amp;quot;$(cat $MESH/gw_mode)&amp;quot;&lt;br /&gt;
[ &amp;quot;$OLD_STATE&amp;quot; == &amp;quot;$NEW_STATE&amp;quot; ] &amp;amp;&amp;amp; continue&lt;br /&gt;
    echo $NEW_STATE &amp;gt; $MESH/gw_mode&lt;br /&gt;
    echo ${BANDWIDTH}MBit/${BANDWIDTH}MBit &amp;gt; $MESH/gw_bandwidth&lt;br /&gt;
    logger &amp;quot;batman gateway mode changed to $NEW_STATE&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    # Check whether gateway modus has been deactivated&lt;br /&gt;
    if [ &amp;quot;$NEW_STATE&amp;quot; == &amp;quot;off&amp;quot; ]; then&lt;br /&gt;
        # Shutdown DHCP server to prevent renewal of leases&lt;br /&gt;
        /usr/sbin/service $DHCPSERVICE stop&lt;br /&gt;
    fi&lt;br /&gt;
&lt;br /&gt;
    # Check whether gateway modus has been activated&lt;br /&gt;
    if [ &amp;quot;$NEW_STATE&amp;quot; == &amp;quot;server&amp;quot; ]; then&lt;br /&gt;
        # Restart DHCP server&lt;br /&gt;
        /usr/sbin/service $DHCPSERVICE start&lt;br /&gt;
    fi&lt;br /&gt;
    exit 0&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
if [ &amp;quot;$NEW_STATE&amp;quot; == &amp;quot;server&amp;quot; ]; then&lt;br /&gt;
    /usr/sbin/service $DHCPSERVICE status 2&amp;gt;&amp;amp;1&amp;gt; /dev/null&lt;br /&gt;
    if [[ $? -ne 0 ]]&lt;br /&gt;
    then&lt;br /&gt;
        /usr/sbin/service $DHCPSERVICE restart&lt;br /&gt;
    fi&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$NEW_STATE&amp;quot; == &amp;quot;off&amp;quot; ]; then&lt;br /&gt;
    /usr/sbin/service $DHCPSERVICE status 2&amp;gt;&amp;amp;1&amp;gt; /dev/null&lt;br /&gt;
    if [[ $? -eq 0 ]]&lt;br /&gt;
    then&lt;br /&gt;
        /usr/sbin/service $DHCPSERVICE stop&lt;br /&gt;
    fi&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Ganz oben bei BANDWIDTH die Serverbandbreite in MBit/s einstellen, damit diese ordentlich via Batman announced werden kann.&lt;br /&gt;
* Speichern und mit &amp;lt;code&amp;gt;chmod +x /usr/bin/check_gateway.sh&amp;lt;/code&amp;gt; ausführbar machen&lt;br /&gt;
=== autoupdate_fastd_keys.sh ===&lt;br /&gt;
* /usr/bin/autoupate_fastd_keys.sh:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# Simple script to update fastd peers from git upstream&lt;br /&gt;
# and only send HUP to fastd when changes happend.&lt;br /&gt;
&lt;br /&gt;
# CONFIGURE THIS TO YOUR PEER DIRECTORY&lt;br /&gt;
FASTD_PEERS_ARRAY=( &amp;quot;freifunk-saar&amp;quot; &amp;quot;freifunk-lux&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
function getCurrentVersion() {&lt;br /&gt;
 # Get hash from latest revision&lt;br /&gt;
 git log --format=format:%H -1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
for FASTD_PEERS in &amp;quot;${FASTD_PEERS_ARRAY[@]}&amp;quot;&lt;br /&gt;
do&lt;br /&gt;
cd /etc/fastd/$FASTD_PEERS/peers&lt;br /&gt;
&lt;br /&gt;
# Get current version hash&lt;br /&gt;
GIT_REVISION=$(getCurrentVersion)&lt;br /&gt;
&lt;br /&gt;
# Automagically commit local changes&lt;br /&gt;
# This preserves local changes&lt;br /&gt;
git commit -m &amp;quot;CRON: auto commit&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Pull latest changes from upstream&lt;br /&gt;
git fetch&lt;br /&gt;
git merge origin/master -m &amp;quot;Auto Merge&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Get new version hash&lt;br /&gt;
GIT_NEW_REVISION=$(getCurrentVersion)&lt;br /&gt;
&lt;br /&gt;
if [ $GIT_REVISION != $GIT_NEW_REVISION ]&lt;br /&gt;
then&lt;br /&gt;
 # Version has changed we need to update&lt;br /&gt;
 echo &amp;quot;Reload fastd peers&amp;quot;&lt;br /&gt;
 kill -HUP $(cat /var/run/fastd.$FASTD_PEERS.pid)&lt;br /&gt;
fi&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Auch dieses Skript ausführbar machen: &amp;lt;code&amp;gt;chmod +x /usr/bin/autoupdate_fastd_keys.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
=== Skripte in crontab eintragen ===&lt;br /&gt;
* In &amp;lt;code&amp;gt;sudo crontab -e&amp;lt;/code&amp;gt; folgende Zeilen anhängen&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*/5 * * * *   /usr/bin/autoupdate_fastd_keys.sh &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
* * * * *   /usr/bin/check_gateway.sh &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Fastd-Config ==&lt;br /&gt;
* &amp;lt;code&amp;gt;mkdir /etc/fastd/freifunk-{saar,lux}/&amp;lt;/code&amp;gt;&lt;br /&gt;
* Config-Dateien anlegen und entsprechenden Inhalt reinkopieren:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
log level warn;&lt;br /&gt;
hide ip addresses yes;&lt;br /&gt;
hide mac addresses yes;&lt;br /&gt;
&lt;br /&gt;
interface &amp;quot;xxxxMESH&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
method &amp;quot;salsa2012+umac&amp;quot;;    # new method (faster)&lt;br /&gt;
method &amp;quot;salsa2012+gmac&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
bind any:10000 interface &amp;quot;eth0&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
include &amp;quot;secret.conf&amp;quot;;&lt;br /&gt;
mtu 1426; # 1492 - IPv4/IPv6 Header - fastd Header...&lt;br /&gt;
&lt;br /&gt;
include peers from &amp;quot;peers&amp;quot;;&lt;br /&gt;
include peers from &amp;quot;peers-gw&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
secure handshakes yes;&lt;br /&gt;
&lt;br /&gt;
on up &amp;quot;&lt;br /&gt;
ip link set dev xxxxMESH address ca:fe:ba:be:00:0X&lt;br /&gt;
ip link set dev xxxxMESH up&lt;br /&gt;
&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Secret Keys aus den Repos besorgen und in secret.conf schreiben&lt;br /&gt;
* Neuen SSH-Key anlegen, als Deploy Key in die Gitlab-Projekte https://git.hacksaar.de/FreifunkSaar/mesh-vpn-peers und https://git.hacksaar.de/FreifunkSaar/mesh-vpn-peers-lux eintragen.&lt;br /&gt;
* Mesh-VPN-Peers-Verzeichnis als &amp;quot;peers&amp;quot; klonen: &amp;lt;code&amp;gt;git clone git@hacksaar.de:FreifunkSaar/mesh-vpn-peers.git peers&amp;lt;/code&amp;gt; bzw &amp;lt;code&amp;gt;git clone git@hacksaar.de:FreifunkSaar/mesh-vpn-peers-lux.git peers&amp;lt;/code&amp;gt; jeweils im entsprechende Verzeichnis&lt;br /&gt;
* Feuer!: &amp;lt;code&amp;gt;sudo service fastd start&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DNS, DHCP und RA-Server dnsmasq ==&lt;br /&gt;
* Installieren: &amp;lt;code&amp;gt;apt-get install dnsmasq&amp;lt;/code&amp;gt;&lt;br /&gt;
* /etc/dnsmasq.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bogus-priv&lt;br /&gt;
no-resolv&lt;br /&gt;
no-poll&lt;br /&gt;
&lt;br /&gt;
server=8.8.8.8&lt;br /&gt;
server=8.8.4.4&lt;br /&gt;
&lt;br /&gt;
read-ethers&lt;br /&gt;
expand-hosts&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* /etc/dnsmasq.d/ffsaar&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local=/ffsaar/&lt;br /&gt;
interface=saarBR&lt;br /&gt;
domain=ffsaar&lt;br /&gt;
&lt;br /&gt;
dhcp-range=10.24.XXX.1,10.24.XXX.254,180&lt;br /&gt;
dhcp-range=fd4e:f2d7:88d2:ffff::,64,180,ra-names&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* /etc/dnsmasq.d/fflux&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local=/fflux/&lt;br /&gt;
interface=luxBR&lt;br /&gt;
domain=fflux&lt;br /&gt;
&lt;br /&gt;
dhcp-range=10.24.XXX.1,10.24.XXX.254,180&lt;br /&gt;
dhcp-range=fd4e:f2d7:88d2:fffe::,64,180,ra-names&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* /etc/hosts&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== isc-dhcp-server (in Zukunft mal umzustellen) ===&lt;br /&gt;
* /etc/dhcp/dhcpd.conf: (Komplett ersetzen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ddns-update-style none;&lt;br /&gt;
default-lease-time 300;&lt;br /&gt;
max-lease-time 300;&lt;br /&gt;
authoritative;&lt;br /&gt;
&lt;br /&gt;
log-facility local6;&lt;br /&gt;
&lt;br /&gt;
subnet 10.24.192.0 netmask 255.255.192.0 {&lt;br /&gt;
        range 10.24.XXX.0 10.24.XXX+3.255;&lt;br /&gt;
        option routers 10.24.192.ZZZ;&lt;br /&gt;
        option domain-name-servers 10.24.192.2, 10.24.192.3, 10.24.192.4;&lt;br /&gt;
        option domain-search &amp;quot;ffsaar&amp;quot;;&lt;br /&gt;
        option ntp-servers 10.24.192.2, 10.24.192.3, 10.24.192.4;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
subnet 10.24.128.0 netmask 255.255.192.0 {&lt;br /&gt;
        range 10.24.YYY.0 10.24.YYY+3.255;&lt;br /&gt;
        option routers 10.24.128.ZZZ;&lt;br /&gt;
        option domain-name-servers 10.24.128.2, 10.24.128.3, 10.24.128.4;&lt;br /&gt;
        option domain-search &amp;quot;fflux&amp;quot;;&lt;br /&gt;
        option ntp-servers 10.24.128.2, 10.24.128.3, 10.24.128.4;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* XXX, XXX+3, YYY, YYY+3, ZZZ durch richtige Werte ersetzen&lt;br /&gt;
* /etc/default/isc-dhcp-server (Zeile INTERFACES ersetzen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
INTERFACES=&amp;quot;saarBR luxBR&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Neu starten: &amp;lt;code&amp;gt;service isc-dhcp-server restart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Knoteninformationen (Alfred...) ==&lt;br /&gt;
&#039;&#039;&#039;Dieser Punkt befindet sich aktuell in der Erstellung und wird später noch auf die anderen Kapitel aufgeteilt --[[Benutzer:Rugosh|Rugosh]] ([[Benutzer Diskussion:Rugosh|Diskussion]]) 16:38, 22. Feb. 2015 (CET)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Alfred wird auf den Gateways benötigt um die Knoteninformationen zu sammeln und aus diesen Informationen eine Knotendatei unter anderem für die Freifunkkarte bauen zu können.&lt;br /&gt;
Der Server, auf welchem die Knotendatei generiert wird ist hier logisch gesehen der Master die anderen Systeme sind als Slave zu konfigurieren.&lt;br /&gt;
&lt;br /&gt;
Da wir auf unseren Gateways sowohl Saar las auch Lux Freifunk betreiben benötigen wir auch eine Doppelkonfiguration der Knotenerstellung. Dies betrifft sowohl Alfred als auch den Punkt, dass der Master für mehrere Communities Kartendaten erstellen können muss.&lt;br /&gt;
&lt;br /&gt;
=== Slave Konfiguration ===&lt;br /&gt;
Benötigte Komponenten:&lt;br /&gt;
* Alfred&lt;br /&gt;
* Batman&lt;br /&gt;
&lt;br /&gt;
==== Alfred Konfiguration ====&lt;br /&gt;
Wir benötigen zuerst einmal zwei Alfred daemons:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo service alfred stop&lt;br /&gt;
sudo cp /etc/default/alfred /etc/default/alfred-saar&lt;br /&gt;
sudo cp /etc/default/alfred /etc/default/alfred-lux&lt;br /&gt;
sudo cp /etc/init.d/alfred /etc/init.d/alfred-saar&lt;br /&gt;
sudo cp /etc/init.d/alfred /etc/init.d/alfred-lux&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Alfred muss auf auf dem Slave lediglich auf den MASTER=0 gesetzt werden und das Interface, sowie Batman muss angegeben sein. Die Konfiguration findet in der Konfigurationsdatei &amp;lt;code&amp;gt;/etc/default/alfred-XXX&amp;lt;/code&amp;gt; wie folgt statt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# /etc/default/alfred-saar&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
# Additional command line options&lt;br /&gt;
DAEMON_OPTS=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Enable master mode (0/1)&lt;br /&gt;
MASTER=0&lt;br /&gt;
&lt;br /&gt;
# Interface for A.L.F.R.E.D. to listen on. Has to be specified.&lt;br /&gt;
INTERFACE=br-ff&lt;br /&gt;
&lt;br /&gt;
# Specify the batman-adv interface configured on the system (default: bat0).&lt;br /&gt;
# Use &#039;none&#039; to disable the batman-adv based best server selection.&lt;br /&gt;
BATMANIF=saarBAT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# /etc/default/alfred-lux&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
# Additional command line options&lt;br /&gt;
DAEMON_OPTS=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Enable master mode (0/1)&lt;br /&gt;
MASTER=0&lt;br /&gt;
&lt;br /&gt;
# Interface for A.L.F.R.E.D. to listen on. Has to be specified.&lt;br /&gt;
INTERFACE=luxBR&lt;br /&gt;
&lt;br /&gt;
# Specify the batman-adv interface configured on the system (default: bat0).&lt;br /&gt;
# Use &#039;none&#039; to disable the batman-adv based best server selection.&lt;br /&gt;
BATMANIF=luxBAT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Anpassen der init.d Dateien für die Alfreds...&lt;br /&gt;
&#039;&#039;&#039;Nachfolgende Configs erzeugen noch keinen eigenständigen Alfed Socket...&#039;&#039;&#039; Leider muss damit die Alfreds eigene Sockets haben anscheinend alfred selbst mit anderen werten kompaliert werden https://github.com/tcatm/alfred/blob/master/alfred.h oder hier muss eine andere (bessere) Lösung gefunden werden. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Ausschnitt der anzupassenden Datei /etc/init.d/alfred-saar&lt;br /&gt;
&lt;br /&gt;
DESC=&amp;quot;A.L.F.R.E.D -&amp;gt; Saar&amp;quot;&lt;br /&gt;
NAME=alfred&lt;br /&gt;
NAME2=alfred-saar&lt;br /&gt;
DAEMON=/usr/sbin/$NAME&lt;br /&gt;
PIDFILE=/var/run/$NAME2.pid&lt;br /&gt;
SCRIPTNAME=/etc/init.d/$NAME2&lt;br /&gt;
GROUP=alfred &lt;br /&gt;
OPTIONS=&amp;quot;&amp;quot;&lt;br /&gt;
UMASK=0117&lt;br /&gt;
&lt;br /&gt;
[ -x &amp;quot;$DAEMON&amp;quot; ] || exit 0&lt;br /&gt;
&lt;br /&gt;
# Source defaults.&lt;br /&gt;
[ -r /etc/default/$NAME2 ] &amp;amp;&amp;amp; . /etc/default/$NAME2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Ausschnitt der anzupassenden Datei /etc/init.d/alfred-lux&lt;br /&gt;
&lt;br /&gt;
DESC=&amp;quot;A.L.F.R.E.D -&amp;gt; Lux&amp;quot;&lt;br /&gt;
NAME=alfred-lux&lt;br /&gt;
DAEMON=/usr/sbin/$NAME&lt;br /&gt;
PIDFILE=/var/run/$NAME2.pid&lt;br /&gt;
SCRIPTNAME=/etc/init.d/$NAME2&lt;br /&gt;
GROUP=alfred&lt;br /&gt;
OPTIONS=&amp;quot;&amp;quot;&lt;br /&gt;
UMASK=0117&lt;br /&gt;
&lt;br /&gt;
[ -x &amp;quot;$DAEMON&amp;quot; ] || exit 0&lt;br /&gt;
&lt;br /&gt;
# Source defaults.&lt;br /&gt;
[ -r /etc/default/$NAME2 ] &amp;amp;&amp;amp; . /etc/default/$NAME2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Starten der neuen Alfreds&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo service alfred-saar start&lt;br /&gt;
sudo service alfred-lux start&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Nun testen ob alles wie gewünscht funktioniert und erst nach einem erfolgreichen Test die nun nicht mehr benötigten Daten löschen.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rm /etc/default/alfred&lt;br /&gt;
sudo rm /etc/init.d/alfred.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== batadv-vis ====&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=== Master Konfiguration ===&lt;br /&gt;
Benötigte Komponenten:&lt;br /&gt;
* Alfred&lt;br /&gt;
* Alfred-JSON&lt;br /&gt;
* Batman&lt;br /&gt;
&lt;br /&gt;
==== Alfred Konfiguration ====&lt;br /&gt;
Alfred muss auf auf dem Slave lediglich auf den MASTER=1 gesetzt werden und das Interface, sowie Batman muss angegeben sein. Für Details siehe [[#Alfred_Konfiguration | Slave Konfiguration -&amp;gt; Alfred Konfigurieren ]]&lt;br /&gt;
&#039;&#039;&#039;Achtung: Da auf dem Master aktuell nur ein Batman device läuft, ist hier aktuell kein alfred-lux gestartet, aber vorkonfiguriert&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Knotendateigenerierung ====&lt;br /&gt;
* Benötigt auch alias config&lt;br /&gt;
* bat2nodes für Kartengenerierung mit mkmap Skript. Checkout newest Version from https://github.com/freifunk-saar/ffmap-backend -&amp;gt; done.&lt;br /&gt;
* Cron Eintrag vom mkmap Skript&lt;br /&gt;
&lt;br /&gt;
==== Alias Konfiguration ====&lt;br /&gt;
Da wir uns für die manuelle Konfiguration des Announcement der Gateway Informationen entschieden haben ist eine Anpassung der Alias Datei für jede neue Gateway erforderlich.&lt;br /&gt;
Die Dateien &amp;lt;code&amp;gt;aliases_saar.json&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;aliases_lux.json&amp;lt;/code&amp;gt; befindet sich im bat2nodes Verzeichnis und beinhaltet für jede Gateway einen Alias Eintrag.&lt;br /&gt;
&lt;br /&gt;
Beipiel:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
   &amp;quot;&amp;lt;KENNUNG&amp;gt;1&amp;quot; : {&lt;br /&gt;
      &amp;quot;name&amp;quot; : &amp;quot;gw1.saar.freifunk.net&amp;quot;,&lt;br /&gt;
      &amp;quot;vpn&amp;quot; : true&lt;br /&gt;
   },&lt;br /&gt;
   &amp;quot;&amp;lt;KENNUNG&amp;gt;2&amp;quot; : {&lt;br /&gt;
      &amp;quot;name&amp;quot; : &amp;quot;gw2.saar.freifunk.net&amp;quot;,&lt;br /&gt;
      &amp;quot;vpn&amp;quot; : true&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== batadv-vis ====&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=== alfed-json ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== To be continued... ==&lt;br /&gt;
* DNSmasq statt radvd, bind, isc-dhcp-server&lt;br /&gt;
* iptables NAT&lt;/div&gt;</summary>
		<author><name>Tobi042</name></author>
	</entry>
	<entry>
		<id>https://wiki.hacksaar.de/index.php?title=Freifunk:Mesh-VPN_Gateway-Server_einrichten&amp;diff=1928</id>
		<title>Freifunk:Mesh-VPN Gateway-Server einrichten</title>
		<link rel="alternate" type="text/html" href="https://wiki.hacksaar.de/index.php?title=Freifunk:Mesh-VPN_Gateway-Server_einrichten&amp;diff=1928"/>
		<updated>2015-03-25T18:55:09Z</updated>

		<summary type="html">&lt;p&gt;Tobi042: /* DNS, DHCP und RA-Server */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Unsere Gateways laufen auf Debian 7 Wheezy. Diese Anleitungen orientieren sich an anderen Freifunk-Communities, aber einen sehr nennenswerten Einfluss hat die geniale Dokumentation von Freifunk Mainz, Wiesbaden und Umgebung (http://gluon-gateway-doku.readthedocs.org/de/latest/) gehabt.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
Größtenteils egal, wichtig ist folgendes: Root bekommt kein Passwort, dadurch wird der Root-Login gesperrt und man muss sudo benutzen. Als zu installierende Paketgruppen nutzen wir Debian-Standardutilities und SSH-Server.&lt;br /&gt;
&lt;br /&gt;
== SSH einrichten ==&lt;br /&gt;
&lt;br /&gt;
* Einloggen: &lt;br /&gt;
*: &amp;lt;code&amp;gt;ssh user@gwX.saar.freifunk.de&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;mkdir .ssh&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;echo &amp;quot;dein_ssh_key&amp;quot; &amp;gt; .ssh/authorized_keys&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;nano /etc/ssh/sshd_config&amp;lt;/code&amp;gt;&lt;br /&gt;
*: Folgende Änderungen vornehmen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;...&lt;br /&gt;
PermitRootLogin no&lt;br /&gt;
...&lt;br /&gt;
PasswordAuthentication no&lt;br /&gt;
...&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Alte Session aktiv lassen, in neuem Terminal versuchen mit Public Key einzuloggen. Wenn nicht erfolgreich debuggen.&lt;br /&gt;
* &amp;lt;code&amp;gt;sudo service ssh restart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Überflüssige Pakete deinstallieren ==&lt;br /&gt;
&lt;br /&gt;
Da wir eben etwas großzügig waren mit der Installation von Paketgruppen müssen wir jetzt exim und nfs-Kram deinstallieren:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;sudo apt-get remove exim4* nfs-common rpcbind&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Als Resultat sollte bei Ausführung von &amp;quot;sudo netstat -tulpn&amp;quot; keine Programme außer sshd und vielleicht dhclient angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
== APT Sources hinzufügen ==&lt;br /&gt;
&lt;br /&gt;
Wir benötigen die Sources für fastd und batman-adv:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;nano /etc/apt/sources.list&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 deb http://security.debian.org/ wheezy/updates main contrib non-free&lt;br /&gt;
 deb-src http://security.debian.org/ wheezy/updates main contrib non-free&lt;br /&gt;
  &lt;br /&gt;
 # fastd&lt;br /&gt;
 deb http://ftp.de.debian.org/debian wheezy-backports main&lt;br /&gt;
 deb http://repo.universe-factory.net/debian/ sid main&lt;br /&gt;
&lt;br /&gt;
 # alfred&lt;br /&gt;
 deb http://debian.draic.info/ wheezy main&lt;br /&gt;
 deb-src http://debian.draic.info/ wheezy main&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Schlüssel für repo importieren: &lt;br /&gt;
* &amp;lt;code&amp;gt;gpg --keyserver pgpkeys.mit.edu --recv-key  B89033D8&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;gpg -a --export B89033D8 | apt-key add -&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;gpg --keyserver pgpkeys.mit.edu --recv-key  16EF3F64CB201D9C&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;gpg -a --export 16EF3F64CB201D9C | apt-key add -&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pakete installieren ==&lt;br /&gt;
* &amp;lt;code&amp;gt;apt-get update&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;apt-get install batctl batman-adv-dkms fastd bridge-utils&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;echo &amp;quot;batman-adv&amp;quot; &amp;gt;&amp;gt; /etc/modules&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Netzwerk Grundkonfiguration ==&lt;br /&gt;
=== Sysctl Einstellungen ===&lt;br /&gt;
* /etc/sysctl.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Freifunk specific settings&lt;br /&gt;
net.ipv4.ip_forward=1&lt;br /&gt;
&lt;br /&gt;
net.bridge.bridge-nf-call-arptables = 0&lt;br /&gt;
net.bridge.bridge-nf-call-ip6tables = 0&lt;br /&gt;
net.bridge.bridge-nf-call-iptables = 0&lt;br /&gt;
&lt;br /&gt;
net.ipv6.conf.all.forwarding=1&lt;br /&gt;
&lt;br /&gt;
net.ipv6.conf.all.autoconf = 0&lt;br /&gt;
net.ipv6.conf.default.autoconf = 0&lt;br /&gt;
net.ipv6.conf.eth0.autoconf = 0&lt;br /&gt;
&lt;br /&gt;
net.ipv6.conf.all.accept_ra = 0&lt;br /&gt;
net.ipv6.conf.default.accept_ra = 0&lt;br /&gt;
net.ipv6.conf.eth0.accept_ra = 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Danach neu laden: &amp;lt;code&amp;gt;sysctl -p /etc/sysctl.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Routing Tables erstellen ===&lt;br /&gt;
* /etc/iproute2/rt_tables (bisherige Einstellungen beibehalten und folgende hinzufügen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# freifunk&lt;br /&gt;
32      saar&lt;br /&gt;
33      lux&lt;br /&gt;
42      icvpn&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Netzwerkinterafaces einstellen ===&lt;br /&gt;
* /etc/network/interfaces (andere Interfaces nach der entsprechenden Konfiguration belassen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# FREIFUNK SAAR&lt;br /&gt;
#&lt;br /&gt;
auto saarBR&lt;br /&gt;
iface saarBR inet static&lt;br /&gt;
    bridge_ports none&lt;br /&gt;
    bridge_fd 0&lt;br /&gt;
    bridge_maxwait 0&lt;br /&gt;
    address 10.24.192.XXX&lt;br /&gt;
    netmask 255.255.192.0&lt;br /&gt;
    # be sure all incoming traffic is handled by the appropriate rt_table&lt;br /&gt;
    post-up         /sbin/ip rule add iif $IFACE table saar priority 3200&lt;br /&gt;
    pre-down        /sbin/ip rule del iif $IFACE table saar priority 3200&lt;br /&gt;
    # default route is unreachable&lt;br /&gt;
    post-up         /sbin/ip route add unreachable default table saar&lt;br /&gt;
    post-down       /sbin/ip route del unreachable default table saar&lt;br /&gt;
    # local reachable subnet saar for rt_table lux&lt;br /&gt;
    post-up         /sbin/ip route add 10.24.128.0/18 proto static dev $IFACE table lux&lt;br /&gt;
    post-down       /sbin/ip route del 10.24.128.0/18 proto static dev $IFACE table lux&lt;br /&gt;
&lt;br /&gt;
iface saarBR inet6 static&lt;br /&gt;
    address fd4e:f2d7:88d2:ffff::XXX&lt;br /&gt;
    netmask 64&lt;br /&gt;
    # be sure all incoming traffic is handled by the appropriate rt_table&lt;br /&gt;
    post-up         /sbin/ip -6 rule add iif $IFACE table saar priority 3200&lt;br /&gt;
    pre-down        /sbin/ip -6 rule del iif $IFACE table saar priority 3200&lt;br /&gt;
    post-up         /sbin/ip -6 route add fe80::/64 proto static dev $IFACE table saar&lt;br /&gt;
    post-down       /sbin/ip -6 route del fe80::/64 proto static dev $IFACE table saar&lt;br /&gt;
    post-up         /sbin/ip -6 route add fd4e:f2d7:88d2:ffff::/64 proto static dev $IFACE table saar&lt;br /&gt;
    post-down       /sbin/ip -6 route del fd4e:f2d7:88d2:ffff::/64 proto static dev $IFACE table saar&lt;br /&gt;
    # ULA route mz for rt_table saar&lt;br /&gt;
    post-up         /sbin/ip -6 route add fd4e:f2d7:88d2:fffe::/64 proto static dev $IFACE table lux&lt;br /&gt;
    post-down       /sbin/ip -6 route del fd4e:f2d7:88d2:fffe::/64 proto static dev $IFACE table lux&lt;br /&gt;
&lt;br /&gt;
allow-hotplug saarMESH&lt;br /&gt;
iface saarMESH inet6 manual&lt;br /&gt;
    pre-up          /sbin/modprobe batman_adv&lt;br /&gt;
    post-up         /usr/sbin/batctl -m saarBAT if add $IFACE&lt;br /&gt;
    post-up         /sbin/ip link set dev saarBAT up&lt;br /&gt;
&lt;br /&gt;
allow-hotplug saarBAT&lt;br /&gt;
iface saarBAT inet6 manual&lt;br /&gt;
    pre-up          /sbin/modprobe batman-adv&lt;br /&gt;
    post-up         /sbin/brctl addif saarBR $IFACE&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE it 10000&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE vm server&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE gw server  6mbit/6mbit&lt;br /&gt;
    pre-down        /sbin/brctl delif saarBR $IFACE || true&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# FREIFUNK LUX &lt;br /&gt;
#&lt;br /&gt;
auto luxBR&lt;br /&gt;
iface luxBR inet static&lt;br /&gt;
    bridge_ports none&lt;br /&gt;
    bridge_fd 0&lt;br /&gt;
    bridge_maxwait 0&lt;br /&gt;
    address 10.24.128.XXX&lt;br /&gt;
    netmask 255.255.192.0&lt;br /&gt;
    # be sure all incoming traffic is handled by the appropriate rt_table&lt;br /&gt;
    post-up         /sbin/ip rule add iif $IFACE table lux priority 3300&lt;br /&gt;
    pre-down        /sbin/ip rule del iif $IFACE table lux priority 3300&lt;br /&gt;
    # default route is unreachable&lt;br /&gt;
    post-up         /sbin/ip route add unreachable default table lux &lt;br /&gt;
    post-down       /sbin/ip route del unreachable default table lux &lt;br /&gt;
    # local reachable subnet lux for rt_table saar&lt;br /&gt;
    post-up         /sbin/ip route add 10.24.192.0/18 proto static dev $IFACE table saar&lt;br /&gt;
    post-down       /sbin/ip route del 10.24.192.0/18 proto static dev $IFACE table saar&lt;br /&gt;
&lt;br /&gt;
iface luxBR inet6 static&lt;br /&gt;
    address fd4e:f2d7:88d2:fffe::XXX&lt;br /&gt;
    netmask 64&lt;br /&gt;
    # be sure all incoming traffic is handled by the appropriate rt_table&lt;br /&gt;
    post-up         /sbin/ip -6 rule add iif $IFACE table lux priority 3300&lt;br /&gt;
    pre-down        /sbin/ip -6 rule del iif $IFACE table lux priority 3300&lt;br /&gt;
    post-up         /sbin/ip -6 route add fe80::/64 proto static dev $IFACE table lux &lt;br /&gt;
    post-down       /sbin/ip -6 route del fe80::/64 proto static dev $IFACE table lux &lt;br /&gt;
    post-up         /sbin/ip -6 route add fd4e:f2d7:88d2:fffe::/64 proto static dev $IFACE table lux&lt;br /&gt;
    post-down       /sbin/ip -6 route del fd4e:f2d7:88d2:fffe::/64 proto static dev $IFACE table lux&lt;br /&gt;
    # ULA route saar for rt_table lux&lt;br /&gt;
    post-up         /sbin/ip -6 route add fd4e:f2d7:88d2:ffff::/64 proto static dev $IFACE table saar&lt;br /&gt;
    post-down       /sbin/ip -6 route del fd4e:f2d7:88d2:ffff::/64 proto static dev $IFACE table saar&lt;br /&gt;
&lt;br /&gt;
allow-hotplug luxMESH&lt;br /&gt;
iface luxMESH inet6 manual&lt;br /&gt;
    pre-up          /sbin/modprobe batman_adv&lt;br /&gt;
    post-up         /usr/sbin/batctl -m luxBAT if add $IFACE&lt;br /&gt;
    post-up         /sbin/ip link set dev luxBAT up&lt;br /&gt;
&lt;br /&gt;
allow-hotplug luxBAT&lt;br /&gt;
iface luxBAT inet6 manual&lt;br /&gt;
    pre-up          /sbin/modprobe batman-adv&lt;br /&gt;
    post-up         /sbin/brctl addif luxBR $IFACE&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE it 10000&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE vm server&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE gw server  6mbit/6mbit&lt;br /&gt;
    pre-down        /sbin/brctl delif luxBR $IFACE || true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Jedes Vorkommnis von XXX durch einen entsprechenden Wert aus dem Netzplan ersetzen, im Zweifel TobiT fragen&lt;br /&gt;
&lt;br /&gt;
== Helfer-Skripte ==&lt;br /&gt;
Es gibt 2 Helferskripte, die eingerichtet werden müssen. check_gateway.sh prüft minütlich, ob das ExitVPN noch steht. autoupdate_fastd_peers updatet die fastd-peers alle 5 Minuten per git.&lt;br /&gt;
=== check_gateway.sh ===&lt;br /&gt;
* /usr/bin/check_gateway.sh:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@gw2:/etc/fastd/freifunk-lux# less /usr/bin/check_gateway.sh&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
INTERFACE=tun0          # Set to name of VPN interface&lt;br /&gt;
DHCPSERVICE=dnsmasq     # Name of DHCP service&lt;br /&gt;
BANDWIDTH=XXX           # Server bandwidth&lt;br /&gt;
shopt -s nullglob&lt;br /&gt;
&lt;br /&gt;
# Test whether gateway is connected to the outer world via VPN&lt;br /&gt;
ping -q -I $INTERFACE 8.8.8.8 -c 4 -i 1 -W 5 &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
if test $? -eq 0; then&lt;br /&gt;
    NEW_STATE=server&lt;br /&gt;
else&lt;br /&gt;
    NEW_STATE=off&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Iterate through network interfaces in sys file system&lt;br /&gt;
for MESH in /sys/class/net/*/mesh; do&lt;br /&gt;
# Check whether gateway modus needs to be changed&lt;br /&gt;
OLD_STATE=&amp;quot;$(cat $MESH/gw_mode)&amp;quot;&lt;br /&gt;
[ &amp;quot;$OLD_STATE&amp;quot; == &amp;quot;$NEW_STATE&amp;quot; ] &amp;amp;&amp;amp; continue&lt;br /&gt;
    echo $NEW_STATE &amp;gt; $MESH/gw_mode&lt;br /&gt;
    echo ${BANDWIDTH}MBit/${BANDWIDTH}MBit &amp;gt; $MESH/gw_bandwidth&lt;br /&gt;
    logger &amp;quot;batman gateway mode changed to $NEW_STATE&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    # Check whether gateway modus has been deactivated&lt;br /&gt;
    if [ &amp;quot;$NEW_STATE&amp;quot; == &amp;quot;off&amp;quot; ]; then&lt;br /&gt;
        # Shutdown DHCP server to prevent renewal of leases&lt;br /&gt;
        /usr/sbin/service $DHCPSERVICE stop&lt;br /&gt;
    fi&lt;br /&gt;
&lt;br /&gt;
    # Check whether gateway modus has been activated&lt;br /&gt;
    if [ &amp;quot;$NEW_STATE&amp;quot; == &amp;quot;server&amp;quot; ]; then&lt;br /&gt;
        # Restart DHCP server&lt;br /&gt;
        /usr/sbin/service $DHCPSERVICE start&lt;br /&gt;
    fi&lt;br /&gt;
    exit 0&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
if [ &amp;quot;$NEW_STATE&amp;quot; == &amp;quot;server&amp;quot; ]; then&lt;br /&gt;
    /usr/sbin/service $DHCPSERVICE status 2&amp;gt;&amp;amp;1&amp;gt; /dev/null&lt;br /&gt;
    if [[ $? -ne 0 ]]&lt;br /&gt;
    then&lt;br /&gt;
        /usr/sbin/service $DHCPSERVICE restart&lt;br /&gt;
    fi&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$NEW_STATE&amp;quot; == &amp;quot;off&amp;quot; ]; then&lt;br /&gt;
    /usr/sbin/service $DHCPSERVICE status 2&amp;gt;&amp;amp;1&amp;gt; /dev/null&lt;br /&gt;
    if [[ $? -eq 0 ]]&lt;br /&gt;
    then&lt;br /&gt;
        /usr/sbin/service $DHCPSERVICE stop&lt;br /&gt;
    fi&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Ganz oben bei BANDWIDTH die Serverbandbreite in MBit/s einstellen, damit diese ordentlich via Batman announced werden kann.&lt;br /&gt;
* Speichern und mit &amp;lt;code&amp;gt;chmod +x /usr/bin/check_gateway.sh&amp;lt;/code&amp;gt; ausführbar machen&lt;br /&gt;
=== autoupdate_fastd_keys.sh ===&lt;br /&gt;
* /usr/bin/autoupate_fastd_keys.sh:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# Simple script to update fastd peers from git upstream&lt;br /&gt;
# and only send HUP to fastd when changes happend.&lt;br /&gt;
&lt;br /&gt;
# CONFIGURE THIS TO YOUR PEER DIRECTORY&lt;br /&gt;
FASTD_PEERS_ARRAY=( &amp;quot;freifunk-saar&amp;quot; &amp;quot;freifunk-lux&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
function getCurrentVersion() {&lt;br /&gt;
 # Get hash from latest revision&lt;br /&gt;
 git log --format=format:%H -1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
for FASTD_PEERS in &amp;quot;${FASTD_PEERS_ARRAY[@]}&amp;quot;&lt;br /&gt;
do&lt;br /&gt;
cd /etc/fastd/$FASTD_PEERS/peers&lt;br /&gt;
&lt;br /&gt;
# Get current version hash&lt;br /&gt;
GIT_REVISION=$(getCurrentVersion)&lt;br /&gt;
&lt;br /&gt;
# Automagically commit local changes&lt;br /&gt;
# This preserves local changes&lt;br /&gt;
git commit -m &amp;quot;CRON: auto commit&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Pull latest changes from upstream&lt;br /&gt;
git fetch&lt;br /&gt;
git merge origin/master -m &amp;quot;Auto Merge&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Get new version hash&lt;br /&gt;
GIT_NEW_REVISION=$(getCurrentVersion)&lt;br /&gt;
&lt;br /&gt;
if [ $GIT_REVISION != $GIT_NEW_REVISION ]&lt;br /&gt;
then&lt;br /&gt;
 # Version has changed we need to update&lt;br /&gt;
 echo &amp;quot;Reload fastd peers&amp;quot;&lt;br /&gt;
 kill -HUP $(cat /var/run/fastd.$FASTD_PEERS.pid)&lt;br /&gt;
fi&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Auch dieses Skript ausführbar machen: &amp;lt;code&amp;gt;chmod +x /usr/bin/autoupdate_fastd_keys.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
=== Skripte in crontab eintragen ===&lt;br /&gt;
* In &amp;lt;code&amp;gt;sudo crontab -e&amp;lt;/code&amp;gt; folgende Zeilen anhängen&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*/5 * * * *   /usr/bin/autoupdate_fastd_keys.sh &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
* * * * *   /usr/bin/check_gateway.sh &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Fastd-Config ==&lt;br /&gt;
* &amp;lt;code&amp;gt;mkdir /etc/fastd/freifunk-{saar,lux}/&amp;lt;/code&amp;gt;&lt;br /&gt;
* Config-Dateien anlegen und entsprechenden Inhalt reinkopieren:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
log level warn;&lt;br /&gt;
hide ip addresses yes;&lt;br /&gt;
hide mac addresses yes;&lt;br /&gt;
&lt;br /&gt;
interface &amp;quot;xxxxMESH&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
method &amp;quot;salsa2012+umac&amp;quot;;    # new method (faster)&lt;br /&gt;
method &amp;quot;salsa2012+gmac&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
bind any:10000 interface &amp;quot;eth0&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
include &amp;quot;secret.conf&amp;quot;;&lt;br /&gt;
mtu 1426; # 1492 - IPv4/IPv6 Header - fastd Header...&lt;br /&gt;
&lt;br /&gt;
include peers from &amp;quot;peers&amp;quot;;&lt;br /&gt;
include peers from &amp;quot;peers-gw&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
secure handshakes yes;&lt;br /&gt;
&lt;br /&gt;
on up &amp;quot;&lt;br /&gt;
ip link set dev xxxxMESH address ca:fe:ba:be:00:0X&lt;br /&gt;
ip link set dev xxxxMESH up&lt;br /&gt;
&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Secret Keys aus den Repos besorgen und in secret.conf schreiben&lt;br /&gt;
* Neuen SSH-Key anlegen, als Deploy Key in die Gitlab-Projekte https://git.hacksaar.de/FreifunkSaar/mesh-vpn-peers und https://git.hacksaar.de/FreifunkSaar/mesh-vpn-peers-lux eintragen.&lt;br /&gt;
* Mesh-VPN-Peers-Verzeichnis als &amp;quot;peers&amp;quot; klonen: &amp;lt;code&amp;gt;git clone git@hacksaar.de:FreifunkSaar/mesh-vpn-peers.git peers&amp;lt;/code&amp;gt; bzw &amp;lt;code&amp;gt;git clone git@hacksaar.de:FreifunkSaar/mesh-vpn-peers-lux.git peers&amp;lt;/code&amp;gt; jeweils im entsprechende Verzeichnis&lt;br /&gt;
* Feuer!: &amp;lt;code&amp;gt;sudo service fastd start&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DNS, DHCP und RA-Server dnsmasq ==&lt;br /&gt;
* Installieren: &amp;lt;code&amp;gt;apt-get install dnsmasq&amp;lt;/code&amp;gt;&lt;br /&gt;
* /etc/dnsmasq.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bogus-priv&lt;br /&gt;
no-resolv&lt;br /&gt;
no-poll&lt;br /&gt;
&lt;br /&gt;
server=8.8.8.8&lt;br /&gt;
server=8.8.4.4&lt;br /&gt;
&lt;br /&gt;
read-ethers&lt;br /&gt;
expand-hosts&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* /etc/dnsmasq.d/ffsaar&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local=/ffsaar/&lt;br /&gt;
interface=saarBR&lt;br /&gt;
domain=ffsaar&lt;br /&gt;
&lt;br /&gt;
dhcp-range=10.24.XXX.1,10.24.XXX.254,180&lt;br /&gt;
dhcp-range=fd4e:f2d7:88d2:ffff::,64,180,ra-names&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* /etc/dnsmasq.d/fflux&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local=/fflux/&lt;br /&gt;
interface=luxBR&lt;br /&gt;
domain=fflux&lt;br /&gt;
&lt;br /&gt;
dhcp-range=10.24.XXX.1,10.24.XXX.254,180&lt;br /&gt;
dhcp-range=fd4e:f2d7:88d2:fffe::,64,180,ra-names&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== isc-dhcp-server (in Zukunft mal umzustellen) ===&lt;br /&gt;
* /etc/dhcp/dhcpd.conf: (Komplett ersetzen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ddns-update-style none;&lt;br /&gt;
default-lease-time 300;&lt;br /&gt;
max-lease-time 300;&lt;br /&gt;
authoritative;&lt;br /&gt;
&lt;br /&gt;
log-facility local6;&lt;br /&gt;
&lt;br /&gt;
subnet 10.24.192.0 netmask 255.255.192.0 {&lt;br /&gt;
        range 10.24.XXX.0 10.24.XXX+3.255;&lt;br /&gt;
        option routers 10.24.192.ZZZ;&lt;br /&gt;
        option domain-name-servers 10.24.192.2, 10.24.192.3, 10.24.192.4;&lt;br /&gt;
        option domain-search &amp;quot;ffsaar&amp;quot;;&lt;br /&gt;
        option ntp-servers 10.24.192.2, 10.24.192.3, 10.24.192.4;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
subnet 10.24.128.0 netmask 255.255.192.0 {&lt;br /&gt;
        range 10.24.YYY.0 10.24.YYY+3.255;&lt;br /&gt;
        option routers 10.24.128.ZZZ;&lt;br /&gt;
        option domain-name-servers 10.24.128.2, 10.24.128.3, 10.24.128.4;&lt;br /&gt;
        option domain-search &amp;quot;fflux&amp;quot;;&lt;br /&gt;
        option ntp-servers 10.24.128.2, 10.24.128.3, 10.24.128.4;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* XXX, XXX+3, YYY, YYY+3, ZZZ durch richtige Werte ersetzen&lt;br /&gt;
* /etc/default/isc-dhcp-server (Zeile INTERFACES ersetzen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
INTERFACES=&amp;quot;saarBR luxBR&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Neu starten: &amp;lt;code&amp;gt;service isc-dhcp-server restart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Knoteninformationen (Alfred...) ==&lt;br /&gt;
&#039;&#039;&#039;Dieser Punkt befindet sich aktuell in der Erstellung und wird später noch auf die anderen Kapitel aufgeteilt --[[Benutzer:Rugosh|Rugosh]] ([[Benutzer Diskussion:Rugosh|Diskussion]]) 16:38, 22. Feb. 2015 (CET)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Alfred wird auf den Gateways benötigt um die Knoteninformationen zu sammeln und aus diesen Informationen eine Knotendatei unter anderem für die Freifunkkarte bauen zu können.&lt;br /&gt;
Der Server, auf welchem die Knotendatei generiert wird ist hier logisch gesehen der Master die anderen Systeme sind als Slave zu konfigurieren.&lt;br /&gt;
&lt;br /&gt;
Da wir auf unseren Gateways sowohl Saar las auch Lux Freifunk betreiben benötigen wir auch eine Doppelkonfiguration der Knotenerstellung. Dies betrifft sowohl Alfred als auch den Punkt, dass der Master für mehrere Communities Kartendaten erstellen können muss.&lt;br /&gt;
&lt;br /&gt;
=== Slave Konfiguration ===&lt;br /&gt;
Benötigte Komponenten:&lt;br /&gt;
* Alfred&lt;br /&gt;
* Batman&lt;br /&gt;
&lt;br /&gt;
==== Alfred Konfiguration ====&lt;br /&gt;
Wir benötigen zuerst einmal zwei Alfred daemons:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo service alfred stop&lt;br /&gt;
sudo cp /etc/default/alfred /etc/default/alfred-saar&lt;br /&gt;
sudo cp /etc/default/alfred /etc/default/alfred-lux&lt;br /&gt;
sudo cp /etc/init.d/alfred /etc/init.d/alfred-saar&lt;br /&gt;
sudo cp /etc/init.d/alfred /etc/init.d/alfred-lux&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Alfred muss auf auf dem Slave lediglich auf den MASTER=0 gesetzt werden und das Interface, sowie Batman muss angegeben sein. Die Konfiguration findet in der Konfigurationsdatei &amp;lt;code&amp;gt;/etc/default/alfred-XXX&amp;lt;/code&amp;gt; wie folgt statt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# /etc/default/alfred-saar&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
# Additional command line options&lt;br /&gt;
DAEMON_OPTS=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Enable master mode (0/1)&lt;br /&gt;
MASTER=0&lt;br /&gt;
&lt;br /&gt;
# Interface for A.L.F.R.E.D. to listen on. Has to be specified.&lt;br /&gt;
INTERFACE=br-ff&lt;br /&gt;
&lt;br /&gt;
# Specify the batman-adv interface configured on the system (default: bat0).&lt;br /&gt;
# Use &#039;none&#039; to disable the batman-adv based best server selection.&lt;br /&gt;
BATMANIF=saarBAT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# /etc/default/alfred-lux&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
# Additional command line options&lt;br /&gt;
DAEMON_OPTS=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Enable master mode (0/1)&lt;br /&gt;
MASTER=0&lt;br /&gt;
&lt;br /&gt;
# Interface for A.L.F.R.E.D. to listen on. Has to be specified.&lt;br /&gt;
INTERFACE=luxBR&lt;br /&gt;
&lt;br /&gt;
# Specify the batman-adv interface configured on the system (default: bat0).&lt;br /&gt;
# Use &#039;none&#039; to disable the batman-adv based best server selection.&lt;br /&gt;
BATMANIF=luxBAT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Anpassen der init.d Dateien für die Alfreds...&lt;br /&gt;
&#039;&#039;&#039;Nachfolgende Configs erzeugen noch keinen eigenständigen Alfed Socket...&#039;&#039;&#039; Leider muss damit die Alfreds eigene Sockets haben anscheinend alfred selbst mit anderen werten kompaliert werden https://github.com/tcatm/alfred/blob/master/alfred.h oder hier muss eine andere (bessere) Lösung gefunden werden. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Ausschnitt der anzupassenden Datei /etc/init.d/alfred-saar&lt;br /&gt;
&lt;br /&gt;
DESC=&amp;quot;A.L.F.R.E.D -&amp;gt; Saar&amp;quot;&lt;br /&gt;
NAME=alfred&lt;br /&gt;
NAME2=alfred-saar&lt;br /&gt;
DAEMON=/usr/sbin/$NAME&lt;br /&gt;
PIDFILE=/var/run/$NAME2.pid&lt;br /&gt;
SCRIPTNAME=/etc/init.d/$NAME2&lt;br /&gt;
GROUP=alfred &lt;br /&gt;
OPTIONS=&amp;quot;&amp;quot;&lt;br /&gt;
UMASK=0117&lt;br /&gt;
&lt;br /&gt;
[ -x &amp;quot;$DAEMON&amp;quot; ] || exit 0&lt;br /&gt;
&lt;br /&gt;
# Source defaults.&lt;br /&gt;
[ -r /etc/default/$NAME2 ] &amp;amp;&amp;amp; . /etc/default/$NAME2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Ausschnitt der anzupassenden Datei /etc/init.d/alfred-lux&lt;br /&gt;
&lt;br /&gt;
DESC=&amp;quot;A.L.F.R.E.D -&amp;gt; Lux&amp;quot;&lt;br /&gt;
NAME=alfred-lux&lt;br /&gt;
DAEMON=/usr/sbin/$NAME&lt;br /&gt;
PIDFILE=/var/run/$NAME2.pid&lt;br /&gt;
SCRIPTNAME=/etc/init.d/$NAME2&lt;br /&gt;
GROUP=alfred&lt;br /&gt;
OPTIONS=&amp;quot;&amp;quot;&lt;br /&gt;
UMASK=0117&lt;br /&gt;
&lt;br /&gt;
[ -x &amp;quot;$DAEMON&amp;quot; ] || exit 0&lt;br /&gt;
&lt;br /&gt;
# Source defaults.&lt;br /&gt;
[ -r /etc/default/$NAME2 ] &amp;amp;&amp;amp; . /etc/default/$NAME2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Starten der neuen Alfreds&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo service alfred-saar start&lt;br /&gt;
sudo service alfred-lux start&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Nun testen ob alles wie gewünscht funktioniert und erst nach einem erfolgreichen Test die nun nicht mehr benötigten Daten löschen.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rm /etc/default/alfred&lt;br /&gt;
sudo rm /etc/init.d/alfred.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== batadv-vis ====&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=== Master Konfiguration ===&lt;br /&gt;
Benötigte Komponenten:&lt;br /&gt;
* Alfred&lt;br /&gt;
* Alfred-JSON&lt;br /&gt;
* Batman&lt;br /&gt;
&lt;br /&gt;
==== Alfred Konfiguration ====&lt;br /&gt;
Alfred muss auf auf dem Slave lediglich auf den MASTER=1 gesetzt werden und das Interface, sowie Batman muss angegeben sein. Für Details siehe [[#Alfred_Konfiguration | Slave Konfiguration -&amp;gt; Alfred Konfigurieren ]]&lt;br /&gt;
&#039;&#039;&#039;Achtung: Da auf dem Master aktuell nur ein Batman device läuft, ist hier aktuell kein alfred-lux gestartet, aber vorkonfiguriert&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Knotendateigenerierung ====&lt;br /&gt;
* Benötigt auch alias config&lt;br /&gt;
* bat2nodes für Kartengenerierung mit mkmap Skript. Checkout newest Version from https://github.com/freifunk-saar/ffmap-backend -&amp;gt; done.&lt;br /&gt;
* Cron Eintrag vom mkmap Skript&lt;br /&gt;
&lt;br /&gt;
==== Alias Konfiguration ====&lt;br /&gt;
Da wir uns für die manuelle Konfiguration des Announcement der Gateway Informationen entschieden haben ist eine Anpassung der Alias Datei für jede neue Gateway erforderlich.&lt;br /&gt;
Die Dateien &amp;lt;code&amp;gt;aliases_saar.json&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;aliases_lux.json&amp;lt;/code&amp;gt; befindet sich im bat2nodes Verzeichnis und beinhaltet für jede Gateway einen Alias Eintrag.&lt;br /&gt;
&lt;br /&gt;
Beipiel:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
   &amp;quot;&amp;lt;KENNUNG&amp;gt;1&amp;quot; : {&lt;br /&gt;
      &amp;quot;name&amp;quot; : &amp;quot;gw1.saar.freifunk.net&amp;quot;,&lt;br /&gt;
      &amp;quot;vpn&amp;quot; : true&lt;br /&gt;
   },&lt;br /&gt;
   &amp;quot;&amp;lt;KENNUNG&amp;gt;2&amp;quot; : {&lt;br /&gt;
      &amp;quot;name&amp;quot; : &amp;quot;gw2.saar.freifunk.net&amp;quot;,&lt;br /&gt;
      &amp;quot;vpn&amp;quot; : true&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== batadv-vis ====&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=== alfed-json ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== To be continued... ==&lt;br /&gt;
* DNSmasq statt radvd, bind, isc-dhcp-server&lt;br /&gt;
* iptables NAT&lt;/div&gt;</summary>
		<author><name>Tobi042</name></author>
	</entry>
	<entry>
		<id>https://wiki.hacksaar.de/index.php?title=Freifunk:Mesh-VPN_Gateway-Server_einrichten&amp;diff=1927</id>
		<title>Freifunk:Mesh-VPN Gateway-Server einrichten</title>
		<link rel="alternate" type="text/html" href="https://wiki.hacksaar.de/index.php?title=Freifunk:Mesh-VPN_Gateway-Server_einrichten&amp;diff=1927"/>
		<updated>2015-03-25T18:43:41Z</updated>

		<summary type="html">&lt;p&gt;Tobi042: /* Fastd-Config */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Unsere Gateways laufen auf Debian 7 Wheezy. Diese Anleitungen orientieren sich an anderen Freifunk-Communities, aber einen sehr nennenswerten Einfluss hat die geniale Dokumentation von Freifunk Mainz, Wiesbaden und Umgebung (http://gluon-gateway-doku.readthedocs.org/de/latest/) gehabt.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
Größtenteils egal, wichtig ist folgendes: Root bekommt kein Passwort, dadurch wird der Root-Login gesperrt und man muss sudo benutzen. Als zu installierende Paketgruppen nutzen wir Debian-Standardutilities und SSH-Server.&lt;br /&gt;
&lt;br /&gt;
== SSH einrichten ==&lt;br /&gt;
&lt;br /&gt;
* Einloggen: &lt;br /&gt;
*: &amp;lt;code&amp;gt;ssh user@gwX.saar.freifunk.de&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;mkdir .ssh&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;echo &amp;quot;dein_ssh_key&amp;quot; &amp;gt; .ssh/authorized_keys&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;nano /etc/ssh/sshd_config&amp;lt;/code&amp;gt;&lt;br /&gt;
*: Folgende Änderungen vornehmen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;...&lt;br /&gt;
PermitRootLogin no&lt;br /&gt;
...&lt;br /&gt;
PasswordAuthentication no&lt;br /&gt;
...&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Alte Session aktiv lassen, in neuem Terminal versuchen mit Public Key einzuloggen. Wenn nicht erfolgreich debuggen.&lt;br /&gt;
* &amp;lt;code&amp;gt;sudo service ssh restart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Überflüssige Pakete deinstallieren ==&lt;br /&gt;
&lt;br /&gt;
Da wir eben etwas großzügig waren mit der Installation von Paketgruppen müssen wir jetzt exim und nfs-Kram deinstallieren:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;sudo apt-get remove exim4* nfs-common rpcbind&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Als Resultat sollte bei Ausführung von &amp;quot;sudo netstat -tulpn&amp;quot; keine Programme außer sshd und vielleicht dhclient angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
== APT Sources hinzufügen ==&lt;br /&gt;
&lt;br /&gt;
Wir benötigen die Sources für fastd und batman-adv:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;nano /etc/apt/sources.list&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 deb http://security.debian.org/ wheezy/updates main contrib non-free&lt;br /&gt;
 deb-src http://security.debian.org/ wheezy/updates main contrib non-free&lt;br /&gt;
  &lt;br /&gt;
 # fastd&lt;br /&gt;
 deb http://ftp.de.debian.org/debian wheezy-backports main&lt;br /&gt;
 deb http://repo.universe-factory.net/debian/ sid main&lt;br /&gt;
&lt;br /&gt;
 # alfred&lt;br /&gt;
 deb http://debian.draic.info/ wheezy main&lt;br /&gt;
 deb-src http://debian.draic.info/ wheezy main&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Schlüssel für repo importieren: &lt;br /&gt;
* &amp;lt;code&amp;gt;gpg --keyserver pgpkeys.mit.edu --recv-key  B89033D8&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;gpg -a --export B89033D8 | apt-key add -&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;gpg --keyserver pgpkeys.mit.edu --recv-key  16EF3F64CB201D9C&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;gpg -a --export 16EF3F64CB201D9C | apt-key add -&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pakete installieren ==&lt;br /&gt;
* &amp;lt;code&amp;gt;apt-get update&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;apt-get install batctl batman-adv-dkms fastd bridge-utils&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;echo &amp;quot;batman-adv&amp;quot; &amp;gt;&amp;gt; /etc/modules&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Netzwerk Grundkonfiguration ==&lt;br /&gt;
=== Sysctl Einstellungen ===&lt;br /&gt;
* /etc/sysctl.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Freifunk specific settings&lt;br /&gt;
net.ipv4.ip_forward=1&lt;br /&gt;
&lt;br /&gt;
net.bridge.bridge-nf-call-arptables = 0&lt;br /&gt;
net.bridge.bridge-nf-call-ip6tables = 0&lt;br /&gt;
net.bridge.bridge-nf-call-iptables = 0&lt;br /&gt;
&lt;br /&gt;
net.ipv6.conf.all.forwarding=1&lt;br /&gt;
&lt;br /&gt;
net.ipv6.conf.all.autoconf = 0&lt;br /&gt;
net.ipv6.conf.default.autoconf = 0&lt;br /&gt;
net.ipv6.conf.eth0.autoconf = 0&lt;br /&gt;
&lt;br /&gt;
net.ipv6.conf.all.accept_ra = 0&lt;br /&gt;
net.ipv6.conf.default.accept_ra = 0&lt;br /&gt;
net.ipv6.conf.eth0.accept_ra = 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Danach neu laden: &amp;lt;code&amp;gt;sysctl -p /etc/sysctl.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Routing Tables erstellen ===&lt;br /&gt;
* /etc/iproute2/rt_tables (bisherige Einstellungen beibehalten und folgende hinzufügen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# freifunk&lt;br /&gt;
32      saar&lt;br /&gt;
33      lux&lt;br /&gt;
42      icvpn&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Netzwerkinterafaces einstellen ===&lt;br /&gt;
* /etc/network/interfaces (andere Interfaces nach der entsprechenden Konfiguration belassen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# FREIFUNK SAAR&lt;br /&gt;
#&lt;br /&gt;
auto saarBR&lt;br /&gt;
iface saarBR inet static&lt;br /&gt;
    bridge_ports none&lt;br /&gt;
    bridge_fd 0&lt;br /&gt;
    bridge_maxwait 0&lt;br /&gt;
    address 10.24.192.XXX&lt;br /&gt;
    netmask 255.255.192.0&lt;br /&gt;
    # be sure all incoming traffic is handled by the appropriate rt_table&lt;br /&gt;
    post-up         /sbin/ip rule add iif $IFACE table saar priority 3200&lt;br /&gt;
    pre-down        /sbin/ip rule del iif $IFACE table saar priority 3200&lt;br /&gt;
    # default route is unreachable&lt;br /&gt;
    post-up         /sbin/ip route add unreachable default table saar&lt;br /&gt;
    post-down       /sbin/ip route del unreachable default table saar&lt;br /&gt;
    # local reachable subnet saar for rt_table lux&lt;br /&gt;
    post-up         /sbin/ip route add 10.24.128.0/18 proto static dev $IFACE table lux&lt;br /&gt;
    post-down       /sbin/ip route del 10.24.128.0/18 proto static dev $IFACE table lux&lt;br /&gt;
&lt;br /&gt;
iface saarBR inet6 static&lt;br /&gt;
    address fd4e:f2d7:88d2:ffff::XXX&lt;br /&gt;
    netmask 64&lt;br /&gt;
    # be sure all incoming traffic is handled by the appropriate rt_table&lt;br /&gt;
    post-up         /sbin/ip -6 rule add iif $IFACE table saar priority 3200&lt;br /&gt;
    pre-down        /sbin/ip -6 rule del iif $IFACE table saar priority 3200&lt;br /&gt;
    post-up         /sbin/ip -6 route add fe80::/64 proto static dev $IFACE table saar&lt;br /&gt;
    post-down       /sbin/ip -6 route del fe80::/64 proto static dev $IFACE table saar&lt;br /&gt;
    post-up         /sbin/ip -6 route add fd4e:f2d7:88d2:ffff::/64 proto static dev $IFACE table saar&lt;br /&gt;
    post-down       /sbin/ip -6 route del fd4e:f2d7:88d2:ffff::/64 proto static dev $IFACE table saar&lt;br /&gt;
    # ULA route mz for rt_table saar&lt;br /&gt;
    post-up         /sbin/ip -6 route add fd4e:f2d7:88d2:fffe::/64 proto static dev $IFACE table lux&lt;br /&gt;
    post-down       /sbin/ip -6 route del fd4e:f2d7:88d2:fffe::/64 proto static dev $IFACE table lux&lt;br /&gt;
&lt;br /&gt;
allow-hotplug saarMESH&lt;br /&gt;
iface saarMESH inet6 manual&lt;br /&gt;
    pre-up          /sbin/modprobe batman_adv&lt;br /&gt;
    post-up         /usr/sbin/batctl -m saarBAT if add $IFACE&lt;br /&gt;
    post-up         /sbin/ip link set dev saarBAT up&lt;br /&gt;
&lt;br /&gt;
allow-hotplug saarBAT&lt;br /&gt;
iface saarBAT inet6 manual&lt;br /&gt;
    pre-up          /sbin/modprobe batman-adv&lt;br /&gt;
    post-up         /sbin/brctl addif saarBR $IFACE&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE it 10000&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE vm server&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE gw server  6mbit/6mbit&lt;br /&gt;
    pre-down        /sbin/brctl delif saarBR $IFACE || true&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# FREIFUNK LUX &lt;br /&gt;
#&lt;br /&gt;
auto luxBR&lt;br /&gt;
iface luxBR inet static&lt;br /&gt;
    bridge_ports none&lt;br /&gt;
    bridge_fd 0&lt;br /&gt;
    bridge_maxwait 0&lt;br /&gt;
    address 10.24.128.XXX&lt;br /&gt;
    netmask 255.255.192.0&lt;br /&gt;
    # be sure all incoming traffic is handled by the appropriate rt_table&lt;br /&gt;
    post-up         /sbin/ip rule add iif $IFACE table lux priority 3300&lt;br /&gt;
    pre-down        /sbin/ip rule del iif $IFACE table lux priority 3300&lt;br /&gt;
    # default route is unreachable&lt;br /&gt;
    post-up         /sbin/ip route add unreachable default table lux &lt;br /&gt;
    post-down       /sbin/ip route del unreachable default table lux &lt;br /&gt;
    # local reachable subnet lux for rt_table saar&lt;br /&gt;
    post-up         /sbin/ip route add 10.24.192.0/18 proto static dev $IFACE table saar&lt;br /&gt;
    post-down       /sbin/ip route del 10.24.192.0/18 proto static dev $IFACE table saar&lt;br /&gt;
&lt;br /&gt;
iface luxBR inet6 static&lt;br /&gt;
    address fd4e:f2d7:88d2:fffe::XXX&lt;br /&gt;
    netmask 64&lt;br /&gt;
    # be sure all incoming traffic is handled by the appropriate rt_table&lt;br /&gt;
    post-up         /sbin/ip -6 rule add iif $IFACE table lux priority 3300&lt;br /&gt;
    pre-down        /sbin/ip -6 rule del iif $IFACE table lux priority 3300&lt;br /&gt;
    post-up         /sbin/ip -6 route add fe80::/64 proto static dev $IFACE table lux &lt;br /&gt;
    post-down       /sbin/ip -6 route del fe80::/64 proto static dev $IFACE table lux &lt;br /&gt;
    post-up         /sbin/ip -6 route add fd4e:f2d7:88d2:fffe::/64 proto static dev $IFACE table lux&lt;br /&gt;
    post-down       /sbin/ip -6 route del fd4e:f2d7:88d2:fffe::/64 proto static dev $IFACE table lux&lt;br /&gt;
    # ULA route saar for rt_table lux&lt;br /&gt;
    post-up         /sbin/ip -6 route add fd4e:f2d7:88d2:ffff::/64 proto static dev $IFACE table saar&lt;br /&gt;
    post-down       /sbin/ip -6 route del fd4e:f2d7:88d2:ffff::/64 proto static dev $IFACE table saar&lt;br /&gt;
&lt;br /&gt;
allow-hotplug luxMESH&lt;br /&gt;
iface luxMESH inet6 manual&lt;br /&gt;
    pre-up          /sbin/modprobe batman_adv&lt;br /&gt;
    post-up         /usr/sbin/batctl -m luxBAT if add $IFACE&lt;br /&gt;
    post-up         /sbin/ip link set dev luxBAT up&lt;br /&gt;
&lt;br /&gt;
allow-hotplug luxBAT&lt;br /&gt;
iface luxBAT inet6 manual&lt;br /&gt;
    pre-up          /sbin/modprobe batman-adv&lt;br /&gt;
    post-up         /sbin/brctl addif luxBR $IFACE&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE it 10000&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE vm server&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE gw server  6mbit/6mbit&lt;br /&gt;
    pre-down        /sbin/brctl delif luxBR $IFACE || true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Jedes Vorkommnis von XXX durch einen entsprechenden Wert aus dem Netzplan ersetzen, im Zweifel TobiT fragen&lt;br /&gt;
&lt;br /&gt;
== Helfer-Skripte ==&lt;br /&gt;
Es gibt 2 Helferskripte, die eingerichtet werden müssen. check_gateway.sh prüft minütlich, ob das ExitVPN noch steht. autoupdate_fastd_peers updatet die fastd-peers alle 5 Minuten per git.&lt;br /&gt;
=== check_gateway.sh ===&lt;br /&gt;
* /usr/bin/check_gateway.sh:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@gw2:/etc/fastd/freifunk-lux# less /usr/bin/check_gateway.sh&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
INTERFACE=tun0          # Set to name of VPN interface&lt;br /&gt;
DHCPSERVICE=dnsmasq     # Name of DHCP service&lt;br /&gt;
BANDWIDTH=XXX           # Server bandwidth&lt;br /&gt;
shopt -s nullglob&lt;br /&gt;
&lt;br /&gt;
# Test whether gateway is connected to the outer world via VPN&lt;br /&gt;
ping -q -I $INTERFACE 8.8.8.8 -c 4 -i 1 -W 5 &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
if test $? -eq 0; then&lt;br /&gt;
    NEW_STATE=server&lt;br /&gt;
else&lt;br /&gt;
    NEW_STATE=off&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Iterate through network interfaces in sys file system&lt;br /&gt;
for MESH in /sys/class/net/*/mesh; do&lt;br /&gt;
# Check whether gateway modus needs to be changed&lt;br /&gt;
OLD_STATE=&amp;quot;$(cat $MESH/gw_mode)&amp;quot;&lt;br /&gt;
[ &amp;quot;$OLD_STATE&amp;quot; == &amp;quot;$NEW_STATE&amp;quot; ] &amp;amp;&amp;amp; continue&lt;br /&gt;
    echo $NEW_STATE &amp;gt; $MESH/gw_mode&lt;br /&gt;
    echo ${BANDWIDTH}MBit/${BANDWIDTH}MBit &amp;gt; $MESH/gw_bandwidth&lt;br /&gt;
    logger &amp;quot;batman gateway mode changed to $NEW_STATE&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    # Check whether gateway modus has been deactivated&lt;br /&gt;
    if [ &amp;quot;$NEW_STATE&amp;quot; == &amp;quot;off&amp;quot; ]; then&lt;br /&gt;
        # Shutdown DHCP server to prevent renewal of leases&lt;br /&gt;
        /usr/sbin/service $DHCPSERVICE stop&lt;br /&gt;
    fi&lt;br /&gt;
&lt;br /&gt;
    # Check whether gateway modus has been activated&lt;br /&gt;
    if [ &amp;quot;$NEW_STATE&amp;quot; == &amp;quot;server&amp;quot; ]; then&lt;br /&gt;
        # Restart DHCP server&lt;br /&gt;
        /usr/sbin/service $DHCPSERVICE start&lt;br /&gt;
    fi&lt;br /&gt;
    exit 0&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
if [ &amp;quot;$NEW_STATE&amp;quot; == &amp;quot;server&amp;quot; ]; then&lt;br /&gt;
    /usr/sbin/service $DHCPSERVICE status 2&amp;gt;&amp;amp;1&amp;gt; /dev/null&lt;br /&gt;
    if [[ $? -ne 0 ]]&lt;br /&gt;
    then&lt;br /&gt;
        /usr/sbin/service $DHCPSERVICE restart&lt;br /&gt;
    fi&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$NEW_STATE&amp;quot; == &amp;quot;off&amp;quot; ]; then&lt;br /&gt;
    /usr/sbin/service $DHCPSERVICE status 2&amp;gt;&amp;amp;1&amp;gt; /dev/null&lt;br /&gt;
    if [[ $? -eq 0 ]]&lt;br /&gt;
    then&lt;br /&gt;
        /usr/sbin/service $DHCPSERVICE stop&lt;br /&gt;
    fi&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Ganz oben bei BANDWIDTH die Serverbandbreite in MBit/s einstellen, damit diese ordentlich via Batman announced werden kann.&lt;br /&gt;
* Speichern und mit &amp;lt;code&amp;gt;chmod +x /usr/bin/check_gateway.sh&amp;lt;/code&amp;gt; ausführbar machen&lt;br /&gt;
=== autoupdate_fastd_keys.sh ===&lt;br /&gt;
* /usr/bin/autoupate_fastd_keys.sh:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# Simple script to update fastd peers from git upstream&lt;br /&gt;
# and only send HUP to fastd when changes happend.&lt;br /&gt;
&lt;br /&gt;
# CONFIGURE THIS TO YOUR PEER DIRECTORY&lt;br /&gt;
FASTD_PEERS_ARRAY=( &amp;quot;freifunk-saar&amp;quot; &amp;quot;freifunk-lux&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
function getCurrentVersion() {&lt;br /&gt;
 # Get hash from latest revision&lt;br /&gt;
 git log --format=format:%H -1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
for FASTD_PEERS in &amp;quot;${FASTD_PEERS_ARRAY[@]}&amp;quot;&lt;br /&gt;
do&lt;br /&gt;
cd /etc/fastd/$FASTD_PEERS/peers&lt;br /&gt;
&lt;br /&gt;
# Get current version hash&lt;br /&gt;
GIT_REVISION=$(getCurrentVersion)&lt;br /&gt;
&lt;br /&gt;
# Automagically commit local changes&lt;br /&gt;
# This preserves local changes&lt;br /&gt;
git commit -m &amp;quot;CRON: auto commit&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Pull latest changes from upstream&lt;br /&gt;
git fetch&lt;br /&gt;
git merge origin/master -m &amp;quot;Auto Merge&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Get new version hash&lt;br /&gt;
GIT_NEW_REVISION=$(getCurrentVersion)&lt;br /&gt;
&lt;br /&gt;
if [ $GIT_REVISION != $GIT_NEW_REVISION ]&lt;br /&gt;
then&lt;br /&gt;
 # Version has changed we need to update&lt;br /&gt;
 echo &amp;quot;Reload fastd peers&amp;quot;&lt;br /&gt;
 kill -HUP $(cat /var/run/fastd.$FASTD_PEERS.pid)&lt;br /&gt;
fi&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Auch dieses Skript ausführbar machen: &amp;lt;code&amp;gt;chmod +x /usr/bin/autoupdate_fastd_keys.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
=== Skripte in crontab eintragen ===&lt;br /&gt;
* In &amp;lt;code&amp;gt;sudo crontab -e&amp;lt;/code&amp;gt; folgende Zeilen anhängen&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*/5 * * * *   /usr/bin/autoupdate_fastd_keys.sh &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
* * * * *   /usr/bin/check_gateway.sh &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Fastd-Config ==&lt;br /&gt;
* &amp;lt;code&amp;gt;mkdir /etc/fastd/freifunk-{saar,lux}/&amp;lt;/code&amp;gt;&lt;br /&gt;
* Config-Dateien anlegen und entsprechenden Inhalt reinkopieren:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
log level warn;&lt;br /&gt;
hide ip addresses yes;&lt;br /&gt;
hide mac addresses yes;&lt;br /&gt;
&lt;br /&gt;
interface &amp;quot;xxxxMESH&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
method &amp;quot;salsa2012+umac&amp;quot;;    # new method (faster)&lt;br /&gt;
method &amp;quot;salsa2012+gmac&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
bind any:10000 interface &amp;quot;eth0&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
include &amp;quot;secret.conf&amp;quot;;&lt;br /&gt;
mtu 1426; # 1492 - IPv4/IPv6 Header - fastd Header...&lt;br /&gt;
&lt;br /&gt;
include peers from &amp;quot;peers&amp;quot;;&lt;br /&gt;
include peers from &amp;quot;peers-gw&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
secure handshakes yes;&lt;br /&gt;
&lt;br /&gt;
on up &amp;quot;&lt;br /&gt;
ip link set dev xxxxMESH address ca:fe:ba:be:00:0X&lt;br /&gt;
ip link set dev xxxxMESH up&lt;br /&gt;
&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Secret Keys aus den Repos besorgen und in secret.conf schreiben&lt;br /&gt;
* Neuen SSH-Key anlegen, als Deploy Key in die Gitlab-Projekte https://git.hacksaar.de/FreifunkSaar/mesh-vpn-peers und https://git.hacksaar.de/FreifunkSaar/mesh-vpn-peers-lux eintragen.&lt;br /&gt;
* Mesh-VPN-Peers-Verzeichnis als &amp;quot;peers&amp;quot; klonen: &amp;lt;code&amp;gt;git clone git@hacksaar.de:FreifunkSaar/mesh-vpn-peers.git peers&amp;lt;/code&amp;gt; bzw &amp;lt;code&amp;gt;git clone git@hacksaar.de:FreifunkSaar/mesh-vpn-peers-lux.git peers&amp;lt;/code&amp;gt; jeweils im entsprechende Verzeichnis&lt;br /&gt;
* Feuer!: &amp;lt;code&amp;gt;sudo service fastd start&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DNS, DHCP und RA-Server ==&lt;br /&gt;
* Installieren: &amp;lt;code&amp;gt;apt-get install isc-dhcp-server bind9 radvd&amp;lt;/code&amp;gt;&lt;br /&gt;
=== Domain Name Server ===&lt;br /&gt;
=== IPv4 Dynamic Host Configuration Protocol ===&lt;br /&gt;
* /etc/dhcp/dhcpd.conf: (Komplett ersetzen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ddns-update-style none;&lt;br /&gt;
default-lease-time 300;&lt;br /&gt;
max-lease-time 300;&lt;br /&gt;
authoritative;&lt;br /&gt;
&lt;br /&gt;
log-facility local6;&lt;br /&gt;
&lt;br /&gt;
subnet 10.24.192.0 netmask 255.255.192.0 {&lt;br /&gt;
        range 10.24.XXX.0 10.24.XXX+3.255;&lt;br /&gt;
        option routers 10.24.192.ZZZ;&lt;br /&gt;
        option domain-name-servers 10.24.192.2, 10.24.192.3, 10.24.192.4;&lt;br /&gt;
        option domain-search &amp;quot;ffsaar&amp;quot;;&lt;br /&gt;
        option ntp-servers 10.24.192.2, 10.24.192.3, 10.24.192.4;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
subnet 10.24.128.0 netmask 255.255.192.0 {&lt;br /&gt;
        range 10.24.YYY.0 10.24.YYY+3.255;&lt;br /&gt;
        option routers 10.24.128.ZZZ;&lt;br /&gt;
        option domain-name-servers 10.24.128.2, 10.24.128.3, 10.24.128.4;&lt;br /&gt;
        option domain-search &amp;quot;fflux&amp;quot;;&lt;br /&gt;
        option ntp-servers 10.24.128.2, 10.24.128.3, 10.24.128.4;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* XXX, XXX+3, YYY, YYY+3, ZZZ durch richtige Werte ersetzen&lt;br /&gt;
* /etc/default/isc-dhcp-server (Zeile INTERFACES ersetzen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
INTERFACES=&amp;quot;saarBR luxBR&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Neu starten: &amp;lt;code&amp;gt;service isc-dhcp-server restart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== IPv6 Router Advertisements ===&lt;br /&gt;
&lt;br /&gt;
== Knoteninformationen (Alfred...) ==&lt;br /&gt;
&#039;&#039;&#039;Dieser Punkt befindet sich aktuell in der Erstellung und wird später noch auf die anderen Kapitel aufgeteilt --[[Benutzer:Rugosh|Rugosh]] ([[Benutzer Diskussion:Rugosh|Diskussion]]) 16:38, 22. Feb. 2015 (CET)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Alfred wird auf den Gateways benötigt um die Knoteninformationen zu sammeln und aus diesen Informationen eine Knotendatei unter anderem für die Freifunkkarte bauen zu können.&lt;br /&gt;
Der Server, auf welchem die Knotendatei generiert wird ist hier logisch gesehen der Master die anderen Systeme sind als Slave zu konfigurieren.&lt;br /&gt;
&lt;br /&gt;
Da wir auf unseren Gateways sowohl Saar las auch Lux Freifunk betreiben benötigen wir auch eine Doppelkonfiguration der Knotenerstellung. Dies betrifft sowohl Alfred als auch den Punkt, dass der Master für mehrere Communities Kartendaten erstellen können muss.&lt;br /&gt;
&lt;br /&gt;
=== Slave Konfiguration ===&lt;br /&gt;
Benötigte Komponenten:&lt;br /&gt;
* Alfred&lt;br /&gt;
* Batman&lt;br /&gt;
&lt;br /&gt;
==== Alfred Konfiguration ====&lt;br /&gt;
Wir benötigen zuerst einmal zwei Alfred daemons:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo service alfred stop&lt;br /&gt;
sudo cp /etc/default/alfred /etc/default/alfred-saar&lt;br /&gt;
sudo cp /etc/default/alfred /etc/default/alfred-lux&lt;br /&gt;
sudo cp /etc/init.d/alfred /etc/init.d/alfred-saar&lt;br /&gt;
sudo cp /etc/init.d/alfred /etc/init.d/alfred-lux&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Alfred muss auf auf dem Slave lediglich auf den MASTER=0 gesetzt werden und das Interface, sowie Batman muss angegeben sein. Die Konfiguration findet in der Konfigurationsdatei &amp;lt;code&amp;gt;/etc/default/alfred-XXX&amp;lt;/code&amp;gt; wie folgt statt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# /etc/default/alfred-saar&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
# Additional command line options&lt;br /&gt;
DAEMON_OPTS=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Enable master mode (0/1)&lt;br /&gt;
MASTER=0&lt;br /&gt;
&lt;br /&gt;
# Interface for A.L.F.R.E.D. to listen on. Has to be specified.&lt;br /&gt;
INTERFACE=br-ff&lt;br /&gt;
&lt;br /&gt;
# Specify the batman-adv interface configured on the system (default: bat0).&lt;br /&gt;
# Use &#039;none&#039; to disable the batman-adv based best server selection.&lt;br /&gt;
BATMANIF=saarBAT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# /etc/default/alfred-lux&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
# Additional command line options&lt;br /&gt;
DAEMON_OPTS=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Enable master mode (0/1)&lt;br /&gt;
MASTER=0&lt;br /&gt;
&lt;br /&gt;
# Interface for A.L.F.R.E.D. to listen on. Has to be specified.&lt;br /&gt;
INTERFACE=luxBR&lt;br /&gt;
&lt;br /&gt;
# Specify the batman-adv interface configured on the system (default: bat0).&lt;br /&gt;
# Use &#039;none&#039; to disable the batman-adv based best server selection.&lt;br /&gt;
BATMANIF=luxBAT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Anpassen der init.d Dateien für die Alfreds...&lt;br /&gt;
&#039;&#039;&#039;Nachfolgende Configs erzeugen noch keinen eigenständigen Alfed Socket...&#039;&#039;&#039; Leider muss damit die Alfreds eigene Sockets haben anscheinend alfred selbst mit anderen werten kompaliert werden https://github.com/tcatm/alfred/blob/master/alfred.h oder hier muss eine andere (bessere) Lösung gefunden werden. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Ausschnitt der anzupassenden Datei /etc/init.d/alfred-saar&lt;br /&gt;
&lt;br /&gt;
DESC=&amp;quot;A.L.F.R.E.D -&amp;gt; Saar&amp;quot;&lt;br /&gt;
NAME=alfred&lt;br /&gt;
NAME2=alfred-saar&lt;br /&gt;
DAEMON=/usr/sbin/$NAME&lt;br /&gt;
PIDFILE=/var/run/$NAME2.pid&lt;br /&gt;
SCRIPTNAME=/etc/init.d/$NAME2&lt;br /&gt;
GROUP=alfred &lt;br /&gt;
OPTIONS=&amp;quot;&amp;quot;&lt;br /&gt;
UMASK=0117&lt;br /&gt;
&lt;br /&gt;
[ -x &amp;quot;$DAEMON&amp;quot; ] || exit 0&lt;br /&gt;
&lt;br /&gt;
# Source defaults.&lt;br /&gt;
[ -r /etc/default/$NAME2 ] &amp;amp;&amp;amp; . /etc/default/$NAME2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Ausschnitt der anzupassenden Datei /etc/init.d/alfred-lux&lt;br /&gt;
&lt;br /&gt;
DESC=&amp;quot;A.L.F.R.E.D -&amp;gt; Lux&amp;quot;&lt;br /&gt;
NAME=alfred-lux&lt;br /&gt;
DAEMON=/usr/sbin/$NAME&lt;br /&gt;
PIDFILE=/var/run/$NAME2.pid&lt;br /&gt;
SCRIPTNAME=/etc/init.d/$NAME2&lt;br /&gt;
GROUP=alfred&lt;br /&gt;
OPTIONS=&amp;quot;&amp;quot;&lt;br /&gt;
UMASK=0117&lt;br /&gt;
&lt;br /&gt;
[ -x &amp;quot;$DAEMON&amp;quot; ] || exit 0&lt;br /&gt;
&lt;br /&gt;
# Source defaults.&lt;br /&gt;
[ -r /etc/default/$NAME2 ] &amp;amp;&amp;amp; . /etc/default/$NAME2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Starten der neuen Alfreds&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo service alfred-saar start&lt;br /&gt;
sudo service alfred-lux start&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Nun testen ob alles wie gewünscht funktioniert und erst nach einem erfolgreichen Test die nun nicht mehr benötigten Daten löschen.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rm /etc/default/alfred&lt;br /&gt;
sudo rm /etc/init.d/alfred.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== batadv-vis ====&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=== Master Konfiguration ===&lt;br /&gt;
Benötigte Komponenten:&lt;br /&gt;
* Alfred&lt;br /&gt;
* Alfred-JSON&lt;br /&gt;
* Batman&lt;br /&gt;
&lt;br /&gt;
==== Alfred Konfiguration ====&lt;br /&gt;
Alfred muss auf auf dem Slave lediglich auf den MASTER=1 gesetzt werden und das Interface, sowie Batman muss angegeben sein. Für Details siehe [[#Alfred_Konfiguration | Slave Konfiguration -&amp;gt; Alfred Konfigurieren ]]&lt;br /&gt;
&#039;&#039;&#039;Achtung: Da auf dem Master aktuell nur ein Batman device läuft, ist hier aktuell kein alfred-lux gestartet, aber vorkonfiguriert&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Knotendateigenerierung ====&lt;br /&gt;
* Benötigt auch alias config&lt;br /&gt;
* bat2nodes für Kartengenerierung mit mkmap Skript. Checkout newest Version from https://github.com/freifunk-saar/ffmap-backend -&amp;gt; done.&lt;br /&gt;
* Cron Eintrag vom mkmap Skript&lt;br /&gt;
&lt;br /&gt;
==== Alias Konfiguration ====&lt;br /&gt;
Da wir uns für die manuelle Konfiguration des Announcement der Gateway Informationen entschieden haben ist eine Anpassung der Alias Datei für jede neue Gateway erforderlich.&lt;br /&gt;
Die Dateien &amp;lt;code&amp;gt;aliases_saar.json&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;aliases_lux.json&amp;lt;/code&amp;gt; befindet sich im bat2nodes Verzeichnis und beinhaltet für jede Gateway einen Alias Eintrag.&lt;br /&gt;
&lt;br /&gt;
Beipiel:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
   &amp;quot;&amp;lt;KENNUNG&amp;gt;1&amp;quot; : {&lt;br /&gt;
      &amp;quot;name&amp;quot; : &amp;quot;gw1.saar.freifunk.net&amp;quot;,&lt;br /&gt;
      &amp;quot;vpn&amp;quot; : true&lt;br /&gt;
   },&lt;br /&gt;
   &amp;quot;&amp;lt;KENNUNG&amp;gt;2&amp;quot; : {&lt;br /&gt;
      &amp;quot;name&amp;quot; : &amp;quot;gw2.saar.freifunk.net&amp;quot;,&lt;br /&gt;
      &amp;quot;vpn&amp;quot; : true&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== batadv-vis ====&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=== alfed-json ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== To be continued... ==&lt;br /&gt;
* DNSmasq statt radvd, bind, isc-dhcp-server&lt;br /&gt;
* iptables NAT&lt;/div&gt;</summary>
		<author><name>Tobi042</name></author>
	</entry>
	<entry>
		<id>https://wiki.hacksaar.de/index.php?title=Freifunk:Mesh-VPN_Gateway-Server_einrichten&amp;diff=1926</id>
		<title>Freifunk:Mesh-VPN Gateway-Server einrichten</title>
		<link rel="alternate" type="text/html" href="https://wiki.hacksaar.de/index.php?title=Freifunk:Mesh-VPN_Gateway-Server_einrichten&amp;diff=1926"/>
		<updated>2015-03-25T18:26:49Z</updated>

		<summary type="html">&lt;p&gt;Tobi042: /* Netzwerkinterafaces einstellen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Unsere Gateways laufen auf Debian 7 Wheezy. Diese Anleitungen orientieren sich an anderen Freifunk-Communities, aber einen sehr nennenswerten Einfluss hat die geniale Dokumentation von Freifunk Mainz, Wiesbaden und Umgebung (http://gluon-gateway-doku.readthedocs.org/de/latest/) gehabt.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
Größtenteils egal, wichtig ist folgendes: Root bekommt kein Passwort, dadurch wird der Root-Login gesperrt und man muss sudo benutzen. Als zu installierende Paketgruppen nutzen wir Debian-Standardutilities und SSH-Server.&lt;br /&gt;
&lt;br /&gt;
== SSH einrichten ==&lt;br /&gt;
&lt;br /&gt;
* Einloggen: &lt;br /&gt;
*: &amp;lt;code&amp;gt;ssh user@gwX.saar.freifunk.de&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;mkdir .ssh&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;echo &amp;quot;dein_ssh_key&amp;quot; &amp;gt; .ssh/authorized_keys&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;nano /etc/ssh/sshd_config&amp;lt;/code&amp;gt;&lt;br /&gt;
*: Folgende Änderungen vornehmen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;...&lt;br /&gt;
PermitRootLogin no&lt;br /&gt;
...&lt;br /&gt;
PasswordAuthentication no&lt;br /&gt;
...&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Alte Session aktiv lassen, in neuem Terminal versuchen mit Public Key einzuloggen. Wenn nicht erfolgreich debuggen.&lt;br /&gt;
* &amp;lt;code&amp;gt;sudo service ssh restart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Überflüssige Pakete deinstallieren ==&lt;br /&gt;
&lt;br /&gt;
Da wir eben etwas großzügig waren mit der Installation von Paketgruppen müssen wir jetzt exim und nfs-Kram deinstallieren:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;sudo apt-get remove exim4* nfs-common rpcbind&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Als Resultat sollte bei Ausführung von &amp;quot;sudo netstat -tulpn&amp;quot; keine Programme außer sshd und vielleicht dhclient angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
== APT Sources hinzufügen ==&lt;br /&gt;
&lt;br /&gt;
Wir benötigen die Sources für fastd und batman-adv:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;nano /etc/apt/sources.list&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 deb http://security.debian.org/ wheezy/updates main contrib non-free&lt;br /&gt;
 deb-src http://security.debian.org/ wheezy/updates main contrib non-free&lt;br /&gt;
  &lt;br /&gt;
 # fastd&lt;br /&gt;
 deb http://ftp.de.debian.org/debian wheezy-backports main&lt;br /&gt;
 deb http://repo.universe-factory.net/debian/ sid main&lt;br /&gt;
&lt;br /&gt;
 # alfred&lt;br /&gt;
 deb http://debian.draic.info/ wheezy main&lt;br /&gt;
 deb-src http://debian.draic.info/ wheezy main&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Schlüssel für repo importieren: &lt;br /&gt;
* &amp;lt;code&amp;gt;gpg --keyserver pgpkeys.mit.edu --recv-key  B89033D8&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;gpg -a --export B89033D8 | apt-key add -&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;gpg --keyserver pgpkeys.mit.edu --recv-key  16EF3F64CB201D9C&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;gpg -a --export 16EF3F64CB201D9C | apt-key add -&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pakete installieren ==&lt;br /&gt;
* &amp;lt;code&amp;gt;apt-get update&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;apt-get install batctl batman-adv-dkms fastd bridge-utils&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;echo &amp;quot;batman-adv&amp;quot; &amp;gt;&amp;gt; /etc/modules&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Netzwerk Grundkonfiguration ==&lt;br /&gt;
=== Sysctl Einstellungen ===&lt;br /&gt;
* /etc/sysctl.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Freifunk specific settings&lt;br /&gt;
net.ipv4.ip_forward=1&lt;br /&gt;
&lt;br /&gt;
net.bridge.bridge-nf-call-arptables = 0&lt;br /&gt;
net.bridge.bridge-nf-call-ip6tables = 0&lt;br /&gt;
net.bridge.bridge-nf-call-iptables = 0&lt;br /&gt;
&lt;br /&gt;
net.ipv6.conf.all.forwarding=1&lt;br /&gt;
&lt;br /&gt;
net.ipv6.conf.all.autoconf = 0&lt;br /&gt;
net.ipv6.conf.default.autoconf = 0&lt;br /&gt;
net.ipv6.conf.eth0.autoconf = 0&lt;br /&gt;
&lt;br /&gt;
net.ipv6.conf.all.accept_ra = 0&lt;br /&gt;
net.ipv6.conf.default.accept_ra = 0&lt;br /&gt;
net.ipv6.conf.eth0.accept_ra = 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Danach neu laden: &amp;lt;code&amp;gt;sysctl -p /etc/sysctl.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Routing Tables erstellen ===&lt;br /&gt;
* /etc/iproute2/rt_tables (bisherige Einstellungen beibehalten und folgende hinzufügen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# freifunk&lt;br /&gt;
32      saar&lt;br /&gt;
33      lux&lt;br /&gt;
42      icvpn&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Netzwerkinterafaces einstellen ===&lt;br /&gt;
* /etc/network/interfaces (andere Interfaces nach der entsprechenden Konfiguration belassen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# FREIFUNK SAAR&lt;br /&gt;
#&lt;br /&gt;
auto saarBR&lt;br /&gt;
iface saarBR inet static&lt;br /&gt;
    bridge_ports none&lt;br /&gt;
    bridge_fd 0&lt;br /&gt;
    bridge_maxwait 0&lt;br /&gt;
    address 10.24.192.XXX&lt;br /&gt;
    netmask 255.255.192.0&lt;br /&gt;
    # be sure all incoming traffic is handled by the appropriate rt_table&lt;br /&gt;
    post-up         /sbin/ip rule add iif $IFACE table saar priority 3200&lt;br /&gt;
    pre-down        /sbin/ip rule del iif $IFACE table saar priority 3200&lt;br /&gt;
    # default route is unreachable&lt;br /&gt;
    post-up         /sbin/ip route add unreachable default table saar&lt;br /&gt;
    post-down       /sbin/ip route del unreachable default table saar&lt;br /&gt;
    # local reachable subnet saar for rt_table lux&lt;br /&gt;
    post-up         /sbin/ip route add 10.24.128.0/18 proto static dev $IFACE table lux&lt;br /&gt;
    post-down       /sbin/ip route del 10.24.128.0/18 proto static dev $IFACE table lux&lt;br /&gt;
&lt;br /&gt;
iface saarBR inet6 static&lt;br /&gt;
    address fd4e:f2d7:88d2:ffff::XXX&lt;br /&gt;
    netmask 64&lt;br /&gt;
    # be sure all incoming traffic is handled by the appropriate rt_table&lt;br /&gt;
    post-up         /sbin/ip -6 rule add iif $IFACE table saar priority 3200&lt;br /&gt;
    pre-down        /sbin/ip -6 rule del iif $IFACE table saar priority 3200&lt;br /&gt;
    post-up         /sbin/ip -6 route add fe80::/64 proto static dev $IFACE table saar&lt;br /&gt;
    post-down       /sbin/ip -6 route del fe80::/64 proto static dev $IFACE table saar&lt;br /&gt;
    post-up         /sbin/ip -6 route add fd4e:f2d7:88d2:ffff::/64 proto static dev $IFACE table saar&lt;br /&gt;
    post-down       /sbin/ip -6 route del fd4e:f2d7:88d2:ffff::/64 proto static dev $IFACE table saar&lt;br /&gt;
    # ULA route mz for rt_table saar&lt;br /&gt;
    post-up         /sbin/ip -6 route add fd4e:f2d7:88d2:fffe::/64 proto static dev $IFACE table lux&lt;br /&gt;
    post-down       /sbin/ip -6 route del fd4e:f2d7:88d2:fffe::/64 proto static dev $IFACE table lux&lt;br /&gt;
&lt;br /&gt;
allow-hotplug saarMESH&lt;br /&gt;
iface saarMESH inet6 manual&lt;br /&gt;
    pre-up          /sbin/modprobe batman_adv&lt;br /&gt;
    post-up         /usr/sbin/batctl -m saarBAT if add $IFACE&lt;br /&gt;
    post-up         /sbin/ip link set dev saarBAT up&lt;br /&gt;
&lt;br /&gt;
allow-hotplug saarBAT&lt;br /&gt;
iface saarBAT inet6 manual&lt;br /&gt;
    pre-up          /sbin/modprobe batman-adv&lt;br /&gt;
    post-up         /sbin/brctl addif saarBR $IFACE&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE it 10000&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE vm server&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE gw server  6mbit/6mbit&lt;br /&gt;
    pre-down        /sbin/brctl delif saarBR $IFACE || true&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# FREIFUNK LUX &lt;br /&gt;
#&lt;br /&gt;
auto luxBR&lt;br /&gt;
iface luxBR inet static&lt;br /&gt;
    bridge_ports none&lt;br /&gt;
    bridge_fd 0&lt;br /&gt;
    bridge_maxwait 0&lt;br /&gt;
    address 10.24.128.XXX&lt;br /&gt;
    netmask 255.255.192.0&lt;br /&gt;
    # be sure all incoming traffic is handled by the appropriate rt_table&lt;br /&gt;
    post-up         /sbin/ip rule add iif $IFACE table lux priority 3300&lt;br /&gt;
    pre-down        /sbin/ip rule del iif $IFACE table lux priority 3300&lt;br /&gt;
    # default route is unreachable&lt;br /&gt;
    post-up         /sbin/ip route add unreachable default table lux &lt;br /&gt;
    post-down       /sbin/ip route del unreachable default table lux &lt;br /&gt;
    # local reachable subnet lux for rt_table saar&lt;br /&gt;
    post-up         /sbin/ip route add 10.24.192.0/18 proto static dev $IFACE table saar&lt;br /&gt;
    post-down       /sbin/ip route del 10.24.192.0/18 proto static dev $IFACE table saar&lt;br /&gt;
&lt;br /&gt;
iface luxBR inet6 static&lt;br /&gt;
    address fd4e:f2d7:88d2:fffe::XXX&lt;br /&gt;
    netmask 64&lt;br /&gt;
    # be sure all incoming traffic is handled by the appropriate rt_table&lt;br /&gt;
    post-up         /sbin/ip -6 rule add iif $IFACE table lux priority 3300&lt;br /&gt;
    pre-down        /sbin/ip -6 rule del iif $IFACE table lux priority 3300&lt;br /&gt;
    post-up         /sbin/ip -6 route add fe80::/64 proto static dev $IFACE table lux &lt;br /&gt;
    post-down       /sbin/ip -6 route del fe80::/64 proto static dev $IFACE table lux &lt;br /&gt;
    post-up         /sbin/ip -6 route add fd4e:f2d7:88d2:fffe::/64 proto static dev $IFACE table lux&lt;br /&gt;
    post-down       /sbin/ip -6 route del fd4e:f2d7:88d2:fffe::/64 proto static dev $IFACE table lux&lt;br /&gt;
    # ULA route saar for rt_table lux&lt;br /&gt;
    post-up         /sbin/ip -6 route add fd4e:f2d7:88d2:ffff::/64 proto static dev $IFACE table saar&lt;br /&gt;
    post-down       /sbin/ip -6 route del fd4e:f2d7:88d2:ffff::/64 proto static dev $IFACE table saar&lt;br /&gt;
&lt;br /&gt;
allow-hotplug luxMESH&lt;br /&gt;
iface luxMESH inet6 manual&lt;br /&gt;
    pre-up          /sbin/modprobe batman_adv&lt;br /&gt;
    post-up         /usr/sbin/batctl -m luxBAT if add $IFACE&lt;br /&gt;
    post-up         /sbin/ip link set dev luxBAT up&lt;br /&gt;
&lt;br /&gt;
allow-hotplug luxBAT&lt;br /&gt;
iface luxBAT inet6 manual&lt;br /&gt;
    pre-up          /sbin/modprobe batman-adv&lt;br /&gt;
    post-up         /sbin/brctl addif luxBR $IFACE&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE it 10000&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE vm server&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE gw server  6mbit/6mbit&lt;br /&gt;
    pre-down        /sbin/brctl delif luxBR $IFACE || true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Jedes Vorkommnis von XXX durch einen entsprechenden Wert aus dem Netzplan ersetzen, im Zweifel TobiT fragen&lt;br /&gt;
&lt;br /&gt;
== Helfer-Skripte ==&lt;br /&gt;
Es gibt 2 Helferskripte, die eingerichtet werden müssen. check_gateway.sh prüft minütlich, ob das ExitVPN noch steht. autoupdate_fastd_peers updatet die fastd-peers alle 5 Minuten per git.&lt;br /&gt;
=== check_gateway.sh ===&lt;br /&gt;
* /usr/bin/check_gateway.sh:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@gw2:/etc/fastd/freifunk-lux# less /usr/bin/check_gateway.sh&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
INTERFACE=tun0          # Set to name of VPN interface&lt;br /&gt;
DHCPSERVICE=dnsmasq     # Name of DHCP service&lt;br /&gt;
BANDWIDTH=XXX           # Server bandwidth&lt;br /&gt;
shopt -s nullglob&lt;br /&gt;
&lt;br /&gt;
# Test whether gateway is connected to the outer world via VPN&lt;br /&gt;
ping -q -I $INTERFACE 8.8.8.8 -c 4 -i 1 -W 5 &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
if test $? -eq 0; then&lt;br /&gt;
    NEW_STATE=server&lt;br /&gt;
else&lt;br /&gt;
    NEW_STATE=off&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Iterate through network interfaces in sys file system&lt;br /&gt;
for MESH in /sys/class/net/*/mesh; do&lt;br /&gt;
# Check whether gateway modus needs to be changed&lt;br /&gt;
OLD_STATE=&amp;quot;$(cat $MESH/gw_mode)&amp;quot;&lt;br /&gt;
[ &amp;quot;$OLD_STATE&amp;quot; == &amp;quot;$NEW_STATE&amp;quot; ] &amp;amp;&amp;amp; continue&lt;br /&gt;
    echo $NEW_STATE &amp;gt; $MESH/gw_mode&lt;br /&gt;
    echo ${BANDWIDTH}MBit/${BANDWIDTH}MBit &amp;gt; $MESH/gw_bandwidth&lt;br /&gt;
    logger &amp;quot;batman gateway mode changed to $NEW_STATE&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    # Check whether gateway modus has been deactivated&lt;br /&gt;
    if [ &amp;quot;$NEW_STATE&amp;quot; == &amp;quot;off&amp;quot; ]; then&lt;br /&gt;
        # Shutdown DHCP server to prevent renewal of leases&lt;br /&gt;
        /usr/sbin/service $DHCPSERVICE stop&lt;br /&gt;
    fi&lt;br /&gt;
&lt;br /&gt;
    # Check whether gateway modus has been activated&lt;br /&gt;
    if [ &amp;quot;$NEW_STATE&amp;quot; == &amp;quot;server&amp;quot; ]; then&lt;br /&gt;
        # Restart DHCP server&lt;br /&gt;
        /usr/sbin/service $DHCPSERVICE start&lt;br /&gt;
    fi&lt;br /&gt;
    exit 0&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
if [ &amp;quot;$NEW_STATE&amp;quot; == &amp;quot;server&amp;quot; ]; then&lt;br /&gt;
    /usr/sbin/service $DHCPSERVICE status 2&amp;gt;&amp;amp;1&amp;gt; /dev/null&lt;br /&gt;
    if [[ $? -ne 0 ]]&lt;br /&gt;
    then&lt;br /&gt;
        /usr/sbin/service $DHCPSERVICE restart&lt;br /&gt;
    fi&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$NEW_STATE&amp;quot; == &amp;quot;off&amp;quot; ]; then&lt;br /&gt;
    /usr/sbin/service $DHCPSERVICE status 2&amp;gt;&amp;amp;1&amp;gt; /dev/null&lt;br /&gt;
    if [[ $? -eq 0 ]]&lt;br /&gt;
    then&lt;br /&gt;
        /usr/sbin/service $DHCPSERVICE stop&lt;br /&gt;
    fi&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Ganz oben bei BANDWIDTH die Serverbandbreite in MBit/s einstellen, damit diese ordentlich via Batman announced werden kann.&lt;br /&gt;
* Speichern und mit &amp;lt;code&amp;gt;chmod +x /usr/bin/check_gateway.sh&amp;lt;/code&amp;gt; ausführbar machen&lt;br /&gt;
=== autoupdate_fastd_keys.sh ===&lt;br /&gt;
* /usr/bin/autoupate_fastd_keys.sh:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# Simple script to update fastd peers from git upstream&lt;br /&gt;
# and only send HUP to fastd when changes happend.&lt;br /&gt;
&lt;br /&gt;
# CONFIGURE THIS TO YOUR PEER DIRECTORY&lt;br /&gt;
FASTD_PEERS_ARRAY=( &amp;quot;freifunk-saar&amp;quot; &amp;quot;freifunk-lux&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
function getCurrentVersion() {&lt;br /&gt;
 # Get hash from latest revision&lt;br /&gt;
 git log --format=format:%H -1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
for FASTD_PEERS in &amp;quot;${FASTD_PEERS_ARRAY[@]}&amp;quot;&lt;br /&gt;
do&lt;br /&gt;
cd /etc/fastd/$FASTD_PEERS/peers&lt;br /&gt;
&lt;br /&gt;
# Get current version hash&lt;br /&gt;
GIT_REVISION=$(getCurrentVersion)&lt;br /&gt;
&lt;br /&gt;
# Automagically commit local changes&lt;br /&gt;
# This preserves local changes&lt;br /&gt;
git commit -m &amp;quot;CRON: auto commit&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Pull latest changes from upstream&lt;br /&gt;
git fetch&lt;br /&gt;
git merge origin/master -m &amp;quot;Auto Merge&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Get new version hash&lt;br /&gt;
GIT_NEW_REVISION=$(getCurrentVersion)&lt;br /&gt;
&lt;br /&gt;
if [ $GIT_REVISION != $GIT_NEW_REVISION ]&lt;br /&gt;
then&lt;br /&gt;
 # Version has changed we need to update&lt;br /&gt;
 echo &amp;quot;Reload fastd peers&amp;quot;&lt;br /&gt;
 kill -HUP $(cat /var/run/fastd.$FASTD_PEERS.pid)&lt;br /&gt;
fi&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Auch dieses Skript ausführbar machen: &amp;lt;code&amp;gt;chmod +x /usr/bin/autoupdate_fastd_keys.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
=== Skripte in crontab eintragen ===&lt;br /&gt;
* In &amp;lt;code&amp;gt;sudo crontab -e&amp;lt;/code&amp;gt; folgende Zeilen anhängen&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*/5 * * * *   /usr/bin/autoupdate_fastd_keys.sh &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
* * * * *   /usr/bin/check_gateway.sh &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Fastd-Config ==&lt;br /&gt;
* &amp;lt;code&amp;gt;mkdir /etc/fastd/freifunk-{saar,lux}/&amp;lt;/code&amp;gt;&lt;br /&gt;
* Config-Dateien anlegen und entsprechenden Inhalt reinkopieren: TODO Link zu Config-Repo einfügen&lt;br /&gt;
* Secret Keys aus den Repos besorgen und in secret.conf schreiben&lt;br /&gt;
* Neuen SSH-Key anlegen, als Deploy Key in die Gitlab-Projekte https://git.hacksaar.de/FreifunkSaar/mesh-vpn-peers und https://git.hacksaar.de/FreifunkSaar/mesh-vpn-peers-lux eintragen.&lt;br /&gt;
* Mesh-VPN-Peers-Verzeichnis als &amp;quot;peers&amp;quot; klonen: &amp;lt;code&amp;gt;git clone git@hacksaar.de:FreifunkSaar/mesh-vpn-peers.git peers&amp;lt;/code&amp;gt; bzw &amp;lt;code&amp;gt;git clone git@hacksaar.de:FreifunkSaar/mesh-vpn-peers-lux.git peers&amp;lt;/code&amp;gt; jeweils im entsprechende Verzeichnis&lt;br /&gt;
* Feuer!: &amp;lt;code&amp;gt;sudo service fastd start&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DNS, DHCP und RA-Server ==&lt;br /&gt;
* Installieren: &amp;lt;code&amp;gt;apt-get install isc-dhcp-server bind9 radvd&amp;lt;/code&amp;gt;&lt;br /&gt;
=== Domain Name Server ===&lt;br /&gt;
=== IPv4 Dynamic Host Configuration Protocol ===&lt;br /&gt;
* /etc/dhcp/dhcpd.conf: (Komplett ersetzen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ddns-update-style none;&lt;br /&gt;
default-lease-time 300;&lt;br /&gt;
max-lease-time 300;&lt;br /&gt;
authoritative;&lt;br /&gt;
&lt;br /&gt;
log-facility local6;&lt;br /&gt;
&lt;br /&gt;
subnet 10.24.192.0 netmask 255.255.192.0 {&lt;br /&gt;
        range 10.24.XXX.0 10.24.XXX+3.255;&lt;br /&gt;
        option routers 10.24.192.ZZZ;&lt;br /&gt;
        option domain-name-servers 10.24.192.2, 10.24.192.3, 10.24.192.4;&lt;br /&gt;
        option domain-search &amp;quot;ffsaar&amp;quot;;&lt;br /&gt;
        option ntp-servers 10.24.192.2, 10.24.192.3, 10.24.192.4;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
subnet 10.24.128.0 netmask 255.255.192.0 {&lt;br /&gt;
        range 10.24.YYY.0 10.24.YYY+3.255;&lt;br /&gt;
        option routers 10.24.128.ZZZ;&lt;br /&gt;
        option domain-name-servers 10.24.128.2, 10.24.128.3, 10.24.128.4;&lt;br /&gt;
        option domain-search &amp;quot;fflux&amp;quot;;&lt;br /&gt;
        option ntp-servers 10.24.128.2, 10.24.128.3, 10.24.128.4;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* XXX, XXX+3, YYY, YYY+3, ZZZ durch richtige Werte ersetzen&lt;br /&gt;
* /etc/default/isc-dhcp-server (Zeile INTERFACES ersetzen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
INTERFACES=&amp;quot;saarBR luxBR&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Neu starten: &amp;lt;code&amp;gt;service isc-dhcp-server restart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== IPv6 Router Advertisements ===&lt;br /&gt;
&lt;br /&gt;
== Knoteninformationen (Alfred...) ==&lt;br /&gt;
&#039;&#039;&#039;Dieser Punkt befindet sich aktuell in der Erstellung und wird später noch auf die anderen Kapitel aufgeteilt --[[Benutzer:Rugosh|Rugosh]] ([[Benutzer Diskussion:Rugosh|Diskussion]]) 16:38, 22. Feb. 2015 (CET)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Alfred wird auf den Gateways benötigt um die Knoteninformationen zu sammeln und aus diesen Informationen eine Knotendatei unter anderem für die Freifunkkarte bauen zu können.&lt;br /&gt;
Der Server, auf welchem die Knotendatei generiert wird ist hier logisch gesehen der Master die anderen Systeme sind als Slave zu konfigurieren.&lt;br /&gt;
&lt;br /&gt;
Da wir auf unseren Gateways sowohl Saar las auch Lux Freifunk betreiben benötigen wir auch eine Doppelkonfiguration der Knotenerstellung. Dies betrifft sowohl Alfred als auch den Punkt, dass der Master für mehrere Communities Kartendaten erstellen können muss.&lt;br /&gt;
&lt;br /&gt;
=== Slave Konfiguration ===&lt;br /&gt;
Benötigte Komponenten:&lt;br /&gt;
* Alfred&lt;br /&gt;
* Batman&lt;br /&gt;
&lt;br /&gt;
==== Alfred Konfiguration ====&lt;br /&gt;
Wir benötigen zuerst einmal zwei Alfred daemons:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo service alfred stop&lt;br /&gt;
sudo cp /etc/default/alfred /etc/default/alfred-saar&lt;br /&gt;
sudo cp /etc/default/alfred /etc/default/alfred-lux&lt;br /&gt;
sudo cp /etc/init.d/alfred /etc/init.d/alfred-saar&lt;br /&gt;
sudo cp /etc/init.d/alfred /etc/init.d/alfred-lux&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Alfred muss auf auf dem Slave lediglich auf den MASTER=0 gesetzt werden und das Interface, sowie Batman muss angegeben sein. Die Konfiguration findet in der Konfigurationsdatei &amp;lt;code&amp;gt;/etc/default/alfred-XXX&amp;lt;/code&amp;gt; wie folgt statt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# /etc/default/alfred-saar&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
# Additional command line options&lt;br /&gt;
DAEMON_OPTS=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Enable master mode (0/1)&lt;br /&gt;
MASTER=0&lt;br /&gt;
&lt;br /&gt;
# Interface for A.L.F.R.E.D. to listen on. Has to be specified.&lt;br /&gt;
INTERFACE=br-ff&lt;br /&gt;
&lt;br /&gt;
# Specify the batman-adv interface configured on the system (default: bat0).&lt;br /&gt;
# Use &#039;none&#039; to disable the batman-adv based best server selection.&lt;br /&gt;
BATMANIF=saarBAT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# /etc/default/alfred-lux&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
# Additional command line options&lt;br /&gt;
DAEMON_OPTS=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Enable master mode (0/1)&lt;br /&gt;
MASTER=0&lt;br /&gt;
&lt;br /&gt;
# Interface for A.L.F.R.E.D. to listen on. Has to be specified.&lt;br /&gt;
INTERFACE=luxBR&lt;br /&gt;
&lt;br /&gt;
# Specify the batman-adv interface configured on the system (default: bat0).&lt;br /&gt;
# Use &#039;none&#039; to disable the batman-adv based best server selection.&lt;br /&gt;
BATMANIF=luxBAT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Anpassen der init.d Dateien für die Alfreds...&lt;br /&gt;
&#039;&#039;&#039;Nachfolgende Configs erzeugen noch keinen eigenständigen Alfed Socket...&#039;&#039;&#039; Leider muss damit die Alfreds eigene Sockets haben anscheinend alfred selbst mit anderen werten kompaliert werden https://github.com/tcatm/alfred/blob/master/alfred.h oder hier muss eine andere (bessere) Lösung gefunden werden. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Ausschnitt der anzupassenden Datei /etc/init.d/alfred-saar&lt;br /&gt;
&lt;br /&gt;
DESC=&amp;quot;A.L.F.R.E.D -&amp;gt; Saar&amp;quot;&lt;br /&gt;
NAME=alfred&lt;br /&gt;
NAME2=alfred-saar&lt;br /&gt;
DAEMON=/usr/sbin/$NAME&lt;br /&gt;
PIDFILE=/var/run/$NAME2.pid&lt;br /&gt;
SCRIPTNAME=/etc/init.d/$NAME2&lt;br /&gt;
GROUP=alfred &lt;br /&gt;
OPTIONS=&amp;quot;&amp;quot;&lt;br /&gt;
UMASK=0117&lt;br /&gt;
&lt;br /&gt;
[ -x &amp;quot;$DAEMON&amp;quot; ] || exit 0&lt;br /&gt;
&lt;br /&gt;
# Source defaults.&lt;br /&gt;
[ -r /etc/default/$NAME2 ] &amp;amp;&amp;amp; . /etc/default/$NAME2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Ausschnitt der anzupassenden Datei /etc/init.d/alfred-lux&lt;br /&gt;
&lt;br /&gt;
DESC=&amp;quot;A.L.F.R.E.D -&amp;gt; Lux&amp;quot;&lt;br /&gt;
NAME=alfred-lux&lt;br /&gt;
DAEMON=/usr/sbin/$NAME&lt;br /&gt;
PIDFILE=/var/run/$NAME2.pid&lt;br /&gt;
SCRIPTNAME=/etc/init.d/$NAME2&lt;br /&gt;
GROUP=alfred&lt;br /&gt;
OPTIONS=&amp;quot;&amp;quot;&lt;br /&gt;
UMASK=0117&lt;br /&gt;
&lt;br /&gt;
[ -x &amp;quot;$DAEMON&amp;quot; ] || exit 0&lt;br /&gt;
&lt;br /&gt;
# Source defaults.&lt;br /&gt;
[ -r /etc/default/$NAME2 ] &amp;amp;&amp;amp; . /etc/default/$NAME2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Starten der neuen Alfreds&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo service alfred-saar start&lt;br /&gt;
sudo service alfred-lux start&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Nun testen ob alles wie gewünscht funktioniert und erst nach einem erfolgreichen Test die nun nicht mehr benötigten Daten löschen.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rm /etc/default/alfred&lt;br /&gt;
sudo rm /etc/init.d/alfred.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== batadv-vis ====&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=== Master Konfiguration ===&lt;br /&gt;
Benötigte Komponenten:&lt;br /&gt;
* Alfred&lt;br /&gt;
* Alfred-JSON&lt;br /&gt;
* Batman&lt;br /&gt;
&lt;br /&gt;
==== Alfred Konfiguration ====&lt;br /&gt;
Alfred muss auf auf dem Slave lediglich auf den MASTER=1 gesetzt werden und das Interface, sowie Batman muss angegeben sein. Für Details siehe [[#Alfred_Konfiguration | Slave Konfiguration -&amp;gt; Alfred Konfigurieren ]]&lt;br /&gt;
&#039;&#039;&#039;Achtung: Da auf dem Master aktuell nur ein Batman device läuft, ist hier aktuell kein alfred-lux gestartet, aber vorkonfiguriert&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Knotendateigenerierung ====&lt;br /&gt;
* Benötigt auch alias config&lt;br /&gt;
* bat2nodes für Kartengenerierung mit mkmap Skript. Checkout newest Version from https://github.com/freifunk-saar/ffmap-backend -&amp;gt; done.&lt;br /&gt;
* Cron Eintrag vom mkmap Skript&lt;br /&gt;
&lt;br /&gt;
==== Alias Konfiguration ====&lt;br /&gt;
Da wir uns für die manuelle Konfiguration des Announcement der Gateway Informationen entschieden haben ist eine Anpassung der Alias Datei für jede neue Gateway erforderlich.&lt;br /&gt;
Die Dateien &amp;lt;code&amp;gt;aliases_saar.json&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;aliases_lux.json&amp;lt;/code&amp;gt; befindet sich im bat2nodes Verzeichnis und beinhaltet für jede Gateway einen Alias Eintrag.&lt;br /&gt;
&lt;br /&gt;
Beipiel:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
   &amp;quot;&amp;lt;KENNUNG&amp;gt;1&amp;quot; : {&lt;br /&gt;
      &amp;quot;name&amp;quot; : &amp;quot;gw1.saar.freifunk.net&amp;quot;,&lt;br /&gt;
      &amp;quot;vpn&amp;quot; : true&lt;br /&gt;
   },&lt;br /&gt;
   &amp;quot;&amp;lt;KENNUNG&amp;gt;2&amp;quot; : {&lt;br /&gt;
      &amp;quot;name&amp;quot; : &amp;quot;gw2.saar.freifunk.net&amp;quot;,&lt;br /&gt;
      &amp;quot;vpn&amp;quot; : true&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== batadv-vis ====&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=== alfed-json ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== To be continued... ==&lt;br /&gt;
* DNSmasq statt radvd, bind, isc-dhcp-server&lt;br /&gt;
* iptables NAT&lt;/div&gt;</summary>
		<author><name>Tobi042</name></author>
	</entry>
	<entry>
		<id>https://wiki.hacksaar.de/index.php?title=Freifunk:Mesh-VPN_Gateway-Server_einrichten&amp;diff=1899</id>
		<title>Freifunk:Mesh-VPN Gateway-Server einrichten</title>
		<link rel="alternate" type="text/html" href="https://wiki.hacksaar.de/index.php?title=Freifunk:Mesh-VPN_Gateway-Server_einrichten&amp;diff=1899"/>
		<updated>2015-02-21T04:26:12Z</updated>

		<summary type="html">&lt;p&gt;Tobi042: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Unsere Gateways laufen auf Debian 7 Wheezy. Diese Anleitungen orientieren sich an anderen Freifunk-Communities, aber einen sehr nennenswerten Einfluss hat die geniale Dokumentation von Freifunk Mainz, Wiesbaden und Umgebung (http://gluon-gateway-doku.readthedocs.org/de/latest/) gehabt.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
Größtenteils egal, wichtig ist folgendes: Root bekommt kein Passwort, dadurch wird der Root-Login gesperrt und man muss sudo benutzen. Als zu installierende Paketgruppen nutzen wir Debian-Standardutilities und SSH-Server.&lt;br /&gt;
&lt;br /&gt;
== SSH einrichten ==&lt;br /&gt;
&lt;br /&gt;
* Einloggen: &lt;br /&gt;
*: &amp;lt;code&amp;gt;ssh user@gwX.saar.freifunk.de&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;mkdir .ssh&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;echo &amp;quot;dein_ssh_key&amp;quot; &amp;gt; .ssh/authorized_keys&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;nano /etc/ssh/sshd_config&amp;lt;/code&amp;gt;&lt;br /&gt;
*: Folgende Änderungen vornehmen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;...&lt;br /&gt;
PermitRootLogin no&lt;br /&gt;
...&lt;br /&gt;
PasswordAuthentication no&lt;br /&gt;
...&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Alte Session aktiv lassen, in neuem Terminal versuchen mit Public Key einzuloggen. Wenn nicht erfolgreich debuggen.&lt;br /&gt;
* &amp;lt;code&amp;gt;sudo service ssh restart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Überflüssige Pakete deinstallieren ==&lt;br /&gt;
&lt;br /&gt;
Da wir eben etwas großzügig waren mit der Installation von Paketgruppen müssen wir jetzt exim und nfs-Kram deinstallieren:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;sudo apt-get remove exim4* nfs-common rpcbind&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Als Resultat sollte bei Ausführung von &amp;quot;sudo netstat -tulpn&amp;quot; keine Programme außer sshd und vielleicht dhclient angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
== APT Sources hinzufügen ==&lt;br /&gt;
&lt;br /&gt;
Wir benötigen die Sources für fastd und batman-adv:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;nano /etc/apt/sources.list&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 deb http://security.debian.org/ wheezy/updates main contrib non-free&lt;br /&gt;
 deb-src http://security.debian.org/ wheezy/updates main contrib non-free&lt;br /&gt;
  &lt;br /&gt;
 # fastd&lt;br /&gt;
 deb http://ftp.de.debian.org/debian wheezy-backports main&lt;br /&gt;
 deb http://repo.universe-factory.net/debian/ sid main&lt;br /&gt;
&lt;br /&gt;
 # alfred&lt;br /&gt;
 deb http://debian.draic.info/ wheezy main&lt;br /&gt;
 deb-src http://debian.draic.info/ wheezy main&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Schlüssel für repo importieren: &lt;br /&gt;
* &amp;lt;code&amp;gt;gpg --keyserver pgpkeys.mit.edu --recv-key  B89033D8&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;gpg -a --export B89033D8 | apt-key add -&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;gpg --keyserver pgpkeys.mit.edu --recv-key  16EF3F64CB201D9C&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;gpg -a --export 16EF3F64CB201D9C | apt-key add -&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pakete installieren ==&lt;br /&gt;
* &amp;lt;code&amp;gt;apt-get update&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;apt-get install batctl batman-adv-dkms fastd bridge-utils&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;echo &amp;quot;batman-adv&amp;quot; &amp;gt;&amp;gt; /etc/modules&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Netzwerk Grundkonfiguration ==&lt;br /&gt;
=== Sysctl Einstellungen ===&lt;br /&gt;
* /etc/sysctl.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Freifunk specific settings&lt;br /&gt;
net.ipv4.ip_forward=1&lt;br /&gt;
&lt;br /&gt;
net.bridge.bridge-nf-call-arptables = 0&lt;br /&gt;
net.bridge.bridge-nf-call-ip6tables = 0&lt;br /&gt;
net.bridge.bridge-nf-call-iptables = 0&lt;br /&gt;
&lt;br /&gt;
net.ipv6.conf.all.forwarding=1&lt;br /&gt;
&lt;br /&gt;
net.ipv6.conf.all.autoconf = 0&lt;br /&gt;
net.ipv6.conf.default.autoconf = 0&lt;br /&gt;
net.ipv6.conf.eth0.autoconf = 0&lt;br /&gt;
&lt;br /&gt;
net.ipv6.conf.all.accept_ra = 0&lt;br /&gt;
net.ipv6.conf.default.accept_ra = 0&lt;br /&gt;
net.ipv6.conf.eth0.accept_ra = 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Danach neu laden: &amp;lt;code&amp;gt;sysctl -p /etc/sysctl.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Routing Tables erstellen ===&lt;br /&gt;
* /etc/iproute2/rt_tables (bisherige Einstellungen beibehalten und folgende hinzufügen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# freifunk&lt;br /&gt;
32      saar&lt;br /&gt;
33      lux&lt;br /&gt;
42      icvpn&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Netzwerkinterafaces einstellen ===&lt;br /&gt;
* /etc/network/interfaces (andere Interfaces nach der entsprechenden Konfiguration belassen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# FREIFUNK SAAR&lt;br /&gt;
#&lt;br /&gt;
auto saarBR&lt;br /&gt;
iface saarBR inet static&lt;br /&gt;
    bridge_ports none&lt;br /&gt;
    bridge_fd 0&lt;br /&gt;
    bridge_maxwait 0&lt;br /&gt;
    address 10.24.192.XXX&lt;br /&gt;
    netmask 255.255.192.0&lt;br /&gt;
    # be sure all incoming traffic is handled by the appropriate rt_table&lt;br /&gt;
    post-up         /sbin/ip rule add iif $IFACE table saar priority 3200&lt;br /&gt;
    pre-down        /sbin/ip rule del iif $IFACE table saar priority 3200&lt;br /&gt;
    # default route is unreachable&lt;br /&gt;
    post-up         /sbin/ip route add unreachable default table saar&lt;br /&gt;
    post-down       /sbin/ip route del unreachable default table saar&lt;br /&gt;
    # local reachable subnet saar for rt_table lux&lt;br /&gt;
    post-up         /sbin/ip route add 10.24.128.0/18 proto static dev $IFACE table lux&lt;br /&gt;
    post-down       /sbin/ip route del 10.24.128.0/18 proto static dev $IFACE table lux&lt;br /&gt;
&lt;br /&gt;
iface saarBR inet6 static&lt;br /&gt;
    address fd4e:f2d7:88d2:ffff::XXX&lt;br /&gt;
    netmask 64&lt;br /&gt;
    # be sure all incoming traffic is handled by the appropriate rt_table&lt;br /&gt;
    post-up         /sbin/ip -6 rule add iif $IFACE table saar priority 3200&lt;br /&gt;
    pre-down        /sbin/ip -6 rule del iif $IFACE table saar priority 3200&lt;br /&gt;
    post-up         /sbin/ip -6 route add fe80::/64 proto static dev $IFACE table saar&lt;br /&gt;
    post-down       /sbin/ip -6 route del fe80::/64 proto static dev $IFACE table saar&lt;br /&gt;
    post-up         /sbin/ip -6 route add fd4e:f2d7:88d2:ffff::/64 proto static dev $IFACE table saar&lt;br /&gt;
    post-down       /sbin/ip -6 route del fd4e:f2d7:88d2:ffff::/64 proto static dev $IFACE table saar&lt;br /&gt;
    # ULA route mz for rt_table saar&lt;br /&gt;
    post-up         /sbin/ip -6 route add fd4e:f2d7:88d2:fffe::/64 proto static dev $IFACE table lux&lt;br /&gt;
    post-down       /sbin/ip -6 route del fd4e:f2d7:88d2:fffe::/64 proto static dev $IFACE table lux&lt;br /&gt;
&lt;br /&gt;
allow-hotplug saarMESH&lt;br /&gt;
iface saarMESH inet6 manual&lt;br /&gt;
    hwaddress ca:fe:ba:be:00:XXX&lt;br /&gt;
    pre-up          /sbin/modprobe batman_adv&lt;br /&gt;
    post-up         /usr/sbin/batctl -m saarBAT if add $IFACE&lt;br /&gt;
    post-up         /sbin/ip link set dev saarBAT up&lt;br /&gt;
&lt;br /&gt;
allow-hotplug saarBAT&lt;br /&gt;
iface saarBAT inet6 manual&lt;br /&gt;
    pre-up          /sbin/modprobe batman-adv&lt;br /&gt;
    post-up         /sbin/brctl addif saarBR $IFACE&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE it 10000&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE vm server&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE gw server  6mbit/6mbit&lt;br /&gt;
    pre-down        /sbin/brctl delif saarBR $IFACE || true&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# FREIFUNK LUX &lt;br /&gt;
#&lt;br /&gt;
auto luxBR&lt;br /&gt;
iface luxBR inet static&lt;br /&gt;
    bridge_ports none&lt;br /&gt;
    bridge_fd 0&lt;br /&gt;
    bridge_maxwait 0&lt;br /&gt;
    address 10.24.128.XXX&lt;br /&gt;
    netmask 255.255.192.0&lt;br /&gt;
    # be sure all incoming traffic is handled by the appropriate rt_table&lt;br /&gt;
    post-up         /sbin/ip rule add iif $IFACE table lux priority 3300&lt;br /&gt;
    pre-down        /sbin/ip rule del iif $IFACE table lux priority 3300&lt;br /&gt;
    # default route is unreachable&lt;br /&gt;
    post-up         /sbin/ip route add unreachable default table lux &lt;br /&gt;
    post-down       /sbin/ip route del unreachable default table lux &lt;br /&gt;
    # local reachable subnet lux for rt_table saar&lt;br /&gt;
    post-up         /sbin/ip route add 10.24.192.0/18 proto static dev $IFACE table saar&lt;br /&gt;
    post-down       /sbin/ip route del 10.24.192.0/18 proto static dev $IFACE table saar&lt;br /&gt;
&lt;br /&gt;
iface luxBR inet6 static&lt;br /&gt;
    address fd4e:f2d7:88d2:fffe::XXX&lt;br /&gt;
    netmask 64&lt;br /&gt;
    # be sure all incoming traffic is handled by the appropriate rt_table&lt;br /&gt;
    post-up         /sbin/ip -6 rule add iif $IFACE table lux priority 3300&lt;br /&gt;
    pre-down        /sbin/ip -6 rule del iif $IFACE table lux priority 3300&lt;br /&gt;
    post-up         /sbin/ip -6 route add fe80::/64 proto static dev $IFACE table lux &lt;br /&gt;
    post-down       /sbin/ip -6 route del fe80::/64 proto static dev $IFACE table lux &lt;br /&gt;
    post-up         /sbin/ip -6 route add fd4e:f2d7:88d2:fffe::/64 proto static dev $IFACE table lux&lt;br /&gt;
    post-down       /sbin/ip -6 route del fd4e:f2d7:88d2:fffe::/64 proto static dev $IFACE table lux&lt;br /&gt;
    # ULA route saar for rt_table lux&lt;br /&gt;
    post-up         /sbin/ip -6 route add fd4e:f2d7:88d2:ffff::/64 proto static dev $IFACE table saar&lt;br /&gt;
    post-down       /sbin/ip -6 route del fd4e:f2d7:88d2:ffff::/64 proto static dev $IFACE table saar&lt;br /&gt;
&lt;br /&gt;
allow-hotplug luxMESH&lt;br /&gt;
iface luxMESH inet6 manual&lt;br /&gt;
    hwaddress ca:fe:ba:be:01:XXX&lt;br /&gt;
    pre-up          /sbin/modprobe batman_adv&lt;br /&gt;
    post-up         /usr/sbin/batctl -m luxBAT if add $IFACE&lt;br /&gt;
    post-up         /sbin/ip link set dev luxBAT up&lt;br /&gt;
&lt;br /&gt;
allow-hotplug luxBAT&lt;br /&gt;
iface luxBAT inet6 manual&lt;br /&gt;
    pre-up          /sbin/modprobe batman-adv&lt;br /&gt;
    post-up         /sbin/brctl addif luxBR $IFACE&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE it 10000&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE vm server&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE gw server  6mbit/6mbit&lt;br /&gt;
    pre-down        /sbin/brctl delif luxBR $IFACE || true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Jedes Vorkommnis von XXX durch einen entsprechenden Wert aus dem Netzplan ersetzen, im Zweifel TobiT fragen&lt;br /&gt;
&lt;br /&gt;
== Helfer-Skripte ==&lt;br /&gt;
Es gibt 2 Helferskripte, die eingerichtet werden müssen. check_gateway.sh prüft minütlich, ob das ExitVPN noch steht. autoupdate_fastd_peers updatet die fastd-peers alle 5 Minuten per git.&lt;br /&gt;
=== check_gateway.sh ===&lt;br /&gt;
* /usr/bin/check_gateway.sh:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@gw2:/etc/fastd/freifunk-lux# less /usr/bin/check_gateway.sh&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
INTERFACE=tun0          # Set to name of VPN interface&lt;br /&gt;
DHCPSERVICE=dnsmasq     # Name of DHCP service&lt;br /&gt;
BANDWIDTH=XXX           # Server bandwidth&lt;br /&gt;
shopt -s nullglob&lt;br /&gt;
&lt;br /&gt;
# Test whether gateway is connected to the outer world via VPN&lt;br /&gt;
ping -q -I $INTERFACE 8.8.8.8 -c 4 -i 1 -W 5 &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
if test $? -eq 0; then&lt;br /&gt;
    NEW_STATE=server&lt;br /&gt;
else&lt;br /&gt;
    NEW_STATE=off&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Iterate through network interfaces in sys file system&lt;br /&gt;
for MESH in /sys/class/net/*/mesh; do&lt;br /&gt;
# Check whether gateway modus needs to be changed&lt;br /&gt;
OLD_STATE=&amp;quot;$(cat $MESH/gw_mode)&amp;quot;&lt;br /&gt;
[ &amp;quot;$OLD_STATE&amp;quot; == &amp;quot;$NEW_STATE&amp;quot; ] &amp;amp;&amp;amp; continue&lt;br /&gt;
    echo $NEW_STATE &amp;gt; $MESH/gw_mode&lt;br /&gt;
    echo ${BANDWIDTH}MBit/${BANDWIDTH}MBit &amp;gt; $MESH/gw_bandwidth&lt;br /&gt;
    logger &amp;quot;batman gateway mode changed to $NEW_STATE&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    # Check whether gateway modus has been deactivated&lt;br /&gt;
    if [ &amp;quot;$NEW_STATE&amp;quot; == &amp;quot;off&amp;quot; ]; then&lt;br /&gt;
        # Shutdown DHCP server to prevent renewal of leases&lt;br /&gt;
        /usr/sbin/service $DHCPSERVICE stop&lt;br /&gt;
    fi&lt;br /&gt;
&lt;br /&gt;
    # Check whether gateway modus has been activated&lt;br /&gt;
    if [ &amp;quot;$NEW_STATE&amp;quot; == &amp;quot;server&amp;quot; ]; then&lt;br /&gt;
        # Restart DHCP server&lt;br /&gt;
        /usr/sbin/service $DHCPSERVICE start&lt;br /&gt;
    fi&lt;br /&gt;
    exit 0&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
if [ &amp;quot;$NEW_STATE&amp;quot; == &amp;quot;server&amp;quot; ]; then&lt;br /&gt;
    /usr/sbin/service $DHCPSERVICE status 2&amp;gt;&amp;amp;1&amp;gt; /dev/null&lt;br /&gt;
    if [[ $? -ne 0 ]]&lt;br /&gt;
    then&lt;br /&gt;
        /usr/sbin/service $DHCPSERVICE restart&lt;br /&gt;
    fi&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$NEW_STATE&amp;quot; == &amp;quot;off&amp;quot; ]; then&lt;br /&gt;
    /usr/sbin/service $DHCPSERVICE status 2&amp;gt;&amp;amp;1&amp;gt; /dev/null&lt;br /&gt;
    if [[ $? -eq 0 ]]&lt;br /&gt;
    then&lt;br /&gt;
        /usr/sbin/service $DHCPSERVICE stop&lt;br /&gt;
    fi&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Ganz oben bei BANDWIDTH die Serverbandbreite in MBit/s einstellen, damit diese ordentlich via Batman announced werden kann.&lt;br /&gt;
* Speichern und mit &amp;lt;code&amp;gt;chmod +x /usr/bin/check_gateway.sh&amp;lt;/code&amp;gt; ausführbar machen&lt;br /&gt;
=== autoupdate_fastd_keys.sh ===&lt;br /&gt;
* /usr/bin/autoupate_fastd_keys.sh:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# Simple script to update fastd peers from git upstream&lt;br /&gt;
# and only send HUP to fastd when changes happend.&lt;br /&gt;
&lt;br /&gt;
# CONFIGURE THIS TO YOUR PEER DIRECTORY&lt;br /&gt;
FASTD_PEERS_ARRAY=( &amp;quot;freifunk-saar&amp;quot; &amp;quot;freifunk-lux&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
function getCurrentVersion() {&lt;br /&gt;
 # Get hash from latest revision&lt;br /&gt;
 git log --format=format:%H -1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
for FASTD_PEERS in &amp;quot;${FASTD_PEERS_ARRAY[@]}&amp;quot;&lt;br /&gt;
do&lt;br /&gt;
cd /etc/fastd/$FASTD_PEERS/peers&lt;br /&gt;
&lt;br /&gt;
# Get current version hash&lt;br /&gt;
GIT_REVISION=$(getCurrentVersion)&lt;br /&gt;
&lt;br /&gt;
# Automagically commit local changes&lt;br /&gt;
# This preserves local changes&lt;br /&gt;
git commit -m &amp;quot;CRON: auto commit&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Pull latest changes from upstream&lt;br /&gt;
git fetch&lt;br /&gt;
git merge origin/master -m &amp;quot;Auto Merge&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Get new version hash&lt;br /&gt;
GIT_NEW_REVISION=$(getCurrentVersion)&lt;br /&gt;
&lt;br /&gt;
if [ $GIT_REVISION != $GIT_NEW_REVISION ]&lt;br /&gt;
then&lt;br /&gt;
 # Version has changed we need to update&lt;br /&gt;
 echo &amp;quot;Reload fastd peers&amp;quot;&lt;br /&gt;
 kill -HUP $(cat /var/run/fastd.$FASTD_PEERS.pid)&lt;br /&gt;
fi&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Auch dieses Skript ausführbar machen: &amp;lt;code&amp;gt;chmod +x /usr/bin/autoupdate_fastd_keys.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
=== Skripte in crontab eintragen ===&lt;br /&gt;
* In &amp;lt;code&amp;gt;sudo crontab -e&amp;lt;/code&amp;gt; folgende Zeilen anhängen&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*/5 * * * *   /usr/bin/autoupdate_fastd_keys.sh &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
* * * * *   /usr/bin/check_gateway.sh &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Fastd-Config ==&lt;br /&gt;
* &amp;lt;code&amp;gt;mkdir /etc/fastd/freifunk-{saar,lux}/&amp;lt;/code&amp;gt;&lt;br /&gt;
* Config-Dateien anlegen und entsprechenden Inhalt reinkopieren: TODO Link zu Config-Repo einfügen&lt;br /&gt;
* Secret Keys aus den Repos besorgen und in secret.conf schreiben&lt;br /&gt;
* Neuen SSH-Key anlegen, als Deploy Key in die Gitlab-Projekte https://git.hacksaar.de/FreifunkSaar/mesh-vpn-peers und https://git.hacksaar.de/FreifunkSaar/mesh-vpn-peers-lux eintragen.&lt;br /&gt;
* Mesh-VPN-Peers-Verzeichnis als &amp;quot;peers&amp;quot; klonen: &amp;lt;code&amp;gt;git clone git@hacksaar.de:FreifunkSaar/mesh-vpn-peers.git peers&amp;lt;/code&amp;gt; bzw &amp;lt;code&amp;gt;git clone git@hacksaar.de:FreifunkSaar/mesh-vpn-peers-lux.git peers&amp;lt;/code&amp;gt; jeweils im entsprechende Verzeichnis&lt;br /&gt;
* Feuer!: &amp;lt;code&amp;gt;sudo service fastd start&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DNS, DHCP und RA-Server ==&lt;br /&gt;
* Installieren: &amp;lt;code&amp;gt;apt-get install isc-dhcp-server bind9 radvd&amp;lt;/code&amp;gt;&lt;br /&gt;
=== Domain Name Server ===&lt;br /&gt;
=== IPv4 Dynamic Host Configuration Protocol ===&lt;br /&gt;
* /etc/dhcp/dhcpd.conf: (Komplett ersetzen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ddns-update-style none;&lt;br /&gt;
default-lease-time 300;&lt;br /&gt;
max-lease-time 300;&lt;br /&gt;
authoritative;&lt;br /&gt;
&lt;br /&gt;
log-facility local6;&lt;br /&gt;
&lt;br /&gt;
subnet 10.24.192.0 netmask 255.255.192.0 {&lt;br /&gt;
        range 10.24.XXX.0 10.24.XXX+3.255;&lt;br /&gt;
        option routers 10.24.192.ZZZ;&lt;br /&gt;
        option domain-name-servers 10.24.192.2, 10.24.192.3, 10.24.192.4;&lt;br /&gt;
        option domain-search &amp;quot;ffsaar&amp;quot;;&lt;br /&gt;
        option ntp-servers 10.24.192.2, 10.24.192.3, 10.24.192.4;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
subnet 10.24.128.0 netmask 255.255.192.0 {&lt;br /&gt;
        range 10.24.YYY.0 10.24.YYY+3.255;&lt;br /&gt;
        option routers 10.24.128.ZZZ;&lt;br /&gt;
        option domain-name-servers 10.24.128.2, 10.24.128.3, 10.24.128.4;&lt;br /&gt;
        option domain-search &amp;quot;fflux&amp;quot;;&lt;br /&gt;
        option ntp-servers 10.24.128.2, 10.24.128.3, 10.24.128.4;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* XXX, XXX+3, YYY, YYY+3, ZZZ durch richtige Werte ersetzen&lt;br /&gt;
* /etc/default/isc-dhcp-server (Zeile INTERFACES ersetzen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
INTERFACES=&amp;quot;saarBR luxBR&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Neu starten: &amp;lt;code&amp;gt;service isc-dhcp-server restart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== IPv6 Router Advertisements ===&lt;br /&gt;
&lt;br /&gt;
== To be continued... ==&lt;br /&gt;
* DNSmasq statt radvd, bind, isc-dhcp-server&lt;br /&gt;
* iptables NAT&lt;/div&gt;</summary>
		<author><name>Tobi042</name></author>
	</entry>
	<entry>
		<id>https://wiki.hacksaar.de/index.php?title=Freifunk:Mesh-VPN_Gateway-Server_einrichten&amp;diff=1898</id>
		<title>Freifunk:Mesh-VPN Gateway-Server einrichten</title>
		<link rel="alternate" type="text/html" href="https://wiki.hacksaar.de/index.php?title=Freifunk:Mesh-VPN_Gateway-Server_einrichten&amp;diff=1898"/>
		<updated>2015-02-14T20:32:11Z</updated>

		<summary type="html">&lt;p&gt;Tobi042: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Unsere Gateways laufen auf Debian 7 Wheezy. Diese Anleitungen orientieren sich an anderen Freifunk-Communities, aber einen sehr nennenswerten Einfluss hat die geniale Dokumentation von Freifunk Mainz, Wiesbaden und Umgebung (http://gluon-gateway-doku.readthedocs.org/de/latest/) gehabt.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
Größtenteils egal, wichtig ist folgendes: Root bekommt kein Passwort, dadurch wird der Root-Login gesperrt und man muss sudo benutzen. Als zu installierende Paketgruppen nutzen wir Debian-Standardutilities und SSH-Server.&lt;br /&gt;
&lt;br /&gt;
== SSH einrichten ==&lt;br /&gt;
&lt;br /&gt;
* Einloggen: &lt;br /&gt;
*: &amp;lt;code&amp;gt;ssh user@gwX.saar.freifunk.de&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;mkdir .ssh&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;echo &amp;quot;dein_ssh_key&amp;quot; &amp;gt; .ssh/authorized_keys&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;nano /etc/ssh/sshd_config&amp;lt;/code&amp;gt;&lt;br /&gt;
*: Folgende Änderungen vornehmen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;...&lt;br /&gt;
PermitRootLogin no&lt;br /&gt;
...&lt;br /&gt;
PasswordAuthentication no&lt;br /&gt;
...&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Alte Session aktiv lassen, in neuem Terminal versuchen mit Public Key einzuloggen. Wenn nicht erfolgreich debuggen.&lt;br /&gt;
* &amp;lt;code&amp;gt;sudo service ssh restart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Überflüssige Pakete deinstallieren ==&lt;br /&gt;
&lt;br /&gt;
Da wir eben etwas großzügig waren mit der Installation von Paketgruppen müssen wir jetzt exim und nfs-Kram deinstallieren:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;sudo apt-get remove exim4* nfs-common rpcbind&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Als Resultat sollte bei Ausführung von &amp;quot;sudo netstat -tulpn&amp;quot; keine Programme außer sshd und vielleicht dhclient angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
== APT Sources hinzufügen ==&lt;br /&gt;
&lt;br /&gt;
Wir benötigen die Sources für fastd und batman-adv:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;nano /etc/apt/sources.list&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 deb http://security.debian.org/ wheezy/updates main contrib non-free&lt;br /&gt;
 deb-src http://security.debian.org/ wheezy/updates main contrib non-free&lt;br /&gt;
  &lt;br /&gt;
 # fastd&lt;br /&gt;
 deb http://ftp.de.debian.org/debian wheezy-backports main&lt;br /&gt;
 deb http://repo.universe-factory.net/debian/ sid main&lt;br /&gt;
&lt;br /&gt;
 # alfred&lt;br /&gt;
 deb http://debian.draic.info/ wheezy main&lt;br /&gt;
 deb-src http://debian.draic.info/ wheezy main&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Schlüssel für repo importieren: &lt;br /&gt;
* &amp;lt;code&amp;gt;gpg --keyserver pgpkeys.mit.edu --recv-key  B89033D8&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;gpg -a --export B89033D8 | apt-key add -&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;gpg --keyserver pgpkeys.mit.edu --recv-key  16EF3F64CB201D9C&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;gpg -a --export 16EF3F64CB201D9C | apt-key add -&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pakete installieren ==&lt;br /&gt;
* &amp;lt;code&amp;gt;apt-get update&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;apt-get install batctl batman-adv-dkms fastd bridge-utils&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;echo &amp;quot;batman-adv&amp;quot; &amp;gt;&amp;gt; /etc/modules&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Netzwerk Grundkonfiguration ==&lt;br /&gt;
=== Sysctl Einstellungen ===&lt;br /&gt;
* /etc/sysctl.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Freifunk specific settings&lt;br /&gt;
net.ipv4.ip_forward=1&lt;br /&gt;
&lt;br /&gt;
net.bridge.bridge-nf-call-arptables = 0&lt;br /&gt;
net.bridge.bridge-nf-call-ip6tables = 0&lt;br /&gt;
net.bridge.bridge-nf-call-iptables = 0&lt;br /&gt;
&lt;br /&gt;
net.ipv6.conf.all.forwarding=1&lt;br /&gt;
&lt;br /&gt;
net.ipv6.conf.all.autoconf = 0&lt;br /&gt;
net.ipv6.conf.default.autoconf = 0&lt;br /&gt;
net.ipv6.conf.eth0.autoconf = 0&lt;br /&gt;
&lt;br /&gt;
net.ipv6.conf.all.accept_ra = 0&lt;br /&gt;
net.ipv6.conf.default.accept_ra = 0&lt;br /&gt;
net.ipv6.conf.eth0.accept_ra = 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Danach neu laden: &amp;lt;code&amp;gt;sysctl -p /etc/sysctl.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Routing Tables erstellen ===&lt;br /&gt;
* /etc/iproute2/rt_tables (bisherige Einstellungen beibehalten und folgende hinzufügen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# freifunk&lt;br /&gt;
32      saar&lt;br /&gt;
33      lux&lt;br /&gt;
42      icvpn&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Netzwerkinterafaces einstellen ===&lt;br /&gt;
* /etc/network/interfaces (andere Interfaces nach der entsprechenden Konfiguration belassen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# FREIFUNK SAAR&lt;br /&gt;
#&lt;br /&gt;
auto saarBR&lt;br /&gt;
iface saarBR inet static&lt;br /&gt;
    bridge_ports none&lt;br /&gt;
    bridge_fd 0&lt;br /&gt;
    bridge_maxwait 0&lt;br /&gt;
    address 10.24.192.XXX&lt;br /&gt;
    netmask 255.255.192.0&lt;br /&gt;
    # be sure all incoming traffic is handled by the appropriate rt_table&lt;br /&gt;
    post-up         /sbin/ip rule add iif $IFACE table saar priority 3200&lt;br /&gt;
    pre-down        /sbin/ip rule del iif $IFACE table saar priority 3200&lt;br /&gt;
    # default route is unreachable&lt;br /&gt;
    post-up         /sbin/ip route add unreachable default table saar&lt;br /&gt;
    post-down       /sbin/ip route del unreachable default table saar&lt;br /&gt;
    # local reachable subnet saar for rt_table lux&lt;br /&gt;
    post-up         /sbin/ip route add 10.24.128.0/18 proto static dev $IFACE table lux&lt;br /&gt;
    post-down       /sbin/ip route del 10.24.128.0/18 proto static dev $IFACE table lux&lt;br /&gt;
&lt;br /&gt;
iface saarBR inet6 static&lt;br /&gt;
    address fd4e:f2d7:88d2:ffff::XXX&lt;br /&gt;
    netmask 64&lt;br /&gt;
    # be sure all incoming traffic is handled by the appropriate rt_table&lt;br /&gt;
    post-up         /sbin/ip -6 rule add iif $IFACE table saar priority 3200&lt;br /&gt;
    pre-down        /sbin/ip -6 rule del iif $IFACE table saar priority 3200&lt;br /&gt;
    post-up         /sbin/ip -6 route add fe80::/64 proto static dev $IFACE table saar&lt;br /&gt;
    post-down       /sbin/ip -6 route del fe80::/64 proto static dev $IFACE table saar&lt;br /&gt;
    post-up         /sbin/ip -6 route add fd4e:f2d7:88d2:ffff::/64 proto static dev $IFACE table saar&lt;br /&gt;
    post-down       /sbin/ip -6 route del fd4e:f2d7:88d2:ffff::/64 proto static dev $IFACE table saar&lt;br /&gt;
    # ULA route mz for rt_table saar&lt;br /&gt;
    post-up         /sbin/ip -6 route add fd4e:f2d7:88d2:fffe::/64 proto static dev $IFACE table lux&lt;br /&gt;
    post-down       /sbin/ip -6 route del fd4e:f2d7:88d2:fffe::/64 proto static dev $IFACE table lux&lt;br /&gt;
&lt;br /&gt;
allow-hotplug saarMESH&lt;br /&gt;
iface saarMESH inet6 manual&lt;br /&gt;
    hwaddress ca:fe:ba:be:00:XXX&lt;br /&gt;
    pre-up          /sbin/modprobe batman_adv&lt;br /&gt;
    post-up         /usr/sbin/batctl -m saarBAT if add $IFACE&lt;br /&gt;
    post-up         /sbin/ip link set dev saarBAT up&lt;br /&gt;
&lt;br /&gt;
allow-hotplug saarBAT&lt;br /&gt;
iface saarBAT inet6 manual&lt;br /&gt;
    pre-up          /sbin/modprobe batman-adv&lt;br /&gt;
    post-up         /sbin/brctl addif saarBR $IFACE&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE it 10000&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE vm server&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE gw server  6mbit/6mbit&lt;br /&gt;
    pre-down        /sbin/brctl delif saarBR $IFACE || true&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# FREIFUNK LUX &lt;br /&gt;
#&lt;br /&gt;
auto luxBR&lt;br /&gt;
iface luxBR inet static&lt;br /&gt;
    bridge_ports none&lt;br /&gt;
    bridge_fd 0&lt;br /&gt;
    bridge_maxwait 0&lt;br /&gt;
    address 10.24.128.XXX&lt;br /&gt;
    netmask 255.255.192.0&lt;br /&gt;
    # be sure all incoming traffic is handled by the appropriate rt_table&lt;br /&gt;
    post-up         /sbin/ip rule add iif $IFACE table lux priority 3300&lt;br /&gt;
    pre-down        /sbin/ip rule del iif $IFACE table lux priority 3300&lt;br /&gt;
    # default route is unreachable&lt;br /&gt;
    post-up         /sbin/ip route add unreachable default table lux &lt;br /&gt;
    post-down       /sbin/ip route del unreachable default table lux &lt;br /&gt;
    # local reachable subnet lux for rt_table saar&lt;br /&gt;
    post-up         /sbin/ip route add 10.24.192.0/18 proto static dev $IFACE table saar&lt;br /&gt;
    post-down       /sbin/ip route del 10.24.192.0/18 proto static dev $IFACE table saar&lt;br /&gt;
&lt;br /&gt;
iface luxBR inet6 static&lt;br /&gt;
    address fd4e:f2d7:88d2:fffe::XXX&lt;br /&gt;
    netmask 64&lt;br /&gt;
    # be sure all incoming traffic is handled by the appropriate rt_table&lt;br /&gt;
    post-up         /sbin/ip -6 rule add iif $IFACE table lux priority 3300&lt;br /&gt;
    pre-down        /sbin/ip -6 rule del iif $IFACE table lux priority 3300&lt;br /&gt;
    post-up         /sbin/ip -6 route add fe80::/64 proto static dev $IFACE table lux &lt;br /&gt;
    post-down       /sbin/ip -6 route del fe80::/64 proto static dev $IFACE table lux &lt;br /&gt;
    post-up         /sbin/ip -6 route add fd4e:f2d7:88d2:fffe::/64 proto static dev $IFACE table lux&lt;br /&gt;
    post-down       /sbin/ip -6 route del fd4e:f2d7:88d2:fffe::/64 proto static dev $IFACE table lux&lt;br /&gt;
    # ULA route saar for rt_table lux&lt;br /&gt;
    post-up         /sbin/ip -6 route add fd4e:f2d7:88d2:ffff::/64 proto static dev $IFACE table saar&lt;br /&gt;
    post-down       /sbin/ip -6 route del fd4e:f2d7:88d2:ffff::/64 proto static dev $IFACE table saar&lt;br /&gt;
&lt;br /&gt;
allow-hotplug luxMESH&lt;br /&gt;
iface luxMESH inet6 manual&lt;br /&gt;
    hwaddress ca:fe:ba:be:01:XXX&lt;br /&gt;
    pre-up          /sbin/modprobe batman_adv&lt;br /&gt;
    post-up         /usr/sbin/batctl -m luxBAT if add $IFACE&lt;br /&gt;
    post-up         /sbin/ip link set dev luxBAT up&lt;br /&gt;
&lt;br /&gt;
allow-hotplug luxBAT&lt;br /&gt;
iface luxBAT inet6 manual&lt;br /&gt;
    pre-up          /sbin/modprobe batman-adv&lt;br /&gt;
    post-up         /sbin/brctl addif luxBR $IFACE&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE it 10000&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE vm server&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE gw server  6mbit/6mbit&lt;br /&gt;
    pre-down        /sbin/brctl delif luxBR $IFACE || true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Jedes Vorkommnis von XXX durch einen entsprechenden Wert aus dem Netzplan ersetzen, im Zweifel TobiT fragen&lt;br /&gt;
&lt;br /&gt;
== Helfer-Skripte ==&lt;br /&gt;
Es gibt 2 Helferskripte, die eingerichtet werden müssen. check_gateway.sh prüft minütlich, ob das ExitVPN noch steht. autoupdate_fastd_peers updatet die fastd-peers alle 5 Minuten per git.&lt;br /&gt;
=== check_gateway.sh ===&lt;br /&gt;
* /usr/bin/check_gateway.sh:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@gw2:/etc/fastd/freifunk-lux# less /usr/bin/check_gateway.sh&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
INTERFACE=tun0          # Set to name of VPN interface&lt;br /&gt;
DHCPSERVICE=dnsmasq     # Name of DHCP service&lt;br /&gt;
BANDWIDTH=XXX           # Server bandwidth&lt;br /&gt;
shopt -s nullglob&lt;br /&gt;
&lt;br /&gt;
# Test whether gateway is connected to the outer world via VPN&lt;br /&gt;
ping -q -I $INTERFACE 8.8.8.8 -c 4 -i 1 -W 5 &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
if test $? -eq 0; then&lt;br /&gt;
    NEW_STATE=server&lt;br /&gt;
else&lt;br /&gt;
    NEW_STATE=off&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Iterate through network interfaces in sys file system&lt;br /&gt;
for MESH in /sys/class/net/*/mesh; do&lt;br /&gt;
# Check whether gateway modus needs to be changed&lt;br /&gt;
OLD_STATE=&amp;quot;$(cat $MESH/gw_mode)&amp;quot;&lt;br /&gt;
[ &amp;quot;$OLD_STATE&amp;quot; == &amp;quot;$NEW_STATE&amp;quot; ] &amp;amp;&amp;amp; continue&lt;br /&gt;
    echo $NEW_STATE &amp;gt; $MESH/gw_mode&lt;br /&gt;
    echo ${BANDWIDTH}MBit/${BANDWIDTH}MBit &amp;gt; $MESH/gw_bandwidth&lt;br /&gt;
    logger &amp;quot;batman gateway mode changed to $NEW_STATE&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    # Check whether gateway modus has been deactivated&lt;br /&gt;
    if [ &amp;quot;$NEW_STATE&amp;quot; == &amp;quot;off&amp;quot; ]; then&lt;br /&gt;
        # Shutdown DHCP server to prevent renewal of leases&lt;br /&gt;
        /usr/sbin/service $DHCPSERVICE stop&lt;br /&gt;
    fi&lt;br /&gt;
&lt;br /&gt;
    # Check whether gateway modus has been activated&lt;br /&gt;
    if [ &amp;quot;$NEW_STATE&amp;quot; == &amp;quot;server&amp;quot; ]; then&lt;br /&gt;
        # Restart DHCP server&lt;br /&gt;
        /usr/sbin/service $DHCPSERVICE start&lt;br /&gt;
    fi&lt;br /&gt;
    exit 0&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
if [ &amp;quot;$NEW_STATE&amp;quot; == &amp;quot;server&amp;quot; ]; then&lt;br /&gt;
    /usr/sbin/service $DHCPSERVICE status 2&amp;gt;&amp;amp;1&amp;gt; /dev/null&lt;br /&gt;
    if [[ $? -ne 0 ]]&lt;br /&gt;
    then&lt;br /&gt;
        /usr/sbin/service $DHCPSERVICE restart&lt;br /&gt;
    fi&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$NEW_STATE&amp;quot; == &amp;quot;off&amp;quot; ]; then&lt;br /&gt;
    /usr/sbin/service $DHCPSERVICE status 2&amp;gt;&amp;amp;1&amp;gt; /dev/null&lt;br /&gt;
    if [[ $? -eq 0 ]]&lt;br /&gt;
    then&lt;br /&gt;
        /usr/sbin/service $DHCPSERVICE stop&lt;br /&gt;
    fi&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Ganz oben bei BANDWIDTH die Serverbandbreite in MBit/s einstellen, damit diese ordentlich via Batman announced werden kann.&lt;br /&gt;
* Speichern und mit &amp;lt;code&amp;gt;chmod +x /usr/bin/check_gateway.sh&amp;lt;/code&amp;gt; ausführbar machen&lt;br /&gt;
=== autoupdate_fastd_keys.sh ===&lt;br /&gt;
* /usr/bin/autoupate_fastd_keys.sh:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# Simple script to update fastd peers from git upstream&lt;br /&gt;
# and only send HUP to fastd when changes happend.&lt;br /&gt;
&lt;br /&gt;
# CONFIGURE THIS TO YOUR PEER DIRECTORY&lt;br /&gt;
FASTD_PEERS_ARRAY=( &amp;quot;freifunk-saar&amp;quot; &amp;quot;freifunk-lux&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
function getCurrentVersion() {&lt;br /&gt;
 # Get hash from latest revision&lt;br /&gt;
 git log --format=format:%H -1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
for FASTD_PEERS in &amp;quot;${FASTD_PEERS_ARRAY[@]}&amp;quot;&lt;br /&gt;
do&lt;br /&gt;
cd /etc/fastd/$FASTD_PEERS/peers&lt;br /&gt;
&lt;br /&gt;
# Get current version hash&lt;br /&gt;
GIT_REVISION=$(getCurrentVersion)&lt;br /&gt;
&lt;br /&gt;
# Automagically commit local changes&lt;br /&gt;
# This preserves local changes&lt;br /&gt;
git commit -m &amp;quot;CRON: auto commit&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Pull latest changes from upstream&lt;br /&gt;
git fetch&lt;br /&gt;
git merge origin/master -m &amp;quot;Auto Merge&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Get new version hash&lt;br /&gt;
GIT_NEW_REVISION=$(getCurrentVersion)&lt;br /&gt;
&lt;br /&gt;
if [ $GIT_REVISION != $GIT_NEW_REVISION ]&lt;br /&gt;
then&lt;br /&gt;
 # Version has changed we need to update&lt;br /&gt;
 echo &amp;quot;Reload fastd peers&amp;quot;&lt;br /&gt;
 kill -HUP $(cat /var/run/fastd.$FASTD_PEERS.pid)&lt;br /&gt;
fi&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Auch dieses Skript ausführbar machen: &amp;lt;code&amp;gt;chmod +x /usr/bin/autoupdate_fastd_keys.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
=== Skripte in crontab eintragen ===&lt;br /&gt;
* In &amp;lt;code&amp;gt;sudo crontab -e&amp;lt;/code&amp;gt; folgende Zeilen anhängen&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*/5 * * * *   /usr/bin/autoupdate_fastd_keys.sh &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
* * * * *   /usr/bin/check_gateway.sh &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Fastd-Config ==&lt;br /&gt;
* &amp;lt;code&amp;gt;mkdir /etc/fastd/freifunk-{saar,lux}/&amp;lt;/code&amp;gt;&lt;br /&gt;
* Config-Dateien anlegen und entsprechenden Inhalt reinkopieren: TODO Link zu Config-Repo einfügen&lt;br /&gt;
* Secret Keys aus den Repos besorgen und in secret.conf schreiben&lt;br /&gt;
* Neuen SSH-Key anlegen, als Deploy Key in die Gitlab-Projekte https://git.hacksaar.de/FreifunkSaar/mesh-vpn-peers und https://git.hacksaar.de/FreifunkSaar/mesh-vpn-peers-lux eintragen.&lt;br /&gt;
* Mesh-VPN-Peers-Verzeichnis als &amp;quot;peers&amp;quot; klonen: &amp;lt;code&amp;gt;git clone git@hacksaar.de:FreifunkSaar/mesh-vpn-peers.git peers&amp;lt;/code&amp;gt; bzw &amp;lt;code&amp;gt;git clone git@hacksaar.de:FreifunkSaar/mesh-vpn-peers-lux.git peers&amp;lt;/code&amp;gt; jeweils im entsprechende Verzeichnis&lt;br /&gt;
* Feuer!: &amp;lt;code&amp;gt;sudo service fastd start&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DNS, DHCP und RA-Server ==&lt;br /&gt;
* Installieren: &amp;lt;code&amp;gt;apt-get install isc-dhcp-server bind9 radvd&amp;lt;/code&amp;gt;&lt;br /&gt;
=== Domain Name Server ===&lt;br /&gt;
=== IPv4 Dynamic Host Configuration Protocol ===&lt;br /&gt;
* /etc/dhcp/dhcpd.conf: (Komplett ersetzen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ddns-update-style none;&lt;br /&gt;
default-lease-time 300;&lt;br /&gt;
max-lease-time 300;&lt;br /&gt;
authoritative;&lt;br /&gt;
&lt;br /&gt;
log-facility local6;&lt;br /&gt;
&lt;br /&gt;
subnet 10.24.192.0 netmask 255.255.192.0 {&lt;br /&gt;
        range 10.24.XXX.0 10.24.XXX+3.255;&lt;br /&gt;
        option routers 10.24.192.ZZZ;&lt;br /&gt;
        option domain-name-servers 10.24.192.2, 10.24.192.3, 10.24.192.4;&lt;br /&gt;
        option domain-search &amp;quot;ffsaar&amp;quot;;&lt;br /&gt;
        option ntp-servers 10.24.192.2, 10.24.192.3, 10.24.192.4;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
subnet 10.24.128.0 netmask 255.255.192.0 {&lt;br /&gt;
        range 10.24.YYY.0 10.24.YYY+3.255;&lt;br /&gt;
        option routers 10.24.128.ZZZ;&lt;br /&gt;
        option domain-name-servers 10.24.128.2, 10.24.128.3, 10.24.128.4;&lt;br /&gt;
        option domain-search &amp;quot;fflux&amp;quot;;&lt;br /&gt;
        option ntp-servers 10.24.128.2, 10.24.128.3, 10.24.128.4;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* XXX, XXX+3, YYY, YYY+3, ZZZ durch richtige Werte ersetzen&lt;br /&gt;
* /etc/default/isc-dhcp-server (Zeile INTERFACES ersetzen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
INTERFACES=&amp;quot;saarBR luxBR&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Neu starten: &amp;lt;code&amp;gt;service isc-dhcp-server restart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== IPv6 Router Advertisements ===&lt;br /&gt;
&lt;br /&gt;
== To be continued... ==&lt;/div&gt;</summary>
		<author><name>Tobi042</name></author>
	</entry>
	<entry>
		<id>https://wiki.hacksaar.de/index.php?title=Freifunk:Mesh-VPN_Gateway-Server_einrichten&amp;diff=1897</id>
		<title>Freifunk:Mesh-VPN Gateway-Server einrichten</title>
		<link rel="alternate" type="text/html" href="https://wiki.hacksaar.de/index.php?title=Freifunk:Mesh-VPN_Gateway-Server_einrichten&amp;diff=1897"/>
		<updated>2015-02-14T20:30:27Z</updated>

		<summary type="html">&lt;p&gt;Tobi042: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Unsere Gateways laufen auf Debian 7 Wheezy.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
Größtenteils egal, wichtig ist folgendes: Root bekommt kein Passwort, dadurch wird der Root-Login gesperrt und man muss sudo benutzen. Als zu installierende Paketgruppen nutzen wir Debian-Standardutilities und SSH-Server.&lt;br /&gt;
&lt;br /&gt;
== SSH einrichten ==&lt;br /&gt;
&lt;br /&gt;
* Einloggen: &lt;br /&gt;
*: &amp;lt;code&amp;gt;ssh user@gwX.saar.freifunk.de&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;mkdir .ssh&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;echo &amp;quot;dein_ssh_key&amp;quot; &amp;gt; .ssh/authorized_keys&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;nano /etc/ssh/sshd_config&amp;lt;/code&amp;gt;&lt;br /&gt;
*: Folgende Änderungen vornehmen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;...&lt;br /&gt;
PermitRootLogin no&lt;br /&gt;
...&lt;br /&gt;
PasswordAuthentication no&lt;br /&gt;
...&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Alte Session aktiv lassen, in neuem Terminal versuchen mit Public Key einzuloggen. Wenn nicht erfolgreich debuggen.&lt;br /&gt;
* &amp;lt;code&amp;gt;sudo service ssh restart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Überflüssige Pakete deinstallieren ==&lt;br /&gt;
&lt;br /&gt;
Da wir eben etwas großzügig waren mit der Installation von Paketgruppen müssen wir jetzt exim und nfs-Kram deinstallieren:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;sudo apt-get remove exim4* nfs-common rpcbind&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Als Resultat sollte bei Ausführung von &amp;quot;sudo netstat -tulpn&amp;quot; keine Programme außer sshd und vielleicht dhclient angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
== APT Sources hinzufügen ==&lt;br /&gt;
&lt;br /&gt;
Wir benötigen die Sources für fastd und batman-adv:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;nano /etc/apt/sources.list&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 deb http://security.debian.org/ wheezy/updates main contrib non-free&lt;br /&gt;
 deb-src http://security.debian.org/ wheezy/updates main contrib non-free&lt;br /&gt;
  &lt;br /&gt;
 # fastd&lt;br /&gt;
 deb http://ftp.de.debian.org/debian wheezy-backports main&lt;br /&gt;
 deb http://repo.universe-factory.net/debian/ sid main&lt;br /&gt;
&lt;br /&gt;
 # alfred&lt;br /&gt;
 deb http://debian.draic.info/ wheezy main&lt;br /&gt;
 deb-src http://debian.draic.info/ wheezy main&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Schlüssel für repo importieren: &lt;br /&gt;
* &amp;lt;code&amp;gt;gpg --keyserver pgpkeys.mit.edu --recv-key  B89033D8&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;gpg -a --export B89033D8 | apt-key add -&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;gpg --keyserver pgpkeys.mit.edu --recv-key  16EF3F64CB201D9C&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;gpg -a --export 16EF3F64CB201D9C | apt-key add -&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pakete installieren ==&lt;br /&gt;
* &amp;lt;code&amp;gt;apt-get update&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;apt-get install batctl batman-adv-dkms fastd bridge-utils&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;echo &amp;quot;batman-adv&amp;quot; &amp;gt;&amp;gt; /etc/modules&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Netzwerk Grundkonfiguration ==&lt;br /&gt;
=== Sysctl Einstellungen ===&lt;br /&gt;
* /etc/sysctl.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Freifunk specific settings&lt;br /&gt;
net.ipv4.ip_forward=1&lt;br /&gt;
&lt;br /&gt;
net.bridge.bridge-nf-call-arptables = 0&lt;br /&gt;
net.bridge.bridge-nf-call-ip6tables = 0&lt;br /&gt;
net.bridge.bridge-nf-call-iptables = 0&lt;br /&gt;
&lt;br /&gt;
net.ipv6.conf.all.forwarding=1&lt;br /&gt;
&lt;br /&gt;
net.ipv6.conf.all.autoconf = 0&lt;br /&gt;
net.ipv6.conf.default.autoconf = 0&lt;br /&gt;
net.ipv6.conf.eth0.autoconf = 0&lt;br /&gt;
&lt;br /&gt;
net.ipv6.conf.all.accept_ra = 0&lt;br /&gt;
net.ipv6.conf.default.accept_ra = 0&lt;br /&gt;
net.ipv6.conf.eth0.accept_ra = 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Danach neu laden: &amp;lt;code&amp;gt;sysctl -p /etc/sysctl.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Routing Tables erstellen ===&lt;br /&gt;
* /etc/iproute2/rt_tables (bisherige Einstellungen beibehalten und folgende hinzufügen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# freifunk&lt;br /&gt;
32      saar&lt;br /&gt;
33      lux&lt;br /&gt;
42      icvpn&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Netzwerkinterafaces einstellen ===&lt;br /&gt;
* /etc/network/interfaces (andere Interfaces nach der entsprechenden Konfiguration belassen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# FREIFUNK SAAR&lt;br /&gt;
#&lt;br /&gt;
auto saarBR&lt;br /&gt;
iface saarBR inet static&lt;br /&gt;
    bridge_ports none&lt;br /&gt;
    bridge_fd 0&lt;br /&gt;
    bridge_maxwait 0&lt;br /&gt;
    address 10.24.192.XXX&lt;br /&gt;
    netmask 255.255.192.0&lt;br /&gt;
    # be sure all incoming traffic is handled by the appropriate rt_table&lt;br /&gt;
    post-up         /sbin/ip rule add iif $IFACE table saar priority 3200&lt;br /&gt;
    pre-down        /sbin/ip rule del iif $IFACE table saar priority 3200&lt;br /&gt;
    # default route is unreachable&lt;br /&gt;
    post-up         /sbin/ip route add unreachable default table saar&lt;br /&gt;
    post-down       /sbin/ip route del unreachable default table saar&lt;br /&gt;
    # local reachable subnet saar for rt_table lux&lt;br /&gt;
    post-up         /sbin/ip route add 10.24.128.0/18 proto static dev $IFACE table lux&lt;br /&gt;
    post-down       /sbin/ip route del 10.24.128.0/18 proto static dev $IFACE table lux&lt;br /&gt;
&lt;br /&gt;
iface saarBR inet6 static&lt;br /&gt;
    address fd4e:f2d7:88d2:ffff::XXX&lt;br /&gt;
    netmask 64&lt;br /&gt;
    # be sure all incoming traffic is handled by the appropriate rt_table&lt;br /&gt;
    post-up         /sbin/ip -6 rule add iif $IFACE table saar priority 3200&lt;br /&gt;
    pre-down        /sbin/ip -6 rule del iif $IFACE table saar priority 3200&lt;br /&gt;
    post-up         /sbin/ip -6 route add fe80::/64 proto static dev $IFACE table saar&lt;br /&gt;
    post-down       /sbin/ip -6 route del fe80::/64 proto static dev $IFACE table saar&lt;br /&gt;
    post-up         /sbin/ip -6 route add fd4e:f2d7:88d2:ffff::/64 proto static dev $IFACE table saar&lt;br /&gt;
    post-down       /sbin/ip -6 route del fd4e:f2d7:88d2:ffff::/64 proto static dev $IFACE table saar&lt;br /&gt;
    # ULA route mz for rt_table saar&lt;br /&gt;
    post-up         /sbin/ip -6 route add fd4e:f2d7:88d2:fffe::/64 proto static dev $IFACE table lux&lt;br /&gt;
    post-down       /sbin/ip -6 route del fd4e:f2d7:88d2:fffe::/64 proto static dev $IFACE table lux&lt;br /&gt;
&lt;br /&gt;
allow-hotplug saarMESH&lt;br /&gt;
iface saarMESH inet6 manual&lt;br /&gt;
    hwaddress ca:fe:ba:be:00:XXX&lt;br /&gt;
    pre-up          /sbin/modprobe batman_adv&lt;br /&gt;
    post-up         /usr/sbin/batctl -m saarBAT if add $IFACE&lt;br /&gt;
    post-up         /sbin/ip link set dev saarBAT up&lt;br /&gt;
&lt;br /&gt;
allow-hotplug saarBAT&lt;br /&gt;
iface saarBAT inet6 manual&lt;br /&gt;
    pre-up          /sbin/modprobe batman-adv&lt;br /&gt;
    post-up         /sbin/brctl addif saarBR $IFACE&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE it 10000&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE vm server&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE gw server  6mbit/6mbit&lt;br /&gt;
    pre-down        /sbin/brctl delif saarBR $IFACE || true&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# FREIFUNK LUX &lt;br /&gt;
#&lt;br /&gt;
auto luxBR&lt;br /&gt;
iface luxBR inet static&lt;br /&gt;
    bridge_ports none&lt;br /&gt;
    bridge_fd 0&lt;br /&gt;
    bridge_maxwait 0&lt;br /&gt;
    address 10.24.128.XXX&lt;br /&gt;
    netmask 255.255.192.0&lt;br /&gt;
    # be sure all incoming traffic is handled by the appropriate rt_table&lt;br /&gt;
    post-up         /sbin/ip rule add iif $IFACE table lux priority 3300&lt;br /&gt;
    pre-down        /sbin/ip rule del iif $IFACE table lux priority 3300&lt;br /&gt;
    # default route is unreachable&lt;br /&gt;
    post-up         /sbin/ip route add unreachable default table lux &lt;br /&gt;
    post-down       /sbin/ip route del unreachable default table lux &lt;br /&gt;
    # local reachable subnet lux for rt_table saar&lt;br /&gt;
    post-up         /sbin/ip route add 10.24.192.0/18 proto static dev $IFACE table saar&lt;br /&gt;
    post-down       /sbin/ip route del 10.24.192.0/18 proto static dev $IFACE table saar&lt;br /&gt;
&lt;br /&gt;
iface luxBR inet6 static&lt;br /&gt;
    address fd4e:f2d7:88d2:fffe::XXX&lt;br /&gt;
    netmask 64&lt;br /&gt;
    # be sure all incoming traffic is handled by the appropriate rt_table&lt;br /&gt;
    post-up         /sbin/ip -6 rule add iif $IFACE table lux priority 3300&lt;br /&gt;
    pre-down        /sbin/ip -6 rule del iif $IFACE table lux priority 3300&lt;br /&gt;
    post-up         /sbin/ip -6 route add fe80::/64 proto static dev $IFACE table lux &lt;br /&gt;
    post-down       /sbin/ip -6 route del fe80::/64 proto static dev $IFACE table lux &lt;br /&gt;
    post-up         /sbin/ip -6 route add fd4e:f2d7:88d2:fffe::/64 proto static dev $IFACE table lux&lt;br /&gt;
    post-down       /sbin/ip -6 route del fd4e:f2d7:88d2:fffe::/64 proto static dev $IFACE table lux&lt;br /&gt;
    # ULA route saar for rt_table lux&lt;br /&gt;
    post-up         /sbin/ip -6 route add fd4e:f2d7:88d2:ffff::/64 proto static dev $IFACE table saar&lt;br /&gt;
    post-down       /sbin/ip -6 route del fd4e:f2d7:88d2:ffff::/64 proto static dev $IFACE table saar&lt;br /&gt;
&lt;br /&gt;
allow-hotplug luxMESH&lt;br /&gt;
iface luxMESH inet6 manual&lt;br /&gt;
    hwaddress ca:fe:ba:be:01:XXX&lt;br /&gt;
    pre-up          /sbin/modprobe batman_adv&lt;br /&gt;
    post-up         /usr/sbin/batctl -m luxBAT if add $IFACE&lt;br /&gt;
    post-up         /sbin/ip link set dev luxBAT up&lt;br /&gt;
&lt;br /&gt;
allow-hotplug luxBAT&lt;br /&gt;
iface luxBAT inet6 manual&lt;br /&gt;
    pre-up          /sbin/modprobe batman-adv&lt;br /&gt;
    post-up         /sbin/brctl addif luxBR $IFACE&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE it 10000&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE vm server&lt;br /&gt;
    post-up         /usr/sbin/batctl -m $IFACE gw server  6mbit/6mbit&lt;br /&gt;
    pre-down        /sbin/brctl delif luxBR $IFACE || true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Jedes Vorkommnis von XXX durch einen entsprechenden Wert aus dem Netzplan ersetzen, im Zweifel TobiT fragen&lt;br /&gt;
&lt;br /&gt;
== Helfer-Skripte ==&lt;br /&gt;
Es gibt 2 Helferskripte, die eingerichtet werden müssen. check_gateway.sh prüft minütlich, ob das ExitVPN noch steht. autoupdate_fastd_peers updatet die fastd-peers alle 5 Minuten per git.&lt;br /&gt;
=== check_gateway.sh ===&lt;br /&gt;
* /usr/bin/check_gateway.sh:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@gw2:/etc/fastd/freifunk-lux# less /usr/bin/check_gateway.sh&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
INTERFACE=tun0          # Set to name of VPN interface&lt;br /&gt;
DHCPSERVICE=dnsmasq     # Name of DHCP service&lt;br /&gt;
BANDWIDTH=XXX           # Server bandwidth&lt;br /&gt;
shopt -s nullglob&lt;br /&gt;
&lt;br /&gt;
# Test whether gateway is connected to the outer world via VPN&lt;br /&gt;
ping -q -I $INTERFACE 8.8.8.8 -c 4 -i 1 -W 5 &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
if test $? -eq 0; then&lt;br /&gt;
    NEW_STATE=server&lt;br /&gt;
else&lt;br /&gt;
    NEW_STATE=off&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Iterate through network interfaces in sys file system&lt;br /&gt;
for MESH in /sys/class/net/*/mesh; do&lt;br /&gt;
# Check whether gateway modus needs to be changed&lt;br /&gt;
OLD_STATE=&amp;quot;$(cat $MESH/gw_mode)&amp;quot;&lt;br /&gt;
[ &amp;quot;$OLD_STATE&amp;quot; == &amp;quot;$NEW_STATE&amp;quot; ] &amp;amp;&amp;amp; continue&lt;br /&gt;
    echo $NEW_STATE &amp;gt; $MESH/gw_mode&lt;br /&gt;
    echo ${BANDWIDTH}MBit/${BANDWIDTH}MBit &amp;gt; $MESH/gw_bandwidth&lt;br /&gt;
    logger &amp;quot;batman gateway mode changed to $NEW_STATE&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    # Check whether gateway modus has been deactivated&lt;br /&gt;
    if [ &amp;quot;$NEW_STATE&amp;quot; == &amp;quot;off&amp;quot; ]; then&lt;br /&gt;
        # Shutdown DHCP server to prevent renewal of leases&lt;br /&gt;
        /usr/sbin/service $DHCPSERVICE stop&lt;br /&gt;
    fi&lt;br /&gt;
&lt;br /&gt;
    # Check whether gateway modus has been activated&lt;br /&gt;
    if [ &amp;quot;$NEW_STATE&amp;quot; == &amp;quot;server&amp;quot; ]; then&lt;br /&gt;
        # Restart DHCP server&lt;br /&gt;
        /usr/sbin/service $DHCPSERVICE start&lt;br /&gt;
    fi&lt;br /&gt;
    exit 0&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
if [ &amp;quot;$NEW_STATE&amp;quot; == &amp;quot;server&amp;quot; ]; then&lt;br /&gt;
    /usr/sbin/service $DHCPSERVICE status 2&amp;gt;&amp;amp;1&amp;gt; /dev/null&lt;br /&gt;
    if [[ $? -ne 0 ]]&lt;br /&gt;
    then&lt;br /&gt;
        /usr/sbin/service $DHCPSERVICE restart&lt;br /&gt;
    fi&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$NEW_STATE&amp;quot; == &amp;quot;off&amp;quot; ]; then&lt;br /&gt;
    /usr/sbin/service $DHCPSERVICE status 2&amp;gt;&amp;amp;1&amp;gt; /dev/null&lt;br /&gt;
    if [[ $? -eq 0 ]]&lt;br /&gt;
    then&lt;br /&gt;
        /usr/sbin/service $DHCPSERVICE stop&lt;br /&gt;
    fi&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Ganz oben bei BANDWIDTH die Serverbandbreite in MBit/s einstellen, damit diese ordentlich via Batman announced werden kann.&lt;br /&gt;
* Speichern und mit &amp;lt;code&amp;gt;chmod +x /usr/bin/check_gateway.sh&amp;lt;/code&amp;gt; ausführbar machen&lt;br /&gt;
=== autoupdate_fastd_keys.sh ===&lt;br /&gt;
* /usr/bin/autoupate_fastd_keys.sh:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# Simple script to update fastd peers from git upstream&lt;br /&gt;
# and only send HUP to fastd when changes happend.&lt;br /&gt;
&lt;br /&gt;
# CONFIGURE THIS TO YOUR PEER DIRECTORY&lt;br /&gt;
FASTD_PEERS_ARRAY=( &amp;quot;freifunk-saar&amp;quot; &amp;quot;freifunk-lux&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
function getCurrentVersion() {&lt;br /&gt;
 # Get hash from latest revision&lt;br /&gt;
 git log --format=format:%H -1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
for FASTD_PEERS in &amp;quot;${FASTD_PEERS_ARRAY[@]}&amp;quot;&lt;br /&gt;
do&lt;br /&gt;
cd /etc/fastd/$FASTD_PEERS/peers&lt;br /&gt;
&lt;br /&gt;
# Get current version hash&lt;br /&gt;
GIT_REVISION=$(getCurrentVersion)&lt;br /&gt;
&lt;br /&gt;
# Automagically commit local changes&lt;br /&gt;
# This preserves local changes&lt;br /&gt;
git commit -m &amp;quot;CRON: auto commit&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Pull latest changes from upstream&lt;br /&gt;
git fetch&lt;br /&gt;
git merge origin/master -m &amp;quot;Auto Merge&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Get new version hash&lt;br /&gt;
GIT_NEW_REVISION=$(getCurrentVersion)&lt;br /&gt;
&lt;br /&gt;
if [ $GIT_REVISION != $GIT_NEW_REVISION ]&lt;br /&gt;
then&lt;br /&gt;
 # Version has changed we need to update&lt;br /&gt;
 echo &amp;quot;Reload fastd peers&amp;quot;&lt;br /&gt;
 kill -HUP $(cat /var/run/fastd.$FASTD_PEERS.pid)&lt;br /&gt;
fi&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Auch dieses Skript ausführbar machen: &amp;lt;code&amp;gt;chmod +x /usr/bin/autoupdate_fastd_keys.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
=== Skripte in crontab eintragen ===&lt;br /&gt;
* In &amp;lt;code&amp;gt;sudo crontab -e&amp;lt;/code&amp;gt; folgende Zeilen anhängen&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*/5 * * * *   /usr/bin/autoupdate_fastd_keys.sh &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
* * * * *   /usr/bin/check_gateway.sh &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Fastd-Config ==&lt;br /&gt;
* &amp;lt;code&amp;gt;mkdir /etc/fastd/freifunk-{saar,lux}/&amp;lt;/code&amp;gt;&lt;br /&gt;
* Config-Dateien anlegen und entsprechenden Inhalt reinkopieren: TODO Link zu Config-Repo einfügen&lt;br /&gt;
* Secret Keys aus den Repos besorgen und in secret.conf schreiben&lt;br /&gt;
* Neuen SSH-Key anlegen, als Deploy Key in die Gitlab-Projekte https://git.hacksaar.de/FreifunkSaar/mesh-vpn-peers und https://git.hacksaar.de/FreifunkSaar/mesh-vpn-peers-lux eintragen.&lt;br /&gt;
* Mesh-VPN-Peers-Verzeichnis als &amp;quot;peers&amp;quot; klonen: &amp;lt;code&amp;gt;git clone git@hacksaar.de:FreifunkSaar/mesh-vpn-peers.git peers&amp;lt;/code&amp;gt; bzw &amp;lt;code&amp;gt;git clone git@hacksaar.de:FreifunkSaar/mesh-vpn-peers-lux.git peers&amp;lt;/code&amp;gt; jeweils im entsprechende Verzeichnis&lt;br /&gt;
* Feuer!: &amp;lt;code&amp;gt;sudo service fastd start&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DNS, DHCP und RA-Server ==&lt;br /&gt;
* Installieren: &amp;lt;code&amp;gt;apt-get install isc-dhcp-server bind9 radvd&amp;lt;/code&amp;gt;&lt;br /&gt;
=== Domain Name Server ===&lt;br /&gt;
=== IPv4 Dynamic Host Configuration Protocol ===&lt;br /&gt;
* /etc/dhcp/dhcpd.conf: (Komplett ersetzen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ddns-update-style none;&lt;br /&gt;
default-lease-time 300;&lt;br /&gt;
max-lease-time 300;&lt;br /&gt;
authoritative;&lt;br /&gt;
&lt;br /&gt;
log-facility local6;&lt;br /&gt;
&lt;br /&gt;
subnet 10.24.192.0 netmask 255.255.192.0 {&lt;br /&gt;
        range 10.24.XXX.0 10.24.XXX+3.255;&lt;br /&gt;
        option routers 10.24.192.ZZZ;&lt;br /&gt;
        option domain-name-servers 10.24.192.2, 10.24.192.3, 10.24.192.4;&lt;br /&gt;
        option domain-search &amp;quot;ffsaar&amp;quot;;&lt;br /&gt;
        option ntp-servers 10.24.192.2, 10.24.192.3, 10.24.192.4;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
subnet 10.24.128.0 netmask 255.255.192.0 {&lt;br /&gt;
        range 10.24.YYY.0 10.24.YYY+3.255;&lt;br /&gt;
        option routers 10.24.128.ZZZ;&lt;br /&gt;
        option domain-name-servers 10.24.128.2, 10.24.128.3, 10.24.128.4;&lt;br /&gt;
        option domain-search &amp;quot;fflux&amp;quot;;&lt;br /&gt;
        option ntp-servers 10.24.128.2, 10.24.128.3, 10.24.128.4;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* XXX, XXX+3, YYY, YYY+3, ZZZ durch richtige Werte ersetzen&lt;br /&gt;
* /etc/default/isc-dhcp-server (Zeile INTERFACES ersetzen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
INTERFACES=&amp;quot;saarBR luxBR&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Neu starten: &amp;lt;code&amp;gt;service isc-dhcp-server restart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== IPv6 Router Advertisements ===&lt;br /&gt;
&lt;br /&gt;
== To be continued... ==&lt;/div&gt;</summary>
		<author><name>Tobi042</name></author>
	</entry>
</feed>