Gateway: Unterschied zwischen den Versionen

Aus Freifunk Kiel
Zur Navigation springen Zur Suche springen
K (Änderung 29209 von Rubo77 (Diskussion) rückgängig gemacht.)
 
(12 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 12: Zeile 12:
 
Die Konfigurationsbeispiele in diesem Artikel beziehen sich auf Debian.
 
Die Konfigurationsbeispiele in diesem Artikel beziehen sich auf Debian.
  
=== Freifunk Netzwerkbücke ===
+
=== Zusätzliche Quellen und Packete installieren ===
 +
Um aktuellen Packete von FASTd und B.A.T.M.A.N. zu bekommen, sollte man eine entsprechende Quelle in die APT-Sources einpflegen, z.B.:
 +
 
 +
  deb http://repo.universe-factory.net/debian/ sid main
 +
 
 +
Folgende Packete werden benötigt:
 +
 
 +
  fastd batman-adv bridge-utils git
 +
 
 +
=== Freifunk Netzwerkbrücke ===
 
Um den Freifunk Netzwerkverkehr konsistent zu verwalten legen wir eine Netzwerk Brücke an.  
 
Um den Freifunk Netzwerkverkehr konsistent zu verwalten legen wir eine Netzwerk Brücke an.  
 
Wir werden diese in dieser Anleitung ab jetzt als das Netzwerkgerät ''br-ffki'' bezeichnen.
 
Wir werden diese in dieser Anleitung ab jetzt als das Netzwerkgerät ''br-ffki'' bezeichnen.
Zeile 45: Zeile 54:
 
     up ip link set $IFACE up
 
     up ip link set $IFACE up
 
     post-up brctl addif br-ffki $IFACE
 
     post-up brctl addif br-ffki $IFACE
     post-up batctl it 10000  
+
     post-up batctl it 11237  
 
     pre-down brctl delif br-ffki $IFACE || true
 
     pre-down brctl delif br-ffki $IFACE || true
 
     down ip link set $IFACE down
 
     down ip link set $IFACE down
  
=== VPN Service ===
+
=== VPN Service mit FASTd einrichten===
* FASTd einrichten
+
Um anderen Knoten im Freifunk eine direkte Verbindung zum neuen Dial-In-Server zu ermöglichen sind folgende Schritte nötig:
* Interface als batman interface einstellen
+
 
* letzterere Vorgang sorgt automatisch fuer das erzeugen des batman interfaces.
+
Dieses Script nach ''/etc/init.d/fastd'' kopieren:
   und führt damit zur aufnahme von bat0 in die bruecke.
+
http://freifunk.in-kiel.de/debian/fastd
 +
 
 +
dieses Script in ''/etc/fastd/fastd.conf'' erstellen:
 +
<pre>
 +
log to syslog level debug;
 +
interface "mesh-vpn";
 +
method "xsalsa20-poly1305";
 +
method "aes128-gcm";
 +
bind 0.0.0.0:11237;
 +
include "secret.conf";
 +
mtu 1312;
 +
 
 +
include peers from "peers";
 +
 
 +
on up "
 +
  ip link set dev $INTERFACE address de:66:c8:a0:df:04
 +
  ip link set up dev $INTERFACE
 +
  batctl if add $INTERFACE
 +
  batctl vm server
 +
";
 +
</pre>
 +
 
 +
dieses script in ''/etc/fastd/secret.conf'' erstellen:
 +
<pre>
 +
secret "<your-secret-fastd-key>";
 +
</pre>
 +
wobei du den fastd-key generieren musst mit:
 +
  fastd --generate-key
 +
 
 +
dies generiert einen secret- und einen public-key, diese muss man sich beide gut für später notieren.
 +
 
 +
Dann noch das Starten des fastd-deamons beim bootvorgang einstellen mit:
 +
  update-rc.d fastd defaults
 +
 
 +
Public Keys der anderen Knoten runterladen:
 +
   cd /etc/fastd
 +
  git clone git://freifunk.in-kiel.de/fastd-peer-keys.git peers
 +
 
 +
Damit die Peers immer up-to-date bleiben kann man mit Hilfe dieses Scripts: 
 +
  cd /etc/fastd
 +
  wget http://freifunk.in-kiel.de/debian/fastd-update
 +
Und als cronjob einrichten einmal am Tag einrichten
  
 
== Gateway Knoten ==
 
== Gateway Knoten ==
Zeile 59: Zeile 109:
 
Ein Gateway Knoten ist ein Knoten welcher anderen Teilnehmern des
 
Ein Gateway Knoten ist ein Knoten welcher anderen Teilnehmern des
 
Freifunk ein Route ins Internet anbietet.
 
Freifunk ein Route ins Internet anbietet.
 +
 +
=== DHCP Dienst ===
 +
Siehe auch [[DHCP]].
 +
 +
=== babeld ===
 +
Beispiel für eine babeld.conf:
 +
 +
  # allow babeld to communicate on interface br-ffki
 +
  interface br-ffki wired false
 +
  # refuse default gateway routes
 +
  in ip 0.0.0.0/32 le 0 deny
 +
  # allow private v6  and v4 networks
 +
  in ip fc00::/7 ge 7 allow
 +
  in ip 10.0.0.0/8 ge 16 allow
 +
  # refuse other routes
 +
  in deny
 +
  # Redistribute private v4 and v6 networks
 +
  redistribute ip fc00::/7 metric 256
 +
  redistribute ip 10.0.0.0/16 ge 16 metric 256
 +
  redistribute local if br-ffki
 +
  # refuse anything else not explicitely allowed
 +
  redistribute local deny
 +
  redistribute deny
 +
 +
Achtung: Die Configuration sollte keine Leerzeichen an den Zeilenenden enthalten.

Aktuelle Version vom 19. Mai 2019, 15:11 Uhr

Um einen Gateway Knoten zu betreiben müssen mehrere Dienste aufgesetzt werden.

Dies ist nur zu empfehlen, wenn das entsprechende Fachwissen vorhanden ist.
Oder auch, tue dies nur wenn du weißt was du tust!

Man kann die Einrichtung eines Gateway Knotens faktisch in zwei Schritte unterteilen. Im ersten Schritt wird der Gateway Server zu einem DialIn Knoten ausgebaut und im zweiten Schritt die eigentliche funktionalität des Gateway Knotens.

DialIn Knoten

Wir bezeichnen einen Knoten als DialIn wenn er VPN-Verbindungen von außen akzeptiert und Mechanismen zum Austausch/Bezug von Knoten Schlüsseln verwendet. Die Konfigurationsbeispiele in diesem Artikel beziehen sich auf Debian.

Zusätzliche Quellen und Packete installieren

Um aktuellen Packete von FASTd und B.A.T.M.A.N. zu bekommen, sollte man eine entsprechende Quelle in die APT-Sources einpflegen, z.B.:

 deb http://repo.universe-factory.net/debian/ sid main

Folgende Packete werden benötigt:

 fastd batman-adv bridge-utils git

Freifunk Netzwerkbrücke

Um den Freifunk Netzwerkverkehr konsistent zu verwalten legen wir eine Netzwerk Brücke an. Wir werden diese in dieser Anleitung ab jetzt als das Netzwerkgerät br-ffki bezeichnen. Es steht dir frei diesen Namen nach belieben zu ändern, beachte aber, dass du ihn überall änderst.

Da wir später in diesem Artikel den DialIn zu einem GateWay Knoten ausbauen wollen und dieses feste IPv(4/6) Adressen braucht solltest du dir jetzt IP-Adressen sichern. Im weiteren werden wir diese mit den Platzhaltern <ipv4> bzw. <ipv6> bezeichnen. Du musst dies aber nicht tun, wir gehen gleich ebenfalls auf eine Adresslose konfiguration ein.

Wir tragen nun in der /etc/network/interfaces folgendes ein:

 auto br-ffki
 iface br-ffki inet6 static
   bridge-ports none
   address <ipv6>
   netmask 64
 iface br-ffki inet static
   address <ipv4>
   netmask 255.255.0.0

Falls du nicht planst den DialIn Knoten zu einem Gateway Knoten auszubauen und dieser Knoten nicht explizit ansprechbar sein soll brauchst du der Netzwerkbrücke auch keine Adresse geben.

 auto br-ffki
 iface br-ffki inet manual
   bridge-ports none

Wir geben hier keine bridge-ports an, da diese zu einem späteren Zeitpunkt automatisch hinzugefügt werden. Außerdem sind Sie während des Bootvorgangs und somit der initialen Netzwerk konfiguration, evtl. noch nicht vorhanden.

B.A.T.M.A.N. Interface

 allow-hotplug bat0
 iface bat0 inet6 manual
   up ip link set $IFACE up
   post-up brctl addif br-ffki $IFACE
   post-up batctl it 11237  
   pre-down brctl delif br-ffki $IFACE || true
   down ip link set $IFACE down

VPN Service mit FASTd einrichten

Um anderen Knoten im Freifunk eine direkte Verbindung zum neuen Dial-In-Server zu ermöglichen sind folgende Schritte nötig:

Dieses Script nach /etc/init.d/fastd kopieren: http://freifunk.in-kiel.de/debian/fastd

dieses Script in /etc/fastd/fastd.conf erstellen:

log to syslog level debug;
interface "mesh-vpn";
method "xsalsa20-poly1305";
method "aes128-gcm";
bind 0.0.0.0:11237;
include "secret.conf";
mtu 1312;

include peers from "peers";

on up "
  ip link set dev $INTERFACE address de:66:c8:a0:df:04
  ip link set up dev $INTERFACE
  batctl if add $INTERFACE
  batctl vm server
";

dieses script in /etc/fastd/secret.conf erstellen:

secret "<your-secret-fastd-key>";

wobei du den fastd-key generieren musst mit:

 fastd --generate-key

dies generiert einen secret- und einen public-key, diese muss man sich beide gut für später notieren.

Dann noch das Starten des fastd-deamons beim bootvorgang einstellen mit:

 update-rc.d fastd defaults

Public Keys der anderen Knoten runterladen:

 cd /etc/fastd
 git clone git://freifunk.in-kiel.de/fastd-peer-keys.git peers

Damit die Peers immer up-to-date bleiben kann man mit Hilfe dieses Scripts:

 cd /etc/fastd
 wget http://freifunk.in-kiel.de/debian/fastd-update

Und als cronjob einrichten einmal am Tag einrichten

Gateway Knoten

Ein Gateway Knoten ist ein Knoten welcher anderen Teilnehmern des Freifunk ein Route ins Internet anbietet.

DHCP Dienst

Siehe auch DHCP.

babeld

Beispiel für eine babeld.conf:

 # allow babeld to communicate on interface br-ffki
 interface br-ffki wired false
 # refuse default gateway routes
 in ip 0.0.0.0/32 le 0 deny
 # allow private v6  and v4 networks
 in ip fc00::/7 ge 7 allow
 in ip 10.0.0.0/8 ge 16 allow
 # refuse other routes
 in deny
 # Redistribute private v4 and v6 networks
 redistribute ip fc00::/7 metric 256
 redistribute ip 10.0.0.0/16 ge 16 metric 256
 redistribute local if br-ffki
 # refuse anything else not explicitely allowed
 redistribute local deny
 redistribute deny

Achtung: Die Configuration sollte keine Leerzeichen an den Zeilenenden enthalten.