Freifunk-Gateway aufsetzen/bird2

Aus Freifunk Franken
Wechseln zu:Navigation, Suche

Diese Seite befindet sich noch im Entwurfsstadium.
Hilf mit sie zu verbessern!


In dieser Anleitung geht es darum, babeld durch bird2 zu ersezten.

Bird installieren und einrichten

arm64

gefrickel

Debian Bullseye (Debian 11) / amd64

bird2 sollte wegen verschiedener Bugfixes mindestens in Version 2.0.8 verwendet werden. Stand April 2022 ist diese Version in den Backports verfügbar.

Backports einrichten

Frei nach https://backports.debian.org/Instructions/ wird das Backports Repository im System aufgenommen, werden die Paketquellen aktualisiert und bird2 aus den Backports installiert.

Als root sind hierzu folgende Befehle auszuführen:

echo "deb http://deb.debian.org/debian bullseye-backports main" >> /etc/apt/sources.list.d/backports.list
apt update
apt install bird2/bullseye-backports bird2-doc/bullseye-backports

bird wird hierbei als systemd-Service installiert. Die Hauptkonfiguration findet sich in der Datei /etc/bird/bird.conf.

bird konfigurieren

Die Dokumentation zu bird findet sich unter bird.network.cz.

Der Inhalt der Konfigurationsdatei /etc/bird/bird.conf wird durch die folgende Konfiguration ersetzt:

Achtung, funktioniert so nicht. Daher am besten an der Freifunk Firmware orientieren: https://git.freifunk-franken.de/freifunk-franken/firmware/src/branch/master/src/packages/fff/fff-babel-bird2/files/etc/bird-fff.conf

# Logging
log syslog all;

# Nimm die IP des interface als Router ID
router id from "fff-peer";

# Beziehe regelmaessig Updates der lokalen Interfacekonfiguration
protocol device {
    scan time 10;
}

# Schreibe Routen in die FIB des Systems, beziehe von dort aber keine Updates
protocol kernel {
    ipv6 {
        import none;
        export all;
    };
}
protocol kernel {
    ipv4 {
        import none;
        export all;
    };
}

# Statische Announcements der eigenen IPs
protocol static {
    ipv6;
    route 2001:db8:XX::/48         blackhole;
    route fd43:5602:29bd:XXXX::/64 blackhole;

    route 2001:db8:XX::1/128         "fff-peer";
    route fd43:5602:29bd:XXXX::1/128 "fff-peer";
}

protocol static {
    ipv4;
    route 10.50.X.0/24   blackhole;

    route 10.83.252.X/32 "fff-peer";
}

# Konfiguration des Babel Protokolls
protocol babel FFFbabel {
    # Interfaces auf denen babel gesprochen wird
    # interface "eth0", "eth1";
    interface "fff-peer" {
        # rx-tx-Kosten dem Tunneltypen ggf. anpassen
        rxcost 96;
    };

    ipv6 {
        import all;
        export all;
    };
    ipv4 {
        import all;
        export all;
    };
}

Hierbei ist der Name des Peering-Interfaces fff-peer an die lokalen Gegebenheiten anzupassen. Ebenso müssen die IPv6- und ggf. IPv4-Adressen, sowie das öffentliche Subnetz angepasst werden.

In obiger Konfiguration wird implizit davon ausgegangen, dass das Pering Interface fff-peer die folgenden drei IP-Adressen bekommt:

2001:db8:XX::1/128
fd43:5602:29bd:XXXX::1/128
10.83.252.X/32

und der Host über diese Adressen im Netzwerk erreichbar sein soll. Die Netzwerke

2001:db8:XX::/48
fd43:5602:29bd:XXXX::/64
10.50.X.0/24

sind zu anderweitiger Verwendung gedacht, z.B. DHCP/SLAAC. Eine Anpassung an die eigenen Bedürfnisse ist entsprechend erforderlich.

Nach erfolgter Konfiguration muss diese noch aktiviert werden (wieder als root):

systemctl reload bird.service