Freifunk-Gateway aufsetzen/bird2: Unterschied zwischen den Versionen
(2 dazwischenliegende Versionen von einem anderen Benutzer werden nicht angezeigt) | |||
Zeile 5: | Zeile 5: | ||
== Bird installieren und einrichten == | == Bird installieren und einrichten == | ||
=== amd64 === | === arm64 === | ||
gefrickel | |||
=== Debian Bullseye (Debian 11) / amd64 === | |||
bird2 sollte wegen verschiedener Bugfixes mindestens in Version 2.0.8 verwendet werden. | bird2 sollte wegen verschiedener Bugfixes mindestens in Version 2.0.8 verwendet werden. | ||
Stand April 2022 ist diese Version in den [https://backports.debian.org/ 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: | |||
<pre> | |||
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 | |||
</pre> | |||
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 [https://bird.network.cz/?get_doc&f=bird.html&v=20 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 | |||
<div class="toccolours mw-collapsible mw-collapsed" style="overflow: auto"> | |||
<pre> | |||
# 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; | |||
}; | |||
} | |||
</pre> | |||
Hierbei ist der Name des Peering-Interfaces '''fff-peer''' an die lokalen Gegebenheiten anzupassen. | |||
Ebenso müssen die [[Portal:Netz/IPv6|IPv6]]- und ggf. [[Portal:Netz|IPv4]]-Adressen, sowie das [[IPv6|öffentliche Subnetz]] angepasst werden. | |||
In obiger Konfiguration wird implizit davon ausgegangen, dass das Pering Interface '''fff-peer''' die folgenden drei IP-Adressen bekommt: | |||
<pre> | |||
2001:db8:XX::1/128 | |||
fd43:5602:29bd:XXXX::1/128 | |||
10.83.252.X/32 | |||
</pre> | |||
und der Host über diese Adressen im Netzwerk erreichbar sein soll. | |||
Die Netzwerke | |||
<pre> | |||
2001:db8:XX::/48 | |||
fd43:5602:29bd:XXXX::/64 | |||
10.50.X.0/24 | |||
</pre> | |||
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): | |||
<pre>systemctl reload bird.service</pre> | |||
</div> |
Aktuelle Version vom 23. Mai 2022, 22:02 Uhr
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