Ein Gateway einrichten: Unterschied zwischen den Versionen

Aus Freifunk Flensburg
Wechseln zu: Navigation, Suche
(Gateway in Map aufnehmen)
K (Rechtschreib- und Syntaxfehler behoben)
Zeile 3: Zeile 3:
 
* Besorge dir einen vServer oder einen Rootserver bzw. eine dicke Leitung (Standleitung mit synchronen Bandbreiten)
 
* Besorge dir einen vServer oder einen Rootserver bzw. eine dicke Leitung (Standleitung mit synchronen Bandbreiten)
 
Die Anforderungen fangen bei 1000 MHz und 512 MB RAM an, wichtig ist auch dass der Kernel erweiterbar sein muss, um die Module von [http://www.open-mesh.org/projects/batman-adv/ batman-adv] laden zu können.
 
Die Anforderungen fangen bei 1000 MHz und 512 MB RAM an, wichtig ist auch dass der Kernel erweiterbar sein muss, um die Module von [http://www.open-mesh.org/projects/batman-adv/ batman-adv] laden zu können.
* Sei dir vorher sicher, dass sich die Server eignen (Ports nutzbar, kein Trafficlimit (oder auf eigene Gefahr), Reset Funktion usw.
+
* Sei dir vorher sicher, dass sich die Server eignen (Ports nutzbar, kein Trafficlimit (oder auf eigene Gefahr), Reset Funktion usw.)
 
* Such dir einen freien Hostnamen aus und setzte diesen inkl. Domainnamen in deinem System, auch Reverse DNS wäre nicht schlecht.
 
* Such dir einen freien Hostnamen aus und setzte diesen inkl. Domainnamen in deinem System, auch Reverse DNS wäre nicht schlecht.
 
* Sende deine feste IPv4- und IPv6-Adresse an keys@freifunk-flensburg.de damit wir im DNS deine IPs zu dem Hostnamen anlegen.
 
* Sende deine feste IPv4- und IPv6-Adresse an keys@freifunk-flensburg.de damit wir im DNS deine IPs zu dem Hostnamen anlegen.
 
* Sichere deinen Server: SSH-Root Login verhindern, möglichst Public Key, keine unsicheren Passwörter, fail2ban usw.
 
* Sichere deinen Server: SSH-Root Login verhindern, möglichst Public Key, keine unsicheren Passwörter, fail2ban usw.
 
* Installiere dir [http://www.open-mesh.org/projects/batman-adv/ batman-adv], fastd, dhcpd, openvpn und besorge dir einen VPN-Anbieter mit mögl. unbegrenztem Traffic
 
* Installiere dir [http://www.open-mesh.org/projects/batman-adv/ batman-adv], fastd, dhcpd, openvpn und besorge dir einen VPN-Anbieter mit mögl. unbegrenztem Traffic
* Bastel das alles zusammen und wir schicken dir die fastd keys für deinen Gateway
+
* Bastel das alles zusammen und wir schicken dir die fastd-Keys für deinen Gateway
  
==Unsortiertes==
+
== Unsortiertes ==
  
'''Das ist nur eine lose Sammlung, Dinge über die wir bei der Einrichtung gestolpert sind. Lies es dir durch, guck dir auch das gatewayCreator Script[https://gist.github.com/foertel/ca97482119e1197bef7c] an. Aber benutze deinen Kopf und bau es nicht einfach nach. Bitte betreib nur einen gateway, wenn du auch weißt, was du tust. Wenn du eine Schritt-für-Schritt-Anleitung brauchst, ist ein Gateway evtl. nicht der richtige Start für dich. Wenn du aber irgendwo hängst und konkrete Fragen hast, komm auf uns zu.'''
+
'''Das ist nur eine lose Sammlung, Dinge über die wir bei der Einrichtung gestolpert sind. Lies es dir durch, guck dir auch das gatewayCreator-Script[https://gist.github.com/foertel/ca97482119e1197bef7c] an. Aber benutze deinen Kopf und bau es nicht einfach nach. Bitte betreib nur einen Gateway, wenn du auch weißt, was du tust. Wenn du eine Schritt-für-Schritt-Anleitung brauchst, ist ein Gateway evtl. nicht der richtige Start für dich. Wenn du aber irgendwo hängst und konkrete Fragen hast, komm auf uns zu.'''
  
Crontab von Spralexx https://github.com/freifunk-flensburg/Gateway-crontab]
+
Crontab von Spralexx[https://github.com/freifunk-flensburg/Gateway-crontab]
  
 
Site.conf aus Hendriks Backstube[https://github.com/do9xe/gluon/blob/master/site.conf]
 
Site.conf aus Hendriks Backstube[https://github.com/do9xe/gluon/blob/master/site.conf]
Zeile 20: Zeile 20:
 
Peerliste von Felix[https://github.com/foertel/fffl-fastd-peers]
 
Peerliste von Felix[https://github.com/foertel/fffl-fastd-peers]
  
'''==Server-Setup=='''
+
== Server-Setup ==
  
 
Installiere alle notwendigen Programme:
 
Installiere alle notwendigen Programme:
Zeile 36: Zeile 36:
 
  cd /etc/fastd/vpn
 
  cd /etc/fastd/vpn
  
Generieren der keys für fastd:
+
Generieren der Keys für fastd:
  
 
  fastd --generate-key'' '''#Kann hier weggelassen werden. Bitte wende dich für ein Keypaar an Fabian. (Die keys für die gateways wurden schon erzeugt und in die firmware eingebaut.)'''
 
  fastd --generate-key'' '''#Kann hier weggelassen werden. Bitte wende dich für ein Keypaar an Fabian. (Die keys für die gateways wurden schon erzeugt und in die firmware eingebaut.)'''
Zeile 53: Zeile 53:
 
Key-Sync:
 
Key-Sync:
  
Fastd rest ohne kill vom Script
+
Fastd-Reset ohne kill vom Script
Um fastd alle Peers neu einlesen zu lassen senden wir ein SIGHUP an den fastd Prozess (Dies wird automatisiert durch das script von Felix[https://github.com/freifunk-flensburg/fffl-fastd-peers/blob/master/reloadPeers.sh])
+
Um fastd alle Peers neu einlesen zu lassen, senden wir ein SIGHUP an den fastd-Prozess (dies wird automatisiert durch das Script von Felix[https://github.com/freifunk-flensburg/fffl-fastd-peers/blob/master/reloadPeers.sh])
  
 
Dazu bitte:
 
Dazu bitte:
Zeile 63: Zeile 63:
 
  */5 * * * * /etc/fastd/$(WO_LIEGT_EURE_CONFIG)/peers/reloadPeers.sh
 
  */5 * * * * /etc/fastd/$(WO_LIEGT_EURE_CONFIG)/peers/reloadPeers.sh
  
Dhcp-setup:
+
DHCP-Setup:
  
 
  nano /etc/dhcpd.conf
 
  nano /etc/dhcpd.conf
Zeile 79: Zeile 79:
 
== Gateway in Map aufnehmen ==
 
== Gateway in Map aufnehmen ==
  
Damit euer Gateway in der Map angezeigt wird, muss er Batman Statusinformationen per Alfred versenden. Batman (genauer batadv-vis) sammelt die Daten und steckt sie in Alfred, Alfred (alfred) ist der "Transport-Layer" und sendet die Daten zu dem Alfred-Master. Der Alfred-Master läuft auf dem Server, der die Karte generiert (Urbach) und announced sich per Broadcast.
+
Damit euer Gateway in der Map angezeigt wird, muss er B.A.T.M.A.N.-Statusinformationen per Alfred versenden. B.A.T.M.A.N. (genauer batadv-vis) sammelt die Daten und steckt sie in Alfred, Alfred (alfred) ist der "Transport-Layer" und sendet die Daten zu dem Alfred-Master. Der Alfred-Master läuft auf dem Server, der die Karte generiert (Urbach) und announced sich per Broadcast.
  
 
Das Alfred Archiv hier[http://www.open-mesh.org/projects/open-mesh/wiki/Download] herunterladen, entpacken und dann kompilieren. Da die Gateways kein GPS haben, mit der Option  
 
Das Alfred Archiv hier[http://www.open-mesh.org/projects/open-mesh/wiki/Download] herunterladen, entpacken und dann kompilieren. Da die Gateways kein GPS haben, mit der Option  

Version vom 29. Juni 2014, 23:13 Uhr

Hier die Anleitung wie man ein Gateway einrichten kann (Entwurf)

  • Besorge dir einen vServer oder einen Rootserver bzw. eine dicke Leitung (Standleitung mit synchronen Bandbreiten)

Die Anforderungen fangen bei 1000 MHz und 512 MB RAM an, wichtig ist auch dass der Kernel erweiterbar sein muss, um die Module von batman-adv laden zu können.

  • Sei dir vorher sicher, dass sich die Server eignen (Ports nutzbar, kein Trafficlimit (oder auf eigene Gefahr), Reset Funktion usw.)
  • Such dir einen freien Hostnamen aus und setzte diesen inkl. Domainnamen in deinem System, auch Reverse DNS wäre nicht schlecht.
  • Sende deine feste IPv4- und IPv6-Adresse an keys@freifunk-flensburg.de damit wir im DNS deine IPs zu dem Hostnamen anlegen.
  • Sichere deinen Server: SSH-Root Login verhindern, möglichst Public Key, keine unsicheren Passwörter, fail2ban usw.
  • Installiere dir batman-adv, fastd, dhcpd, openvpn und besorge dir einen VPN-Anbieter mit mögl. unbegrenztem Traffic
  • Bastel das alles zusammen und wir schicken dir die fastd-Keys für deinen Gateway

Unsortiertes

Das ist nur eine lose Sammlung, Dinge über die wir bei der Einrichtung gestolpert sind. Lies es dir durch, guck dir auch das gatewayCreator-Script[1] an. Aber benutze deinen Kopf und bau es nicht einfach nach. Bitte betreib nur einen Gateway, wenn du auch weißt, was du tust. Wenn du eine Schritt-für-Schritt-Anleitung brauchst, ist ein Gateway evtl. nicht der richtige Start für dich. Wenn du aber irgendwo hängst und konkrete Fragen hast, komm auf uns zu.

Crontab von Spralexx[2]

Site.conf aus Hendriks Backstube[3]

Peerliste von Felix[4]

Server-Setup

Installiere alle notwendigen Programme:

apt-get install isc-dhcp-server batman-adv batctl
echo "deb http://repo.universe-factory.net/debian/ sid main" >>/etc/apt/sources.list
apt-get update
apt-get install nano
apt-get install fastd

Fastd einrichten:

mkdir /etc/fastd/vpn
mkdir /etc/fastd/vpn/peers
cd /etc/fastd/vpn

Generieren der Keys für fastd:

fastd --generate-key #Kann hier weggelassen werden. Bitte wende dich für ein Keypaar an Fabian. (Die keys für die gateways wurden schon erzeugt und in die firmware eingebaut.)
nano fastd.conf
bind $(Deine_statische_ip):10000; # UDP Port 1234 auf allen Interfaces
mode tap;
method "salsa2012+gmac"; # Verschlüsselungsalgorithmus festlegen
mtu 1426;
secret "$(Der zuvor erzeugte secret key)";
include peers from "peers";
on up "ip link set up $INTERFACE";


Key-Sync:

Fastd-Reset ohne kill vom Script Um fastd alle Peers neu einlesen zu lassen, senden wir ein SIGHUP an den fastd-Prozess (dies wird automatisiert durch das Script von Felix[5])

Dazu bitte:

sudo rm -rf /etc/fastd/$(WO_LIEGT_EURE_CONFIG)/peers
sudo git clone https://github.com/freifunk-flensburg/fffl-fastd-peers.git /etc/fastd/$(WO_LIEGT_EURE_CONFIG)/peers
sudo crontab -e
*/5 * * * * /etc/fastd/$(WO_LIEGT_EURE_CONFIG)/peers/reloadPeers.sh

DHCP-Setup:

nano /etc/dhcpd.conf
ddns-update-style none;
option domain-name "$(dein gatewayname).fffl";
option domain-name-servers $(deine ip Adresse für freifunk flensburg intern. (steht auch im wiki)), 8.8.4.4; default-lease-time 600; max-lease-time 7200; authoritative; log-facility local7; subnet 10.129.0.0 netmask 255.255.0.0 {range $(erste vergebbare ip) $(letzte vergebbare ip); option routers $(deine freifunk internet ip);}
nano /etc/default/isc-dhcp-server

Setze INTERFACE="bat0"

MEHR SPÄTER!!

Gateway in Map aufnehmen

Damit euer Gateway in der Map angezeigt wird, muss er B.A.T.M.A.N.-Statusinformationen per Alfred versenden. B.A.T.M.A.N. (genauer batadv-vis) sammelt die Daten und steckt sie in Alfred, Alfred (alfred) ist der "Transport-Layer" und sendet die Daten zu dem Alfred-Master. Der Alfred-Master läuft auf dem Server, der die Karte generiert (Urbach) und announced sich per Broadcast.

Das Alfred Archiv hier[6] herunterladen, entpacken und dann kompilieren. Da die Gateways kein GPS haben, mit der Option

make CONFIG_ALFRED_GPSD=n

kompilieren. Nach einem

sudo make install CONFIG_ALFRED_GPSD=n

sind die Binaries dann in /usr/local/sbin.

Damit dein Server (und alle Router, die an ihm hängen) richtig in der Karte angezeigt wird, müssen die folgenden Dienste dauerhaft laufen:

batadv-vis -si bat0
alfred -i bat0

Das geht am einfachsten, in dem du deinem bat0 device in der /etc/network/interfaces folgende beiden Zeilen hinzufügst:

post-up start-stop-daemon -b --start --exec /usr/local/sbin/alfred -- -i bat0;
post-up start-stop-daemon -b --start --exec /usr/local/sbin/batadv-vis -- -si bat0;