Verständnisfrage: wo sollte auf dem Gateway der dhcpd laufen, auf dem Bridge- oder dem Batman-Interface? Irgendwie haben wrr beides, und die bat-Variante erschließt sich mir irgendwie nicht?
Hmm. Also hier ist die jeweilige Brigde im Batman-Interface und dhcpd läuft eben mal auf batXX und mal auf br-XXXX.
Ansible-basiertes Setup:
root@l2tp-ber01 ~ # batctl -m bat01 if
br01: active
t01-karte: active
t01-l2tp-ham01: active
root@l2tp-ber01 ~ # brctl show br01
bridge name bridge id STP enabled interfaces
br01 8000.02caffee0104 no l2tp103-103
l2tp104-104
l2tp118-118
l2tp122-122
Puppet-basiertes Setup:
root@gw-gut01:~# batctl -m bat-ffgt if
Efastdgut01: active
Etmpstats: active
Egw00: active
ens8: active
ens7: active
ens9: active
ens10: active
ffgt-mesh-vpn: active
root@gw-gut01:~# brctl show br-ffgt
bridge name bridge id STP enabled interfaces
br-ffgt 8000.06aa549ec598 no Ehopglass
El2tpgut02
bat-ffgt
im ersten Fall ist die Bridge im Batman, das Batmaninterface also alleine und nicht in der Bridge. Das würde für mich heißen das Batman Interface braucht die IP und darauf muss auch der dhcpd laufen.
Im 2. Fall, ist das bat-ffgt in der Bridge, hier hat vermutlich bat-ffgt keine IP mehr sondern br-ffgt, dhcpd muss hier dann natürlich auf der br-ffgt laufen.
Am besten einfach mal einlesen wie so eine Bridge genau funktioniert.
Damit batman gut funktionieren kann sollte unter batman nie eine bridge liegen, wenn das die CPU mit macht. Nur dann kann batman seine Filterfähigkeiten ausspielen. Kostet leider CPU, aber wenn an diesen Bridges z.B. WLAN-Backbone hängt, das dann z.B. im Dreieck läuft, braucst Du wieder was wie Spanning Tree. Das wiederum löst einen teil der Probleme die batman löst, aber eventuell auf andere Routingweise → potentiell schlechtes Netz. Da muss man sehr genau aufpassen was dann wirklich wo dran hängt.
Ansonsten: alles was unter einer Bridge hängt darf nicht separat konfiguriert werden. Wenn brXX batXX beinhaltet läuft der dhcp-Server auf brXX.
Du musst allerdings kein brXX haben, du kannst auch batXX direkt nutzen, wenn es keinen konkreten brXX-Bedarf gibt. Auf Nodes ist der konkrete Bedarf dass da das Client-WLAN dran hängt.
Ich habe GWs am laufen die da z.B. noch direkt OpenVPN-Clients mit rein lassen für Wartung, das hängt dann parallel zu batXX unter brXX.
In Deinem Fall wäre El2tpgut02 etwas an dem Clients hängen (kein batman Filter), Efastdgut01 dagegen hat batman Traffic.
Ganz generell kann es sein, dass es scheint ein Interface das unterhalb einer Bridge hängt und z.B. eine IP konfiguriert hat, richtig reagiert. Das ist aber ein Trugschluss. Das führt auch immer wieder zu Problemen bei Servern die ein konfiguriertes Netzwerkinterface in eine Bridge migriert haben.
Das ist schon bekannt; wie gesagt, ich war wohl so fixiert auf „das ist gleich gebaut, nur der dhcpd läuft woanders“, daß ich auf den Unterschied nicht geachtet habe: Betriebsblind.
Was mich an der Stelle immer wieder irritiert ist, daß auch gebridgte Interfaces ihre LL-Adresse haben/behalten:
root@l2tp-ber01 ~ # brctl show br01
bridge name bridge id STP enabled interfaces
br01 8000.02caffee0104 no l2tp103-103
l2tp104-104
l2tp118-118
l2tp122-122
root@l2tp-ber01 ~ # ip addr show l2tp103-103
34: l2tp103-103: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1364 qdisc fq_codel master br01 state UNKNOWN group default qlen 1000
link/ether 3e:75:0e:16:4d:ce brd ff:ff:ff:ff:ff:ff
inet6 fe80::3c75:eff:fe16:4dce/64 scope link
valid_lft forever preferred_lft forever
root@l2tp-ber01 ~ # ip addr show l2tp104-104
35: l2tp104-104: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1364 qdisc fq_codel master br01 state UNKNOWN group default qlen 1000
link/ether fe:21:4c:41:fd:01 brd ff:ff:ff:ff:ff:ff
inet6 fe80::fc21:4cff:fe41:fd01/64 scope link
valid_lft forever preferred_lft forever
Ist wegen der Sonderbedeutung fe80::/64 aber wohl egal.
Ich verstehe dass das funktioniert, aber ich verstehe nicht, warum jemand das so tun sollte. Das ist nicht robust und funktioniert nur wenn entsprechende Firewallregeln aktiv sind. Ich verstehe natürlich sofort, dass das möglicherweise historisch so geworden ist.
Man kann die L2TP-Interfaces nicht direkt ins Batman hängen, weil das häufig abstürzt, wenn ein Interface entfernt wird. Zumindest war es früher so. Falls das gelöst ist, kann die Brücke weg.