<?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=Rugosh</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=Rugosh"/>
	<link rel="alternate" type="text/html" href="https://wiki.hacksaar.de/Spezial:Beitr%C3%A4ge/Rugosh"/>
	<updated>2026-05-17T06:14:03Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://wiki.hacksaar.de/index.php?title=Visitenkarten&amp;diff=2596</id>
		<title>Visitenkarten</title>
		<link rel="alternate" type="text/html" href="https://wiki.hacksaar.de/index.php?title=Visitenkarten&amp;diff=2596"/>
		<updated>2025-10-22T16:05:23Z</updated>

		<summary type="html">&lt;p&gt;Rugosh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Datei:Seite1.jpg |thumb|upright=1.0| Vorderseite Visitenkarte]]&lt;br /&gt;
&lt;br /&gt;
[[Datei:Seite2.jpg |thumb|upright=1.0| Rückseite Visitenkarte]]&lt;br /&gt;
&lt;br /&gt;
[[Datei:Visitenkarte Zigarettenautomat3.JPG |thumb|upright=1.0| Visitenkarte im Einsatz mit Magneten an Zigarettenautomaten]]&lt;br /&gt;
&lt;br /&gt;
Richtige vCard im .vcf-Format&lt;br /&gt;
&amp;lt;pre&amp;gt;BEGIN:VCARD&lt;br /&gt;
VERSION:3.0&lt;br /&gt;
FN:Technik Kultur Saar e.V.&lt;br /&gt;
N:Technik Kultur Saar;;;;e.V.&lt;br /&gt;
NICKNAME:Hackerspace&lt;br /&gt;
EMAIL;TYPE=INTERNET;TYPE=HOME:info@hacksaar.de&lt;br /&gt;
ADR;TYPE=HOME:;;Rathausstraße 18;Saarbrücken;;66125;&lt;br /&gt;
item1.URL:http\://www.hacksaar.de&lt;br /&gt;
item1.X-ABLabel:PROFILE&lt;br /&gt;
END:VCARD&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Rugosh</name></author>
	</entry>
	<entry>
		<id>https://wiki.hacksaar.de/index.php?title=3D-Drucker&amp;diff=2188</id>
		<title>3D-Drucker</title>
		<link rel="alternate" type="text/html" href="https://wiki.hacksaar.de/index.php?title=3D-Drucker&amp;diff=2188"/>
		<updated>2016-05-11T18:52:10Z</updated>

		<summary type="html">&lt;p&gt;Rugosh: /* Empfolene Settings für den Druck */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Datei:3D_Drucker.jpeg|128px|right]]&lt;br /&gt;
&lt;br /&gt;
= 3d Drucker Modell &amp;quot;Printrbot LC (Kickstarter edition)&amp;quot; =&lt;br /&gt;
&lt;br /&gt;
open source, download von Modellen bei thinkiverse, Drucker des Typs &amp;quot;Mendel&amp;quot;&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;
[[Kategorie:Projekt]]&lt;/div&gt;</summary>
		<author><name>Rugosh</name></author>
	</entry>
	<entry>
		<id>https://wiki.hacksaar.de/index.php?title=3D-Drucker&amp;diff=2187</id>
		<title>3D-Drucker</title>
		<link rel="alternate" type="text/html" href="https://wiki.hacksaar.de/index.php?title=3D-Drucker&amp;diff=2187"/>
		<updated>2016-05-06T12:38:41Z</updated>

		<summary type="html">&lt;p&gt;Rugosh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Datei:3D_Drucker.jpeg|128px|right]]&lt;br /&gt;
&lt;br /&gt;
= 3d Drucker Modell &amp;quot;Printrbot LC (Kickstarter edition)&amp;quot; =&lt;br /&gt;
&lt;br /&gt;
open source, download von Modellen bei thinkiverse, Drucker des Typs &amp;quot;Mendel&amp;quot;&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 ====&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: ABS ====&lt;br /&gt;
* Extruder Temperatur: 235° C&lt;br /&gt;
* Heizbett Temperatur: 70° C&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Projekt]]&lt;/div&gt;</summary>
		<author><name>Rugosh</name></author>
	</entry>
	<entry>
		<id>https://wiki.hacksaar.de/index.php?title=Benutzer:Rugosh&amp;diff=2158</id>
		<title>Benutzer:Rugosh</title>
		<link rel="alternate" type="text/html" href="https://wiki.hacksaar.de/index.php?title=Benutzer:Rugosh&amp;diff=2158"/>
		<updated>2016-03-13T12:53:07Z</updated>

		<summary type="html">&lt;p&gt;Rugosh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== [[Benutzer:Rugosh|Tobias]] ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:Silver_-_replace_this_image_male.svg|200px|thumb|right|gibt nix]]&lt;br /&gt;
&lt;br /&gt;
=== Wissensgebiete ===&lt;br /&gt;
&lt;br /&gt;
* Arduino&lt;br /&gt;
* ESP8266&lt;br /&gt;
* .NET Welt (C#...)&lt;br /&gt;
* Java (not in depth)&lt;br /&gt;
* &amp;quot;andere&amp;quot; Softwareentwicklung (am besten einfach dazu fragen)&lt;br /&gt;
&lt;br /&gt;
=== Projekte ===&lt;br /&gt;
&lt;br /&gt;
* LED Cube&lt;br /&gt;
* [[Freifunk]]&lt;br /&gt;
* Verschiedenes aus dem 3D Drucker&lt;br /&gt;
* CNC Kram&lt;br /&gt;
&lt;br /&gt;
=== Allgemein ===&lt;br /&gt;
&lt;br /&gt;
TBA&lt;/div&gt;</summary>
		<author><name>Rugosh</name></author>
	</entry>
	<entry>
		<id>https://wiki.hacksaar.de/index.php?title=3D-Drucker&amp;diff=2063</id>
		<title>3D-Drucker</title>
		<link rel="alternate" type="text/html" href="https://wiki.hacksaar.de/index.php?title=3D-Drucker&amp;diff=2063"/>
		<updated>2015-10-11T19:18:33Z</updated>

		<summary type="html">&lt;p&gt;Rugosh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Datei:3D_Drucker.jpeg|128px|right]]&lt;br /&gt;
&lt;br /&gt;
= 3d Drucker Modell &amp;quot;Printrbot LC (Kickstarter edition)&amp;quot; =&lt;br /&gt;
&lt;br /&gt;
open source, download von Modellen bei thinkiverse, Drucker des Typs &amp;quot;Mendel&amp;quot;&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 ====&lt;br /&gt;
[[Datei:Druckbett_mit_Malerkrepp.jpeg|265px|right]]&lt;br /&gt;
* Extruder Temperatur: 135° 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: ABS ====&lt;br /&gt;
* Extruder Temperatur: 135° C&lt;br /&gt;
* Heizbett Temperatur: 70° C&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Projekt]]&lt;/div&gt;</summary>
		<author><name>Rugosh</name></author>
	</entry>
	<entry>
		<id>https://wiki.hacksaar.de/index.php?title=Datei:Druckbett_mit_Malerkrepp.jpeg&amp;diff=2062</id>
		<title>Datei:Druckbett mit Malerkrepp.jpeg</title>
		<link rel="alternate" type="text/html" href="https://wiki.hacksaar.de/index.php?title=Datei:Druckbett_mit_Malerkrepp.jpeg&amp;diff=2062"/>
		<updated>2015-10-11T19:15:32Z</updated>

		<summary type="html">&lt;p&gt;Rugosh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Rugosh</name></author>
	</entry>
	<entry>
		<id>https://wiki.hacksaar.de/index.php?title=Datei:3D_Drucker.jpeg&amp;diff=2061</id>
		<title>Datei:3D Drucker.jpeg</title>
		<link rel="alternate" type="text/html" href="https://wiki.hacksaar.de/index.php?title=Datei:3D_Drucker.jpeg&amp;diff=2061"/>
		<updated>2015-10-11T19:09:53Z</updated>

		<summary type="html">&lt;p&gt;Rugosh: Arbeitsplatz mit dem 3D Drucker&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Arbeitsplatz mit dem 3D Drucker&lt;/div&gt;</summary>
		<author><name>Rugosh</name></author>
	</entry>
	<entry>
		<id>https://wiki.hacksaar.de/index.php?title=Freifunk:Router_im_Saarland_kaufen&amp;diff=1972</id>
		<title>Freifunk:Router im Saarland kaufen</title>
		<link rel="alternate" type="text/html" href="https://wiki.hacksaar.de/index.php?title=Freifunk:Router_im_Saarland_kaufen&amp;diff=1972"/>
		<updated>2015-05-11T08:22:40Z</updated>

		<summary type="html">&lt;p&gt;Rugosh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Natürlich kann man Freifunk-Router im Internet bestellen. Wer aber sofort loslegen oder den lokalen Einzelhandel unterstützen möchte, kann alternativ ein Geschäft in der Nähe aufsuchen. Dies ist ein Überblick über alle Einzelhändler im Saarland, die mit Freifunk Saar kompatible Router anbieten.&lt;br /&gt;
&lt;br /&gt;
Fehlt ein Einzelhändler in der Liste? Dann trag&#039; ihn ein oder maile den Einzelhändler mit Adresse, im Angebot geführte Modelle und deren Preis an freifunk-public@lists.hacksaar.de.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Händler/Geschäft !! Ort, Straße !! Gecheckt am !! TP-Link TL-841N !! TP-Link TL-841ND !! TP-Link WDR-3600 !! TP-Link WDR-4300 !! Bemerkungen&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.conrad.de/ce/de/ChainstoreInfo.html?chainstorecode=CS_DE_SB Conrad Elektronik ] || Trierer Straße 16-20 Saarbrücken|| 28.01.2015 || 21,99 || 39,99 || 44,99 || 54,99 || Man kann auf conrad.de prüfen, wie viele der gewünschten Geräte in einer bestimmten Filiale vorrätig ist.&lt;br /&gt;
|-&lt;br /&gt;
| [https://www.f-u-w.de/IT-Fachmarkt/ Fröhlich + Walter] || Behrener Straße 8 66117 Saarbrücken || 02.02.2015 || || 24,49 || 40,23 || &lt;br /&gt;
|-&lt;br /&gt;
| [http://www.saturn.de/mcs/marketinfo/Saturn-Saarbr%C3%BCcken,17327,-3.html Saturn] || Triererstraße 1 66111 Saarbrücken || 11.02.2015 || || 21,99 || || ||&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.mediamarkt.de/mcs/marketinfo/Media-Markt-Saarbr%C3%BCcken-Burbach-auf-den-Saarterrassen,67371,-3.html Media Markt] || Dr.-Tietz-Str. 13 66115 Saarbrücken  || 18.02.2015 || || 24,99 || ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Online Preisvergleich !! TP-Link TL-841N !! TP-Link TL-841ND !! TP-Link WDR-3600 !! TP-Link WDR-4300 !! Bemerkungen&lt;br /&gt;
|-&lt;br /&gt;
| idealo.de || [http://www.idealo.de/preisvergleich/OffersOfProduct/ms/1022764_-tl-wr841n-tp-link.html Preisvergleich] || [http://www.idealo.de/preisvergleich/OffersOfProduct/ms/2087861_-tl-wr841nd-tp-link.html Preisvergleich] || [http://www.idealo.de/preisvergleich/OffersOfProduct/ms/3415997_-tl-wdr3600-tp-link.html Preisvergleich]|| [http://www.idealo.de/preisvergleich/OffersOfProduct/ms/3315767_-tl-wdr4300-tp-link.html Preisvergleich] || Versandkosten beachten (Sortierung Gesamtpreis auswählen)&lt;br /&gt;
|-&lt;br /&gt;
|| geizhals.de||[http://geizhals.de/tp-link-tl-wr841n-a340658.html Preisvergleich] || [http://geizhals.de/tp-link-tl-wr841nd-a601787.html Preisvergleich] || [http://geizhals.de/tp-link-tl-wdr3600-a806392.html Preisvergleich] || [http://geizhals.de/tp-link-tl-wdr4300-a772368.html Preisvergleich] || Versandkosten beachten (inklusive Versand auswählen)&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Rugosh</name></author>
	</entry>
	<entry>
		<id>https://wiki.hacksaar.de/index.php?title=Freifunk:Mesh-VPN_Gateway-Server_einrichten&amp;diff=1960</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=1960"/>
		<updated>2015-04-19T20:53:28Z</updated>

		<summary type="html">&lt;p&gt;Rugosh: /* Alfred Konfiguration (saar only) */&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;
* 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>Rugosh</name></author>
	</entry>
	<entry>
		<id>https://wiki.hacksaar.de/index.php?title=Freifunk:Mesh-VPN_Gateway-Server_einrichten&amp;diff=1959</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=1959"/>
		<updated>2015-04-19T20:50:44Z</updated>

		<summary type="html">&lt;p&gt;Rugosh: /* Slave Konfiguration */&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;
* 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>Rugosh</name></author>
	</entry>
	<entry>
		<id>https://wiki.hacksaar.de/index.php?title=Benutzer:Rugosh&amp;diff=1958</id>
		<title>Benutzer:Rugosh</title>
		<link rel="alternate" type="text/html" href="https://wiki.hacksaar.de/index.php?title=Benutzer:Rugosh&amp;diff=1958"/>
		<updated>2015-04-19T20:18:45Z</updated>

		<summary type="html">&lt;p&gt;Rugosh: /* Tobias */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== [[Benutzer:Rugosh|Tobias]] ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:Silver_-_replace_this_image_male.svg|200px|thumb|right|gibt nix]]&lt;br /&gt;
&lt;br /&gt;
=== Wissensgebiete ===&lt;br /&gt;
&lt;br /&gt;
* Arduino&lt;br /&gt;
* .NET Welt (C#...)&lt;br /&gt;
* Java (not in depth)&lt;br /&gt;
* &amp;quot;andere&amp;quot; Softwareentwicklung (am besten einfach dazu fragen)&lt;br /&gt;
&lt;br /&gt;
=== Projekte ===&lt;br /&gt;
&lt;br /&gt;
* LED Cube&lt;br /&gt;
* [[Freifunk]]&lt;br /&gt;
&lt;br /&gt;
=== Allgemein ===&lt;br /&gt;
&lt;br /&gt;
TBA&lt;/div&gt;</summary>
		<author><name>Rugosh</name></author>
	</entry>
	<entry>
		<id>https://wiki.hacksaar.de/index.php?title=Freifunk:IP-Adressen&amp;diff=1957</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=1957"/>
		<updated>2015-04-19T20:18:12Z</updated>

		<summary type="html">&lt;p&gt;Rugosh: /* 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;
| [[Benutzer:Kimcm|Kim Meiser]]&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;
| Marvin Wißfeld&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;
| 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>Rugosh</name></author>
	</entry>
	<entry>
		<id>https://wiki.hacksaar.de/index.php?title=Benutzer:Rugosh&amp;diff=1956</id>
		<title>Benutzer:Rugosh</title>
		<link rel="alternate" type="text/html" href="https://wiki.hacksaar.de/index.php?title=Benutzer:Rugosh&amp;diff=1956"/>
		<updated>2015-04-19T20:17:40Z</updated>

		<summary type="html">&lt;p&gt;Rugosh: /* Projekte */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== [[Benutzer:Rugosh|Tobias]] ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:Silver_-_replace_this_image_male.svg|200px|thumb|right|gibt nix]]&lt;br /&gt;
&lt;br /&gt;
=== Wissensgebiete ===&lt;br /&gt;
&lt;br /&gt;
* Arduino&lt;br /&gt;
* .NET Welt (C#...)&lt;br /&gt;
* Java (not in depth)&lt;br /&gt;
* &amp;quot;andere&amp;quot; Softwareentwicklung (am besten einfach dazu fragen)&lt;br /&gt;
&lt;br /&gt;
=== Projekte ===&lt;br /&gt;
&lt;br /&gt;
* LED Cube&lt;br /&gt;
* Freifunk&lt;br /&gt;
&lt;br /&gt;
=== Allgemein ===&lt;br /&gt;
&lt;br /&gt;
TBA&lt;/div&gt;</summary>
		<author><name>Rugosh</name></author>
	</entry>
	<entry>
		<id>https://wiki.hacksaar.de/index.php?title=Freifunk:Mesh-VPN_Gateway-Server_einrichten&amp;diff=1904</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=1904"/>
		<updated>2015-02-22T20:53:33Z</updated>

		<summary type="html">&lt;p&gt;Rugosh: &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;
== 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>Rugosh</name></author>
	</entry>
	<entry>
		<id>https://wiki.hacksaar.de/index.php?title=Freifunk:Mesh-VPN_Gateway-Server_einrichten&amp;diff=1903</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=1903"/>
		<updated>2015-02-22T19:39:06Z</updated>

		<summary type="html">&lt;p&gt;Rugosh: &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;
== 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;&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>Rugosh</name></author>
	</entry>
	<entry>
		<id>https://wiki.hacksaar.de/index.php?title=Freifunk:Mesh-VPN_Gateway-Server_einrichten&amp;diff=1902</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=1902"/>
		<updated>2015-02-22T19:37:40Z</updated>

		<summary type="html">&lt;p&gt;Rugosh: &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;
== 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;&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-lux&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>Rugosh</name></author>
	</entry>
	<entry>
		<id>https://wiki.hacksaar.de/index.php?title=Freifunk:Mesh-VPN_Gateway-Server_einrichten&amp;diff=1901</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=1901"/>
		<updated>2015-02-22T15:50:45Z</updated>

		<summary type="html">&lt;p&gt;Rugosh: &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;
== 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;
=== 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;
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&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&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=bat0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&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;
&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;
== To be continued... ==&lt;br /&gt;
* DNSmasq statt radvd, bind, isc-dhcp-server&lt;br /&gt;
* iptables NAT&lt;/div&gt;</summary>
		<author><name>Rugosh</name></author>
	</entry>
	<entry>
		<id>https://wiki.hacksaar.de/index.php?title=Freifunk:Mesh-VPN_Gateway-Server_einrichten&amp;diff=1900</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=1900"/>
		<updated>2015-02-22T15:38:09Z</updated>

		<summary type="html">&lt;p&gt;Rugosh: &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;
== 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;
=== 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;
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&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&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=bat0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&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;
&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&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 Datei &amp;quot;aliases.json&amp;quot; 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;
== To be continued... ==&lt;br /&gt;
* DNSmasq statt radvd, bind, isc-dhcp-server&lt;br /&gt;
* iptables NAT&lt;/div&gt;</summary>
		<author><name>Rugosh</name></author>
	</entry>
	<entry>
		<id>https://wiki.hacksaar.de/index.php?title=Freifunk:Mesh-VPN_Keys_eintragen&amp;diff=1880</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=1880"/>
		<updated>2015-01-28T18:26:28Z</updated>

		<summary type="html">&lt;p&gt;Rugosh: &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-gateway-admins/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 vorname_nachname; 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 http://saar.freifunk.de/zugangspunkte/ 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;
&lt;br /&gt;
&lt;br /&gt;
Dein Freifunk Saar-Team&lt;br /&gt;
&amp;lt;/pre&amp;gt;&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>Rugosh</name></author>
	</entry>
	<entry>
		<id>https://wiki.hacksaar.de/index.php?title=Freifunk:Mesh-VPN_Keys_eintragen&amp;diff=1879</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=1879"/>
		<updated>2015-01-28T18:25:34Z</updated>

		<summary type="html">&lt;p&gt;Rugosh: &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-gateway-admins/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. Falls es &lt;br /&gt;
* Datei hinzufügen und commiten mit: &amp;lt;code&amp;gt;git add vorname_nachname; 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 http://saar.freifunk.de/zugangspunkte/ 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;
&lt;br /&gt;
&lt;br /&gt;
Dein Freifunk Saar-Team&lt;br /&gt;
&amp;lt;/pre&amp;gt;&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>Rugosh</name></author>
	</entry>
	<entry>
		<id>https://wiki.hacksaar.de/index.php?title=Freifunk:Router_im_Saarland_kaufen&amp;diff=1878</id>
		<title>Freifunk:Router im Saarland kaufen</title>
		<link rel="alternate" type="text/html" href="https://wiki.hacksaar.de/index.php?title=Freifunk:Router_im_Saarland_kaufen&amp;diff=1878"/>
		<updated>2015-01-28T16:44:36Z</updated>

		<summary type="html">&lt;p&gt;Rugosh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Natürlich kann man Freifunk-Router im Internet bestellen. Wer aber sofort loslegen oder den lokalen Einzelhandel unterstützen möchte, kann alternativ ein Geschäft in der Nähe aufsuchen. Dies ist ein Überblick über alle Einzelhändler im Saarland, die mit Freifunk Saar kompatible Router anbieten.&lt;br /&gt;
&lt;br /&gt;
Fehlt ein Einzelhändler in der Liste? Dann trag&#039; ihn ein oder maile Einzelhändler mit Adresse, im Angebot geführte Modelle samt Preis an freifunk-public@lists.hacksaar.de.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Händler/Geschäft !! Ort, Straße !! Gecheckt am !! TP-Link TL-841N !! TP-Link TL-841ND !! TP-Link WDR-3600 !! TP-Link WDR-4300 !! Bemerkungen&lt;br /&gt;
|-&lt;br /&gt;
| Conrad Elektronik || Saarbrücken, Trierer Straße 16-20[http://www.conrad.de/ce/de/ChainstoreInfo.html?chainstorecode=CS_DE_SB] || 28.01.2015 || 19,99 || 39,99 || 44,99 || 54,99 || Man kann auf conrad.de prüfen, wie viele der gewünschten Geräte in einer bestimmten Filiale vorrätig ist.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Rugosh</name></author>
	</entry>
	<entry>
		<id>https://wiki.hacksaar.de/index.php?title=Benutzer:Rugosh&amp;diff=1733</id>
		<title>Benutzer:Rugosh</title>
		<link rel="alternate" type="text/html" href="https://wiki.hacksaar.de/index.php?title=Benutzer:Rugosh&amp;diff=1733"/>
		<updated>2014-10-02T06:32:24Z</updated>

		<summary type="html">&lt;p&gt;Rugosh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== [[Benutzer:Rugosh|Tobias]] ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:Silver_-_replace_this_image_male.svg|200px|thumb|right|gibt nix]]&lt;br /&gt;
&lt;br /&gt;
=== Wissensgebiete ===&lt;br /&gt;
&lt;br /&gt;
* Arduino&lt;br /&gt;
* .NET Welt (C#...)&lt;br /&gt;
* Java (not in depth)&lt;br /&gt;
* &amp;quot;andere&amp;quot; Softwareentwicklung (am besten einfach dazu fragen)&lt;br /&gt;
&lt;br /&gt;
=== Projekte ===&lt;br /&gt;
&lt;br /&gt;
* LED Cube&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
=== Allgemein ===&lt;br /&gt;
&lt;br /&gt;
TBA&lt;/div&gt;</summary>
		<author><name>Rugosh</name></author>
	</entry>
	<entry>
		<id>https://wiki.hacksaar.de/index.php?title=Benutzer:Rugosh&amp;diff=1725</id>
		<title>Benutzer:Rugosh</title>
		<link rel="alternate" type="text/html" href="https://wiki.hacksaar.de/index.php?title=Benutzer:Rugosh&amp;diff=1725"/>
		<updated>2014-10-01T18:32:28Z</updated>

		<summary type="html">&lt;p&gt;Rugosh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== [[Benutzer:Rugosh|Tobias Kuhn]] ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:Silver_-_replace_this_image_male.svg|200px|thumb|right|gibt nix]]&lt;br /&gt;
&lt;br /&gt;
=== Wissensgebiete ===&lt;br /&gt;
&lt;br /&gt;
* Arduino&lt;br /&gt;
* .NET Welt (C#...)&lt;br /&gt;
* Java (not in depth)&lt;br /&gt;
* &amp;quot;andere&amp;quot; Softwareentwicklung&lt;br /&gt;
&lt;br /&gt;
=== Projekte ===&lt;br /&gt;
&lt;br /&gt;
* LED Cube&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
=== Allgemein ===&lt;br /&gt;
&lt;br /&gt;
TBA&lt;/div&gt;</summary>
		<author><name>Rugosh</name></author>
	</entry>
	<entry>
		<id>https://wiki.hacksaar.de/index.php?title=Benutzer:Rugosh&amp;diff=1724</id>
		<title>Benutzer:Rugosh</title>
		<link rel="alternate" type="text/html" href="https://wiki.hacksaar.de/index.php?title=Benutzer:Rugosh&amp;diff=1724"/>
		<updated>2014-10-01T18:28:00Z</updated>

		<summary type="html">&lt;p&gt;Rugosh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== [[Benutzer:Rugosh|Tobias Kuhn]] ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:Silver_-_replace_this_image_male.svg|200px|thumb|right|gibt nix]]&lt;br /&gt;
&lt;br /&gt;
=== Wissensgebiete ===&lt;br /&gt;
&lt;br /&gt;
* Android&lt;br /&gt;
* .NET Welt (C#...)&lt;br /&gt;
* Java (not in depth)&lt;br /&gt;
&lt;br /&gt;
=== Projekte ===&lt;br /&gt;
&lt;br /&gt;
* LED Cube&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
=== Allgemein ===&lt;br /&gt;
&lt;br /&gt;
TBA&lt;/div&gt;</summary>
		<author><name>Rugosh</name></author>
	</entry>
	<entry>
		<id>https://wiki.hacksaar.de/index.php?title=Mitgliederliste&amp;diff=1723</id>
		<title>Mitgliederliste</title>
		<link rel="alternate" type="text/html" href="https://wiki.hacksaar.de/index.php?title=Mitgliederliste&amp;diff=1723"/>
		<updated>2014-10-01T18:24:26Z</updated>

		<summary type="html">&lt;p&gt;Rugosh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Diese Seite dient dazu schnell herauszufinden, wer wer ist. Jedes Mitglied wird hier kurz beschrieben und ihre Rollen werden aufgelistet&lt;br /&gt;
&lt;br /&gt;
Jeder kann hier selbst seine Wissensgebiete, Projekte und Posten am Hackerspace eintragen. Auch erwähnenswert wäre vielleicht was man studiert oder studiert hat und wo man arbeitet. Man kann auch in ein paar Zeilen über sich berichten und seine sonstigen Interessen bekunden, die nichts direkt mit dem Hackerspace zu tun haben, denn man weiß ja nie, ob nicht jemand seine Interessen teilt.&lt;br /&gt;
&lt;br /&gt;
Ein Photo ist ebenfalls sehr zu empfehlen um leichter gefunden zu werden. Nerds sind notorisch schlecht darin, sich Namen zu merken :-) Wer kein Photo hat, wird also auch nicht gefunden. Das Einfügen ist ganz leicht: einfach auf der Hauptseite der wiki unter &#039;Werkzeuge&#039; &#039;Datei hochladen&#039; wählen, sich den Namen merken und ihn hier eintragen.&lt;br /&gt;
&lt;br /&gt;
Da das ganze der Übersicht dient, sollten die Profile kurz gehalten werden. Bei Bedarf kann zu eigenen Seiten mit detailierteren Profilen verlinkt werden. Die Liste ist alphabetisch sortiert.&lt;br /&gt;
&lt;br /&gt;
Behaltet bei der Erstellung von Profilen die Möglichkeit im Auge, dass man diese Seite per Browser-Suche nach Stichworten durchkämmt, verwendet also am besten sowohl ausformulierten Text als auch Abkürzungen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== [[Benutzer:Florian dietz|Florian Dietz]] ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:B3736.jpg|200px|thumb|right|Florian Dietz]]&lt;br /&gt;
&lt;br /&gt;
=== Wissensgebiete ===&lt;br /&gt;
&lt;br /&gt;
* Künstliche Intelligenz (KI/AI)&lt;br /&gt;
* Maschinelles Lernen&lt;br /&gt;
* Psychologie&lt;br /&gt;
* Kognitionswissenschaften&lt;br /&gt;
&lt;br /&gt;
=== Projekte ===&lt;br /&gt;
&lt;br /&gt;
* privates Forschungsprojekt zu AI&lt;br /&gt;
* Roman im Bereich meta-fiction.&lt;br /&gt;
* keine Projekte am Hackerspace selbst, da ich nicht mit Hardware arbeite&lt;br /&gt;
&lt;br /&gt;
=== Allgemein ===&lt;br /&gt;
&lt;br /&gt;
Ich bin seit 2014 Mitglied im Hackerspace und gehe Mittwochs regelmäßig dort hin um mich über verschiedene Themen zu unterhalten und meinen Horizont zu erweitern.&lt;br /&gt;
&lt;br /&gt;
Ich studiere an der UdS Informatik.&lt;br /&gt;
&lt;br /&gt;
Ich kenne mich sehr gut mit künstlicher Intelligenz aus. Ich habe wenig Ahnung von Hardware oder Internet, interessiere mich aber für Algorithmen und Datenstrukturen, wobei ich praktische Lösungen reiner Theorie bevorzuge.&lt;br /&gt;
&lt;br /&gt;
Außerhalb der Informatik interessiere ich mich auch für die Kognitionswissenschaften (Philosophie, Psychologie, etc.) und bin begeisterter Leser von science-fiction und meta-fiction.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== [[Benutzer:Micha|Micha]] ==&lt;br /&gt;
&lt;br /&gt;
=== Wissensgebiete ===&lt;br /&gt;
&lt;br /&gt;
* Elektronik/Hardware&lt;br /&gt;
* Digitale Synthesizer&lt;br /&gt;
* SPS-Programmierung&lt;br /&gt;
* Programmierung in C, C++, Ruby und ein kleines bisschen Python&lt;br /&gt;
* Allerhand verrückte Dinge&lt;br /&gt;
* Dummschwätzen&lt;br /&gt;
&lt;br /&gt;
=== Projekte ===&lt;br /&gt;
&lt;br /&gt;
* FOrgel, Musik aus alter Hardware (gemeinsam mit [[Benutzer:Mafolz | Matthias]])&lt;br /&gt;
* Lo-Fi Granularsynthesizer, basiert auf [http://www.instructables.com/id/The-Arduino-Synthesizer/?lang=de  Arduino Synthesizer]&lt;br /&gt;
* Grundlagenworkshop Elektronik und Hardware&lt;br /&gt;
* Feuchtigkeitssensor und Twitterterminal für [[Bertha_Bogenhanf]]&lt;br /&gt;
* [[Sphinx]] (Ab Ende Oktober auch wieder wirklich)&lt;br /&gt;
&lt;br /&gt;
== [[Benutzer:Jochen|Jochen Bauer]] ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:Silver_-_replace_this_image_male.svg|200px|thumb|right|Kein Bild]]&lt;br /&gt;
&lt;br /&gt;
=== Wissensgebiete ===&lt;br /&gt;
&lt;br /&gt;
TBA&lt;br /&gt;
&lt;br /&gt;
=== Projekte ===&lt;br /&gt;
&lt;br /&gt;
TBA&lt;br /&gt;
&lt;br /&gt;
=== Allgemein ===&lt;br /&gt;
&lt;br /&gt;
TBA&lt;br /&gt;
== [[Benutzer:Ali|Ali]] ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:Silver_-_replace_this_image_male.svg|200px|thumb|right|Kein Bild]]&lt;br /&gt;
&lt;br /&gt;
=== Wissensgebiete ===&lt;br /&gt;
&lt;br /&gt;
* Psychologie&lt;br /&gt;
* Statistik&lt;br /&gt;
* Eyetracking&lt;br /&gt;
* Python&lt;br /&gt;
* Linux&lt;br /&gt;
&lt;br /&gt;
=== Allgemein ===&lt;br /&gt;
&lt;br /&gt;
Ich habe Psychologie studiert und studiere aktuell Educational Technology.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== [[Benutzer:Constantin|Constantin]] ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:Silver_-_replace_this_image_male.svg|200px|thumb|right|Kein Bild]]&lt;br /&gt;
&lt;br /&gt;
=== Wissensgebiete ===&lt;br /&gt;
&lt;br /&gt;
* Bildverarbeitung&lt;br /&gt;
* Fotografie&lt;br /&gt;
* Digitale Kunst (esoterische Programmiersprachen, Demos...)&lt;br /&gt;
* Sprachen: Python, C, Bash&lt;br /&gt;
&lt;br /&gt;
=== Projekte ===&lt;br /&gt;
&lt;br /&gt;
* Softwareseite der [[Sphinx]]&lt;br /&gt;
* [[Weboot]]&lt;br /&gt;
* [[Crypto Art]]&lt;br /&gt;
* [[Surfding]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== [[Benutzer:Ralf|Ralf]] ==&lt;br /&gt;
&lt;br /&gt;
=== Wissensgebiete &amp;amp; Interessen ===&lt;br /&gt;
&lt;br /&gt;
* Alles (sagt Conny)... ;-)&lt;br /&gt;
* Netzwerke&lt;br /&gt;
* Kryptographie &amp;amp; Computersicherheit&lt;br /&gt;
* Server-Administration (Web, Mail, DNS, Jabber)&lt;br /&gt;
* Linux&lt;br /&gt;
* Informatik als Wissenschaft (theoretische Informatik, formale Logik, Programmiersprachen)&lt;br /&gt;
* Sprachen: C(++), Python&lt;br /&gt;
&lt;br /&gt;
=== Projekte ===&lt;br /&gt;
&lt;br /&gt;
* Softwareseite der [[Sphinx]]&lt;br /&gt;
* [[Rudi]]&lt;br /&gt;
* [[Nina]]&lt;br /&gt;
* der hacksaar-Server&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== [[Benutzer:mafolz|Matthias Folz]] ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:Silver_-_replace_this_image_male.svg|200px|thumb|right|Kein Bild]]&lt;br /&gt;
&lt;br /&gt;
=== Wissensgebiete ===&lt;br /&gt;
&lt;br /&gt;
* Software-Synthesizer&lt;br /&gt;
* MIDI Devices&lt;br /&gt;
* Saarländisches Handwerkswissen&lt;br /&gt;
* E-Zigarette&lt;br /&gt;
* Linux (Debian basiert bitte :), von emerge hab ich die Nase voll )&lt;br /&gt;
* Programmieren: Ruby, NodeJS&lt;br /&gt;
* MySQL&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Projekte ===&lt;br /&gt;
&lt;br /&gt;
* [https://wiki.hacksaar.de/FOrgel FOrgel]&lt;br /&gt;
&lt;br /&gt;
=== Allgemein ===&lt;br /&gt;
&lt;br /&gt;
TBA&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== [[Benutzer:Marc|Marc]] ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:Silver_-_replace_this_image_male.svg|200px|thumb|right|Kein Bild]]&lt;br /&gt;
&lt;br /&gt;
=== Wissensgebiete ===&lt;br /&gt;
&lt;br /&gt;
* Handwerkliche/Mechanische Fragen&lt;br /&gt;
* Pneumatik&lt;br /&gt;
* kleine 3D-Drucke im Space&lt;br /&gt;
&lt;br /&gt;
=== Projekte ===&lt;br /&gt;
&lt;br /&gt;
* [[CNC-Tisch-&amp;quot;Fräse&amp;quot;]]&lt;br /&gt;
* Mulitibox.(DVD-Laufwerk/Brenner, Kartenleser, und weritere Geräte vereint)&lt;br /&gt;
* Teslaspule&lt;br /&gt;
* [[Infobildschirm]]&lt;br /&gt;
* [[RAM-Reparatur]]&lt;br /&gt;
&lt;br /&gt;
=== Allgemein ===&lt;br /&gt;
&lt;br /&gt;
Ich bin gelernter Feinwerkmeschaniker (Werkzeugmacher) und baue Stanzwerkzeuge, Vorrichtungen und Sondermaschienen.&lt;br /&gt;
&lt;br /&gt;
Mache zur Zeit eine Weiterbildung zum Maschienentechniker und bin sehr an Steuerungstechnik interessiert.&lt;br /&gt;
&lt;br /&gt;
Finden könnt ihr mich oft im Space oder schreibt was auf der Mailingliste.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== [[Benutzer:Jochen|Klaus Mustermann]] ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:Silver_-_replace_this_image_male.svg|200px|thumb|right|Kein Bild]]&lt;br /&gt;
&lt;br /&gt;
=== Wissensgebiete ===&lt;br /&gt;
&lt;br /&gt;
TBA&lt;br /&gt;
&lt;br /&gt;
=== Projekte ===&lt;br /&gt;
&lt;br /&gt;
TBA&lt;br /&gt;
&lt;br /&gt;
=== Allgemein ===&lt;br /&gt;
&lt;br /&gt;
TBA&lt;br /&gt;
&lt;br /&gt;
== [[Benutzer:Daniel Rhein|Daniel Rhein]] ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:Silver_-_replace_this_image_male.svg|200px|thumb|right|Kein Bild]]&lt;br /&gt;
&lt;br /&gt;
=== Wissensgebiete ===&lt;br /&gt;
* Embedded Systems&lt;br /&gt;
* Datenbanksysteme&lt;br /&gt;
* Digitaltechnik&lt;br /&gt;
* Computer Vision&lt;br /&gt;
* Android, Java, C, C++&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Projekte ===&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
=== Allgemein ===&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
{{User:Rugosh}}&lt;br /&gt;
&lt;br /&gt;
== [[Benutzer:Joerg Herrlinger|Joerg Herrlinger]] ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:Jherrlinger.png|200px|thumb|right|Joerg Herrlinger]]&lt;br /&gt;
&lt;br /&gt;
=== Wissensgebiete ===&lt;br /&gt;
&lt;br /&gt;
* Marketing / Public Relations&lt;br /&gt;
* CMS Typo3 und Wordpress&lt;br /&gt;
* CRM-Systeme&lt;br /&gt;
* Support- und Ticketsysteme&lt;br /&gt;
&lt;br /&gt;
=== Projekte ===&lt;br /&gt;
&lt;br /&gt;
* OnlineMagazin [http://www.deutsche-tribuene.de Deutsche Tribüne]&lt;br /&gt;
* Pageflow&lt;br /&gt;
&lt;br /&gt;
=== Allgemein ===&lt;br /&gt;
&lt;br /&gt;
Wohne und arbeite in Homburg. Bin immer an Neuigkeiten interessiert in den Bereichen Social Media, Kunst und Web&lt;/div&gt;</summary>
		<author><name>Rugosh</name></author>
	</entry>
	<entry>
		<id>https://wiki.hacksaar.de/index.php?title=Mitgliederliste&amp;diff=1720</id>
		<title>Mitgliederliste</title>
		<link rel="alternate" type="text/html" href="https://wiki.hacksaar.de/index.php?title=Mitgliederliste&amp;diff=1720"/>
		<updated>2014-10-01T18:09:02Z</updated>

		<summary type="html">&lt;p&gt;Rugosh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Diese Seite dient dazu schnell herauszufinden, wer wer ist. Jedes Mitglied wird hier kurz beschrieben und ihre Rollen werden aufgelistet&lt;br /&gt;
&lt;br /&gt;
Jeder kann hier selbst seine Wissensgebiete, Projekte und Posten am Hackerspace eintragen. Auch erwähnenswert wäre vielleicht was man studiert oder studiert hat und wo man arbeitet. Man kann auch in ein paar Zeilen über sich berichten und seine sonstigen Interessen bekunden, die nichts direkt mit dem Hackerspace zu tun haben, denn man weiß ja nie, ob nicht jemand seine Interessen teilt.&lt;br /&gt;
&lt;br /&gt;
Ein Photo ist ebenfalls sehr zu empfehlen um leichter gefunden zu werden. Nerds sind notorisch schlecht darin, sich Namen zu merken :-) Wer kein Photo hat, wird also auch nicht gefunden. Das Einfügen ist ganz leicht: einfach auf der Hauptseite der wiki unter &#039;Werkzeuge&#039; &#039;Datei hochladen&#039; wählen, sich den Namen merken und ihn hier eintragen.&lt;br /&gt;
&lt;br /&gt;
Da das ganze der Übersicht dient, sollten die Profile kurz gehalten werden. Bei Bedarf kann zu eigenen Seiten mit detailierteren Profilen verlinkt werden. Die Liste ist alphabetisch sortiert.&lt;br /&gt;
&lt;br /&gt;
Behaltet bei der Erstellung von Profilen die Möglichkeit im Auge, dass man diese Seite per Browser-Suche nach Stichworten durchkämmt, verwendet also am besten sowohl ausformulierten Text als auch Abkürzungen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== [[Benutzer:Florian dietz|Florian Dietz]] ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:B3736.jpg|200px|thumb|right|Florian Dietz]]&lt;br /&gt;
&lt;br /&gt;
=== Wissensgebiete ===&lt;br /&gt;
&lt;br /&gt;
* Künstliche Intelligenz (KI/AI)&lt;br /&gt;
* Maschinelles Lernen&lt;br /&gt;
* Psychologie&lt;br /&gt;
* Kognitionswissenschaften&lt;br /&gt;
&lt;br /&gt;
=== Projekte ===&lt;br /&gt;
&lt;br /&gt;
* privates Forschungsprojekt zu AI&lt;br /&gt;
* Roman im Bereich meta-fiction.&lt;br /&gt;
* keine Projekte am Hackerspace selbst, da ich nicht mit Hardware arbeite&lt;br /&gt;
&lt;br /&gt;
=== Allgemein ===&lt;br /&gt;
&lt;br /&gt;
Ich bin seit 2014 Mitglied im Hackerspace und gehe Mittwochs regelmäßig dort hin um mich über verschiedene Themen zu unterhalten und meinen Horizont zu erweitern.&lt;br /&gt;
&lt;br /&gt;
Ich studiere an der UdS Informatik.&lt;br /&gt;
&lt;br /&gt;
Ich kenne mich sehr gut mit künstlicher Intelligenz aus. Ich habe wenig Ahnung von Hardware oder Internet, interessiere mich aber für Algorithmen und Datenstrukturen, wobei ich praktische Lösungen reiner Theorie bevorzuge.&lt;br /&gt;
&lt;br /&gt;
Außerhalb der Informatik interessiere ich mich auch für die Kognitionswissenschaften (Philosophie, Psychologie, etc.) und bin begeisterter Leser von science-fiction und meta-fiction.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== [[Benutzer:Jochen|Jochen Bauer]] ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:Silver_-_replace_this_image_male.svg|200px|thumb|right|Kein Bild]]&lt;br /&gt;
&lt;br /&gt;
=== Wissensgebiete ===&lt;br /&gt;
&lt;br /&gt;
TBA&lt;br /&gt;
&lt;br /&gt;
=== Projekte ===&lt;br /&gt;
&lt;br /&gt;
TBA&lt;br /&gt;
&lt;br /&gt;
=== Allgemein ===&lt;br /&gt;
&lt;br /&gt;
TBA&lt;br /&gt;
== [[Benutzer:Ali|Ali]] ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:Silver_-_replace_this_image_male.svg|200px|thumb|right|Kein Bild]]&lt;br /&gt;
&lt;br /&gt;
=== Wissensgebiete ===&lt;br /&gt;
&lt;br /&gt;
* Psychologie&lt;br /&gt;
* Statistik&lt;br /&gt;
* Eyetracking&lt;br /&gt;
* Python&lt;br /&gt;
* Linux&lt;br /&gt;
&lt;br /&gt;
=== Allgemein ===&lt;br /&gt;
&lt;br /&gt;
Ich habe Psychologie studiert und studiere aktuell Educational Technology.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== [[Benutzer:Constantin|Constantin]] ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:Silver_-_replace_this_image_male.svg|200px|thumb|right|Kein Bild]]&lt;br /&gt;
&lt;br /&gt;
=== Wissensgebiete ===&lt;br /&gt;
&lt;br /&gt;
* Bildverarbeitung&lt;br /&gt;
* Fotografie&lt;br /&gt;
* Digitale Kunst (esoterische Programmiersprachen, Demos...)&lt;br /&gt;
* Sprachen: Python, C, Bash&lt;br /&gt;
&lt;br /&gt;
=== Projekte ===&lt;br /&gt;
&lt;br /&gt;
* Softwareseite der [[Sphinx]]&lt;br /&gt;
* [[Weboot]]&lt;br /&gt;
* [[Crypto Art]]&lt;br /&gt;
* [[Surfding]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== [[Benutzer:Ralf|Ralf]] ==&lt;br /&gt;
&lt;br /&gt;
=== Wissensgebiete &amp;amp; Interessen ===&lt;br /&gt;
&lt;br /&gt;
* Alles (sagt Conny)... ;-)&lt;br /&gt;
* Netzwerke&lt;br /&gt;
* Kryptographie &amp;amp; Computersicherheit&lt;br /&gt;
* Server-Administration (Web, Mail, DNS, Jabber)&lt;br /&gt;
* Linux&lt;br /&gt;
* Informatik als Wissenschaft (theoretische Informatik, formale Logik, Programmiersprachen)&lt;br /&gt;
* Sprachen: C(++), Python&lt;br /&gt;
&lt;br /&gt;
=== Projekte ===&lt;br /&gt;
&lt;br /&gt;
* Softwareseite der [[Sphinx]]&lt;br /&gt;
* [[Rudi]]&lt;br /&gt;
* [[Nina]]&lt;br /&gt;
* der hacksaar-Server&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== [[Benutzer:mafolz|Matthias Folz]] ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:Silver_-_replace_this_image_male.svg|200px|thumb|right|Kein Bild]]&lt;br /&gt;
&lt;br /&gt;
=== Wissensgebiete ===&lt;br /&gt;
&lt;br /&gt;
* Software-Synthesizer&lt;br /&gt;
* MIDI Devices&lt;br /&gt;
* Saarländisches Handwerkswissen&lt;br /&gt;
* E-Zigarette&lt;br /&gt;
* Linux (Debian basiert bitte :), von emerge hab ich die Nase voll )&lt;br /&gt;
* Programmieren: Ruby, NodeJS&lt;br /&gt;
* MySQL&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Projekte ===&lt;br /&gt;
&lt;br /&gt;
* [https://wiki.hacksaar.de/FOrgel FOrgel]&lt;br /&gt;
&lt;br /&gt;
=== Allgemein ===&lt;br /&gt;
&lt;br /&gt;
TBA&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== [[Benutzer:Marc|Marc]] ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:Silver_-_replace_this_image_male.svg|200px|thumb|right|Kein Bild]]&lt;br /&gt;
&lt;br /&gt;
=== Wissensgebiete ===&lt;br /&gt;
&lt;br /&gt;
* Handwerkliche/Mechanische Fragen&lt;br /&gt;
* Pneumatik&lt;br /&gt;
* kleine 3D-Drucke im Space&lt;br /&gt;
&lt;br /&gt;
=== Projekte ===&lt;br /&gt;
&lt;br /&gt;
* [[CNC-Tisch-&amp;quot;Fräse&amp;quot;]]&lt;br /&gt;
* Mulitibox.(DVD-Laufwerk/Brenner, Kartenleser, und weritere Geräte vereint)&lt;br /&gt;
* Teslaspule&lt;br /&gt;
* [[Infobildschirm]]&lt;br /&gt;
* [[RAM-Reparatur]]&lt;br /&gt;
&lt;br /&gt;
=== Allgemein ===&lt;br /&gt;
&lt;br /&gt;
Ich bin gelernter Feinwerkmeschaniker (Werkzeugmacher) und baue Stanzwerkzeuge, Vorrichtungen und Sondermaschienen.&lt;br /&gt;
&lt;br /&gt;
Mache zur Zeit eine Weiterbildung zum Maschienentechniker und bin sehr an Steuerungstechnik interessiert.&lt;br /&gt;
&lt;br /&gt;
Finden könnt ihr mich oft im Space oder schreibt was auf der Mailingliste.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== [[Benutzer:Jochen|Klaus Mustermann]] ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:Silver_-_replace_this_image_male.svg|200px|thumb|right|Kein Bild]]&lt;br /&gt;
&lt;br /&gt;
=== Wissensgebiete ===&lt;br /&gt;
&lt;br /&gt;
TBA&lt;br /&gt;
&lt;br /&gt;
=== Projekte ===&lt;br /&gt;
&lt;br /&gt;
TBA&lt;br /&gt;
&lt;br /&gt;
=== Allgemein ===&lt;br /&gt;
&lt;br /&gt;
TBA&lt;br /&gt;
&lt;br /&gt;
== [[Benutzer:Daniel Rhein|Daniel Rhein]] ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:Silver_-_replace_this_image_male.svg|200px|thumb|right|Kein Bild]]&lt;br /&gt;
&lt;br /&gt;
=== Wissensgebiete ===&lt;br /&gt;
* Embedded Systems&lt;br /&gt;
* Datenbanksysteme&lt;br /&gt;
* Digitaltechnik&lt;br /&gt;
* Computer Vision&lt;br /&gt;
* Android, Java, C, C++&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Projekte ===&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
=== Allgemein ===&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
== [[Benutzer:Rugosh|Tobias Kuhn]] ==&lt;br /&gt;
siehe Benutzerseite&lt;/div&gt;</summary>
		<author><name>Rugosh</name></author>
	</entry>
	<entry>
		<id>https://wiki.hacksaar.de/index.php?title=Benutzer:Rugosh&amp;diff=1718</id>
		<title>Benutzer:Rugosh</title>
		<link rel="alternate" type="text/html" href="https://wiki.hacksaar.de/index.php?title=Benutzer:Rugosh&amp;diff=1718"/>
		<updated>2014-10-01T17:53:18Z</updated>

		<summary type="html">&lt;p&gt;Rugosh: Die Seite wurde neu angelegt: „== Tobias Kuhn ==  Kein Bild  === Wissensgebiete ===  * Android * .NET Wel…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== [[Benutzer:Rugosh|Tobias Kuhn]] ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:Silver_-_replace_this_image_male.svg|200px|thumb|right|Kein Bild]]&lt;br /&gt;
&lt;br /&gt;
=== Wissensgebiete ===&lt;br /&gt;
&lt;br /&gt;
* Android&lt;br /&gt;
* .NET Welt (C#...)&lt;br /&gt;
* Java (not in depth)&lt;br /&gt;
&lt;br /&gt;
=== Projekte ===&lt;br /&gt;
&lt;br /&gt;
* LED Cube&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
=== Allgemein ===&lt;br /&gt;
&lt;br /&gt;
TBA&lt;/div&gt;</summary>
		<author><name>Rugosh</name></author>
	</entry>
</feed>