Freifunk-Gateway aufsetzen/Batman-Gatewayselection: Unterschied zwischen den Versionen
Zeile 2: | Zeile 2: | ||
== Funktion & Konfiguration == | == Funktion & Konfiguration == | ||
Mit der BATMAN Gateway Selection werden DHCP Anfragen die eigentlich Multicasts sind in Unicast zu einzelnen Gateways auf den Knoten umgewandelt. Damit der Knoten weiß welche DHCP Server im Netz sind, muss man als DHCP Server sich mit einer Bandbreite announcen. | Mit der BATMAN Gateway Selection werden DHCP Anfragen die eigentlich Multicasts sind in Unicast zu einzelnen Gateways auf den Knoten umgewandelt. Damit der Knoten weiß, welche DHCP Server im Netz sind, muss man als DHCP Server sich mit einer Bandbreite announcen. Anhand der announcend Bandbreite und der Metrik des Gateways wird nun entschieden welches Gateway ausgewählt wird. | ||
Es kann z.b. eine feste Bandbreite announced werden | Es kann z.b. eine feste Bandbreite announced werden (siehe [[Freifunk-Gateway_aufsetzen/Batman-adv#IPv4]] | ||
<pre> | <pre> | ||
batctl -m | batctl -m bat-nuernberg gw_mode server 100mbit | ||
</pre> | </pre> | ||
oder ein Script verwendet werden das die Bandbreite dynamisch anhand der Auslastung berechnet: | oder ein Script verwendet werden, das die Bandbreite dynamisch anhand der Auslastung berechnet: | ||
== Gateway Selection dynamisch festlegen == | == Gateway Selection dynamisch festlegen == |
Version vom 23. Juni 2019, 19:00 Uhr
B.A.T.M.A.N Gateway Selection
Funktion & Konfiguration
Mit der BATMAN Gateway Selection werden DHCP Anfragen die eigentlich Multicasts sind in Unicast zu einzelnen Gateways auf den Knoten umgewandelt. Damit der Knoten weiß, welche DHCP Server im Netz sind, muss man als DHCP Server sich mit einer Bandbreite announcen. Anhand der announcend Bandbreite und der Metrik des Gateways wird nun entschieden welches Gateway ausgewählt wird.
Es kann z.b. eine feste Bandbreite announced werden (siehe Freifunk-Gateway_aufsetzen/Batman-adv#IPv4
batctl -m bat-nuernberg gw_mode server 100mbit
oder ein Script verwendet werden, das die Bandbreite dynamisch anhand der Auslastung berechnet:
Gateway Selection dynamisch festlegen
Achtung: Das dynamische Verändern der Gateway Selection macht das Debugging noch wesentlich komplizierter, als es eh schon ist. Bei den meisten Aufbauten bringt das auch gar nichts. Daher ist es (vor allem für den Anfang) NICHT empfehlenswert, etwas derartiges einzurichten.
Gatewayselection abschalten wenn Lease voll
Wenn man keine DHCP Leases mehr zur Verfügung hat, sollte die Gateway Selection abgeschaltet werden, damit Clients die DHCP-Offers des anderen Gateways sehen können. Dazu muss ein passendes Skript gebaut werden, dass die Anzahl der Leases prüft.
Das Skript muss dann natürlich regelmäßig aufgerufen werden, z.B. per Cron.
Unten ist dafür ein Beispiel, wie so ein Skript aussehen könnte.
# Vergebene Leases beim isc-dhcp-server zählen #leasecount=$(/usr/sbin/dhcp-lease-list --parsable --lease /var/lib/dhcp/dhcpd.leases 2>&1 | grep "10.50.6" | wc -l) # Vergebene Leases beim dnsmasq zählen leasecount=$(cat /var/lib/misc/nuernberg.leases | wc -l) # Bei entsprechender Anzahl an vergebenen Leases (-gt => greater than) die Selection entsprechend anpassen if [ $leasecount -gt 450 ]; then /usr/local/sbin/batctl -m bat4 gw_mode off else /usr/local/sbin/batctl -m bat4 gw_mode server 5mbit fi