technik:babel-backbone

Babel-Backbone

Der Babel-Backbone wird aktuell verwendet, um zwischen unseren Proxmox-Hosts in den beiden Clustern pvehetzner und pvez10a ein L3-Netzwerk aufzubauen.

Dieses L3 wird bspw. als underlay fuer das clusteruebergreifende VXLAN auf unseren Proxmox-Hosts verwendet.

jeder host seine IPv4 und IPv6 Adresse auf dem Loopbackinterface bb-loop

auf den Interfaces auf denen babel gesprochen wird (beispielsweise connections) gibt es nur link-local IPv6. IPv4 wird per v6-nexthop geroutet.

100.101.191.0/24

fd21:b4dc:4bff:ffff::/64

per ansible role backbone_babel im infrastruktur-Ansible.

Verbindungen zwischen zwei Hosts ueber die Routingprotokoll gesprochen wird koennen wie folgt aufgebaut werden

  • wireguard
  • direktes lokales Linux-Interface via bb_babel_peer_interfaces in host_vars

Wireguard hat ein internes Routing.

wir moechten ein eigenes routingprotokoll verwenden, daher hat ein Wireguard-tunnel immer genau zwei Endpunkte.

als Routingprotokoll wird Babel verwendet

als Daemon kommt babeld zum einsatz https://www.irif.fr/~jch/software/babel/babeld.html

bird hat auch eine sehr gute babel-Implementierung, aber die in Debian bookworm enthaltene Version unterstuetzt bspw die RTT-basierten Metriken nicht, daher babeld

  • line: eine IPv4/v6-Adresse sowie eine zusammenhaengende Range Ports auf denen Wireguard-Punkt-zu-Punkt Tunnel aufgebaut werden koennen
    • jede line gehoert zu genau einem Host
    • beschreibt eine Verbindungsmoeglichkeit, beispielsweise via IPv6 und via IPv4
  • connections verbinden zwei lines miteinander
    • connection sorgt dafuer dass ein Wireguard-Tunnel zwischen zwei 'lines' aufgebaut wird
    • wird eine connection zwischen zwei lines angelegt, werden fuer beide Lines Port-Nummern aus der Range der jeweiligen Line ausgewaehlt
    • jeder Connection entspricht genau ein Wireguard-Tunnel und damit ein Linux-Interface. Das interface wird nach der gegenueberliegenden line benannt

group_vars enthalten Definitionen, die fuer alle hosts interessant sind, beispielsweise die IPs und Ports der Wireguard-endpunkte

  • technik/babel-backbone.txt
  • Zuletzt geändert: vor 6 Wochen
  • von nrb