L2 VPN mit gretap via systemd-networkd
Hi! Ich bastle ja gern' mit alter Hardware herum und versuch' aktuell, das etwas größer aufzubauen. - "Zentrales" System mit 'nem Jenkins und auto-generierten Jobs für alles Mögliche (gas/gdb/binutils/gcc/glibc, Linux Kernel, NetBSD und ähnliches Zeug. - Nodes außenherum, die das Zeug (angestoßen durch Jenkins) bauen. Da die Nodes teilweise 'n 24h-Disconnect haben, hab' ich da einfach ein VPN (wireguard) zwischengemacht. Simpel. Die Systeme sollen aber auch VMs starten können: * SIMH (simuliert eine VAX) * Qemu (simuliert einen PC mit installiertem NetBSD) Beide sind so angelegt, daß sie eine r/o Basis-Platte haben mit einem r/w Overlay, sodaß die mehrfach (als Instanz) gestartet werden können. MAC-Adressen und DHCP soll vom zentralen System verteilt werden. Mein Ansatz für die VMs ist, daß auf jedem Node eine Bridge (brclassiccmp) existert, an die die VMs dran-TAP-en können. Ggf. wird auch ein lokales Ethernet-Interface mit in die Bridge gepackt, um da reale Alt-Hardware anschließen zu können. Um dann von einem Node bis hin zu den anderen (bzw. zum zentralen Jenkins) zu kommen, wollte ich die Einzel-Bridges via gretap zum Jenkins-Host verlängern. Per Hand (mit `ip`) geht das, aber ich wollt's eigentlich dem systemd-networkd vorwerfen. Der wiederum macht damit ... gar nichts: root@lili:/etc/systemd/network# cat gretap-head.netdev [NetDev] Name = gtclassiccmp Kind = gretap [Tunnel] Local = 192.168.234.2 Remote = 192.168.234.1 Key = 2 root@lili:/etc/systemd/network# cat gretap-head.network [Match] Name = gtclassiccmp [Network] Bridge = brclassiccmp (Die Local- und Remote-Adressen gehören zum Wireguard-VPN. Das sollte reichen, um den L2-Traffic der Bridges im Internet verschlüsselt zu halten.) Aber mit dem `gtclassiccmp` passiert exakt: nichts. root@lili:/etc/systemd/network# networkctl IDX LINK TYPE OPERATIONAL SETUP 1 lo loopback carrier unmanaged 2 eno1 ether routable unmanaged 3 eno2 ether off unmanaged 4 eno3 ether off unmanaged 5 eno4 ether no-carrier configured 6 br0 bridge no-carrier unmanaged 7 wgclassiccmp wireguard routable unmanaged 8 docker0 bridge no-carrier unmanaged 9 brclassiccmp bridge no-carrier configured 9 links listed. root@lili:/etc/systemd/network# networkctl status ● Interfaces: 1, 2, 3, 4, 5, 6, 7, 8, 9 State: routable Online state: offline Address: 192.168.1.153 on eno1 10.250.250.2 on br0 192.168.234.2 on wgclassiccmp 172.17.0.1 on docker0 10.234.0.2 on brclassiccmp fe80::c634:6bff:feb6:9618 on eno1 Gateway: 192.168.1.1 on eno1 Feb 21 15:36:29 lili systemd-networkd[2125]: wgclassiccmp: Link UP Feb 21 15:36:29 lili systemd-networkd[2125]: wgclassiccmp: Gained carrier Feb 21 15:36:29 lili systemd-networkd[2125]: docker0: Link UP Feb 21 15:36:29 lili systemd-networkd[2125]: eno1: Gained IPv6LL Feb 21 15:36:29 lili systemd[1]: Started systemd-networkd.service - Network Management. Feb 21 15:36:29 lili systemd-networkd[2125]: eno4: Configuring with /etc/systemd/network/brclassiccmp-external-link.network. Feb 21 15:36:29 lili systemd-networkd[2125]: brclassiccmp: netdev ready Feb 21 15:36:29 lili systemd-networkd[2125]: eno4: Link UP Feb 21 15:36:29 lili systemd-networkd[2125]: brclassiccmp: Configuring with /etc/systemd/network/brclassiccmp.network. Feb 21 15:36:29 lili systemd-networkd[2125]: brclassiccmp: Link UP root@lili:/etc/systemd/network# ip -br link lo UNKNOWN 00:00:00:00:00:00 <LOOPBACK,UP,LOWER_UP> eno1 UP c4:34:6b:b6:96:18 <BROADCAST,MULTICAST,UP,LOWER_UP> eno2 DOWN c4:34:6b:b6:96:19 <BROADCAST,MULTICAST> eno3 DOWN c4:34:6b:b6:96:1a <BROADCAST,MULTICAST> eno4 DOWN c4:34:6b:b6:96:1b <NO-CARRIER,BROADCAST,MULTICAST,UP> br0 DOWN c4:34:6b:b6:96:19 <NO-CARRIER,BROADCAST,MULTICAST,UP> wgclassiccmp UNKNOWN <POINTOPOINT,NOARP,UP,LOWER_UP> docker0 DOWN 02:42:a9:0e:0f:c2 <NO-CARRIER,BROADCAST,MULTICAST,UP> brclassiccmp DOWN 36:7b:79:1b:63:1c <NO-CARRIER,BROADCAST,MULTICAST,UP> Irgendeine Kleinigkeit fehlt... Hat wer 'ne Idee? MfG, JBG --
Teilnehmer (1)
-
Jan-Benedict Glaw