Wie gesagt, die haben genau so wie wir Domänen. Alles gleich. Nur wollen die mit einer FW auskommen, indem die Knoten sich nur mit bestimmten fastd Instanzen verbinden dürfen.
Die Aachener haben es nur ein bisschen schwerer als mit einer l2tp-Lösung. Dort (in der L2TP-Lösung) wird folgendes Skript genutzt, wann immer ein tunnel online kommt:
Tue, 02 Feb 2016 21:26:13 DEBUG Executing hook 'session.up' via script '/srv/tunneldigger/scripts/bataddif.sh ['190', '1', 'l2tp1901', '1446', 'A.B.C.D', '37730', '15190', '60e327xxxxxx']'.
l2tp1901 ist das entstandene Tunnel-Interface und 60e327xxxxxx die MAC-Adresse. In dem Scrip kann man Interface dann wahlweise in das eine oder das andere Batman-Interface aufnehmen und so verschiedene Broadcast-Domains (mit verschiedenen IP-Ranges) laufen lassen. Können erstmal immer alle in deine Default-Domäne, und dann bei Bedarf in eine eigene geschupst werden. Wenn zwei so Domänen meshen, dann sollte das nicht soo schlimm sein, und der „Störenfried“ sollte auch ausgeschlossen werden können, indem man ihn in eine tote Domäne meshen lässt… Fast fertig, oder? Und da die L2TP Variante auch auf dem Server keine Last macht, kann man so einem Server auch mächtig viele Clients abbügeln. Denke das gesamte Münsterland, wenn man irgendwo einen Server mit 10G-Interface unterbekommt.
Ah jo, daran habe ich ja noch gar nicht gedacht. Es wächst zusammen, was zusammen gehört.
Bist du am Mittwoch in der WZ? Dann können wir mal drüber sprechen, wie wir unsere „Forschungen“ in diesem Gebiet fortsetzen.
Das Problem an Paulos Vorschlag dürfte sein, dass Batman regelmäßig abschmiert, wenn man ein Interface entfernt. Aber in der Theorie ein sehr geiler Vorschlag.
Ich entferne keine Interfaces aus dem Batman. Immer geht das l2tp über eine Bridge die permanent drin hängt. Siehe tunneldigger Thread im Freifunk.net Forum. Auszüge von ffwaf-srv3:
#
# dummy, nur für mac im batman
#
auto supernode
iface supernode inet manual
pre-up ip link add $IFACE type dummy
pre-up ip link set address de:ad:be:ef:43:03 dev $IFACE
pre-up ip link set $IFACE up
post-down ip link delete $IFACE
dann:
auto l2tp-vpn
iface l2tp-vpn inet manual
pre-up ip link add $IFACE type bridge
pre-up ebtables -A FORWARD --logical-in $IFACE -j DROP
pre-up ip link set dev $IFACE up
post-down ip link del $IFACE
post-down ebtables -D FORWARD --logical-in $IFACE -j DROP
dann:
iface bat0 inet manual
pre-up modprobe batman-adv
pre-up ip link add $IFACE type batadv
pre-up batctl -m $IFACE bl 1
pre-up ip link set address b2:92:3f:f5:af:4e dev $IFACE
pre-up ip link set dev $IFACE promisc on
pre-up ip addr add 10.43.112.6/21 broadcast 10.43.119.255 dev $IFACE
post-up ip route replace 10.43.112.0/21 dev $IFACE table ffnet
pre-up ip rule add iif $IFACE table ffnet
pre-up ip link set $IFACE up
post-up batctl gw server 1024Mbit/1024Mbit
post-up batctl if add supernode
post-up batctl if add l2tp-vpn || true
post-down ip link del $IFACE || true
post-down ip rule del iif $IFACE table ffnet
Beim start vom fastd wird das übliche mesh-vpn in das Batman-Interface eingetragen, Kommt ein fasdt-Tunnel hoch, wird es in das mesh-vpn Interface eingehängt. Kommt ein L2TP-Tunnel hoch, wird es in das l2tp-vpn Interface eingehängt.
Natürlich können verschiedene batX Interface angelegt werden, in denen jeweils ein l2tp-vpnX Interface hängt. Der hook ‘session.up’ hängt neue l2tp-Interfaces immer in eines der l2tp-vpnX. Fertig sind die verschiedenen Broadcast-Domänen. In jeder hängt ein DHCP-Server und vergibt aus dem Zugewiesenen Netz IP-Adressen.
War es nicht Konsens, dass (wenn bis Osten wirklich Bocholt knapp 200 Router hat) die direkt raus genommen werden? Und dann vielleicht noch stadtlohn und Borken könnte bald auch verdammt schnell explodieren.
Im Moment ist erstmal alles top. Wir müssen meiner Meinung nach da jetzt keinen unnötigen Schnellschuss machen.
Wir sollten da am besten in einer Runde darüber sprechen. Vllt. Können ja ein paar Leute am nächsten Mittwoch mit nach Münster ?!!? @BauerJup @desmaster@guido_spoltmann@Karsten
Sorry, wenn ich vielleicht etwas OT frage, muss man denn zwingend einen Domainsplitt machen oder gibts andere Optionen? Bzw. ab wann muss man denn einen machen?
Da frage ich zurück: Wie definierst du Domänensplitt bzw. was verstehst du darunter? Erforderlich ist die Aufteilung in mehrere Broadcast-Domänen. Für unsere Netztopologie haben wir uns die Faustregel gesetzt Netzsegmente, die mehr als 200 Knoten haben zu unterteilen. Es geht sicherlich mehr (und das hatten wir auch in der Legacy-Domäne), aber dann muss man immer mal wieder einen Trick aus dem Hut zaubern. Kleinere Broadcast-Domänen laufen hingegen stabiler, ohne, dass man immer Feuerlöscher spielen muss.
Falls du unter Domainsplit unsere Vorgehensweise, also ein bisschen auf der Karte rum malen, eigene Firmware bauen, etc, verstehst: Es geht auch anders. Die Aachener machen es z. B. anders. Das Ziel ist aber das selbe: möglichst kleine Layer-2 Netze.