Ein Gateway einrichten

Aus Freifunk Flensburg
Wechseln zu: Navigation, Suche

Andere Anleitungen[Bearbeiten]


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

  • 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[Bearbeiten]

Gateway Aufsetzen

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]

Anleitung von Fulda [5]

Anleitung von Franken [6]

Server-Setup[Bearbeiten]

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[7])

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/dhcp/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[Bearbeiten]

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[8] 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;