[GELÖST] Wie erstelle ich eine persistente Bridge auf einem Debian 12 Bookworm?

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
Benutzeravatar
bitterlemon
Beiträge: 70
Registriert: 14.10.2023 12:59:30

[GELÖST] Wie erstelle ich eine persistente Bridge auf einem Debian 12 Bookworm?

Beitrag von bitterlemon » 14.10.2023 13:36:59

Ein freundliches Hallo an alle. Ich hoffe, mir kann jemand bei folgendem Problem(en) helfen und über Hintergrundinfos wäre ich auch dankbar!

Ich habe kürzlich mein System neu aufgesetzt. Die alte Installation war ein Debian 9. Die neue Installation ist ein Debian 12. Es handelt sich um ein System mit 4 Ethernet Ports, von denen einer ein Netzwerkkabel angesteckt hat. Die Ports sollen alle gebridged werden.

Nachdem ich im Internet (siehe [1] ganz unten) erfuhr, dass bridge-utilitys bzw. brctl bei Debian 12 anscheinend als "Deprecated" eingestuft worden ist (stimmt das?), habe ich mich mit dem bridge-Befehl aus dem neuen iproute2 Package auseinandergesetzt, mit dem es ja auch möglich ist, eine Bridge zu erstellen, aber ich finde nicht heraus, wie ich die erstellte bridge persistent bekomme.

Etwas Off-Topic eine zweite Frage: Ich habe bereits versucht, das ganze mit bridge-utils und Konfiguration in der Interfaces Datei zu realisieren ... erfolgreich für ca. 60 Sekunden. Danach wird dem einzigen Port, an dem derzeit ein Kabel hängt, eine APIPA/Zeroconf IP zugewiesen. Mit der Zuweisung der 169er IP geht verständlicherweise die Verbindung der Bridge verloren. Paradoxerweise wird die 169er Adresse auch ausgespielt, wenn ich den avahi-deamon deinstalliert/removed habe. Falls da jemand weiß, wie das möglich ist bzw. was da rein- oder zusammen knallt, wäre ich sehr dankbar! Ich dachte der Dienst ist allein für Zeroconf/APIPA zuständig.

Zum besseren Verständnis noch meine Interfaces-Datei (/etc/network/interfaces) ohne Loopback Deklaration:

Code: Alles auswählen

allow-hotplug enp1s0
iface enp1s0 inet manual

allow-hotplug enp2s0
iface enp2s0 inet manual

allow-hotplug enp3s0
iface enp3s0 inet manual

allow-hotplug enp4s0
iface enp4s0 inet manual

auto br0
iface br0 inet static
address 192.168.1.200
broadcast 192.168.1.255
netmask 255.255.255.0
gateway 192.168.1.1
bridge_ports enp1s0 enp2s0 enp3s0 enp4s0
bridge_stp off
bridge_fd 0
bridge_maxwait 0
bridge_waitport 0
[1] https://janitor.debian.net/git/bridge-utils/61d17d24-ce83-48ac-bf99-96eba3bb640c/main#:~:text=This%20utility%20is%20DEPRECATED.%20No%20new%20features%20will,from%20the%20iproute2%20package%20which%20supports%20more%20features.
Zuletzt geändert von bitterlemon am 23.10.2023 20:40:53, insgesamt 2-mal geändert.
Es gibt keine dummen Fragen, denn man lernt nie aus: Wie tapeziert man eine Schallmauer? :roll:

Benutzeravatar
heisenberg
Beiträge: 3567
Registriert: 04.06.2015 01:17:27
Lizenz eigener Beiträge: MIT Lizenz

Re: Wie erstelle ich eine persistente Bridge auf einem Debian 12 Bookworm?

Beitrag von heisenberg » 14.10.2023 15:20:22

Code: Alles auswählen

allow-hotplug enp1s0
allow-hotplug enp2s0
allow-hotplug enp3s0
allow-hotplug enp4s0
Diese Zeilen würde ich erst einmal entfernen, da ich vermute, dass lediglich das übergeordnete interface gestartet werden muss. Ich habe bei mir auch kein allow-hotplug bzw. auto für die slave-interfaces.
Jede Rohheit hat ihren Ursprung in einer Schwäche.

Benutzeravatar
MSfree
Beiträge: 10777
Registriert: 25.09.2007 19:59:30

Re: Wie erstelle ich eine persistente Bridge auf einem Debian 12 Bookworm?

Beitrag von MSfree » 14.10.2023 15:52:16

Oder ohne die Bridgetools, nur mit systemd:

Folgende Dateien sind dazu unter /etc/systemd/network anzulegen:

br0.netdev

Code: Alles auswählen

[NetDev]
Name=br0
Kind=bridge
br0.network

Code: Alles auswählen

[Match]
Name=br0
[Link]
MACAddress=d4:3d:7e:b8:03:ff
[Network]
DHCP=yes
[DHCP]
UseDomains=yes
als MAC-Adresse verwende ich die MAC der ersten Netzwerkkarte, kann aber auch frei gewählt werden.

Pro Netzwerkkarte:
enp2s0.network

Code: Alles auswählen

[Match]
Name=enp2s0
[Network]
Bridge=br0

Benutzeravatar
bitterlemon
Beiträge: 70
Registriert: 14.10.2023 12:59:30

Re: Wie erstelle ich eine persistente Bridge auf einem Debian 12 Bookworm?

Beitrag von bitterlemon » 14.10.2023 18:53:22

heisenberg hat geschrieben: ↑ zum Beitrag ↑
14.10.2023 15:20:22

Code: Alles auswählen

allow-hotplug enp1s0
allow-hotplug enp2s0
allow-hotplug enp3s0
allow-hotplug enp4s0
Diese Zeilen würde ich erst einmal entfernen, da ich vermute, dass lediglich das übergeordnete interface gestartet werden muss. Ich habe bei mir auch kein allow-hotplug bzw. auto für die slave-interfaces.
Danke für die Rückmeldung. Die Einstellung hatte ich wegen dem genannten zweiten Zeroconf-Problem gesetzt. Da es bei dem Problem nichts gebracht hatte, kann ich das auch wieder raus nehmen.

Hier der POST-Reboot state:

Code: Alles auswählen

root@silence:/home/user# sudo ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host noprefixroute 
       valid_lft forever preferred_lft forever
2: enp1s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether 00:e0:67:26:44:84 brd ff:ff:ff:ff:ff:ff
3: enp2s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether 00:e0:67:26:44:85 brd ff:ff:ff:ff:ff:ff
4: enp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:e0:67:26:44:86 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.136/24 brd 192.168.1.255 scope global enp3s0
       valid_lft forever preferred_lft forever
    inet6 fe80::2e0:67ff:fe26:4486/64 scope link 
       valid_lft forever preferred_lft forever
5: enp4s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether 00:e0:67:26:44:87 brd ff:ff:ff:ff:ff:ff
Hier das Ergebnis von systemctl restart network nachdem ich die manual clause auskommentiert habe.

Code: Alles auswählen

root@silence:/home/user# sudo systemctl restart networking
Job for networking.service failed because the control process exited with error code.
See "systemctl status networking.service" and "journalctl -xeu networking.service" for details.
Sowie die letzten EInträge aus dem Syslog über journalctl:

Code: Alles auswählen

Okt 14 19:11:43 silence ifup[1897]: Cannot find device "br0"
Okt 14 19:11:43 silence ifup[1890]: ifup: failed to bring up br0
Okt 14 19:11:43 silence systemd[1]: networking.service: Main process exited, code=exited, status=1/FAILURE
Okt 14 19:11:43 silence systemd[1]: networking.service: Failed with result 'exit-code'.
Okt 14 19:11:43 silence systemd[1]: Failed to start networking.service - Raise network interfaces.
Okt 14 19:11:43 silence sudo[1886]: pam_unix(sudo:session): session closed for user root
Okt 14 19:12:11 silence systemd[1]: Starting systemd-tmpfiles-clean.service - Cleanup of Temporary Directories...
Okt 14 19:12:12 silence systemd[1]: systemd-tmpfiles-clean.service: Deactivated successfully.
Okt 14 19:12:12 silence systemd[1]: Finished systemd-tmpfiles-clean.service - Cleanup of Temporary Directories.
Okt 14 19:12:12 silence systemd[1]: run-credentials-systemd\x2dtmpfiles\x2dclean.service.mount: Deactivated successfully.
Okt 14 19:14:35 silence sudo[1914]:     root : TTY=pts/1 ; PWD=/home/user ; USER=root ; COMMAND=/usr/bin/journalctl
Okt 14 19:14:35 silence sudo[1914]: pam_unix(sudo:session): session opened for user root(uid=0) by (uid=0)
Trotzdem, danke für die Idee! Kaputt kann hier gerade eh nix gehen XD
Es gibt keine dummen Fragen, denn man lernt nie aus: Wie tapeziert man eine Schallmauer? :roll:

Benutzeravatar
heisenberg
Beiträge: 3567
Registriert: 04.06.2015 01:17:27
Lizenz eigener Beiträge: MIT Lizenz

Re: Wie erstelle ich eine persistente Bridge auf einem Debian 12 Bookworm?

Beitrag von heisenberg » 14.10.2023 19:20:29

Bzgl. der APIPA-Sache: Läuft der avahi-daemon vielleicht trotz Deinstallation noch? (prüfen mit pgrep -fa avahi bzw. systemctl status avahi-daemon)

Ansonsten ist Deine Bridge-Konfig in Ordnung.

Bridge mit iproute2:
https://wiki.archlinux.org/title/network_bridge

Bridge mit iproute2 - persistent:
Siehe MSfrees Beitrag.
Jede Rohheit hat ihren Ursprung in einer Schwäche.

Benutzeravatar
bitterlemon
Beiträge: 70
Registriert: 14.10.2023 12:59:30

Re: Wie erstelle ich eine persistente Bridge auf einem Debian 12 Bookworm?

Beitrag von bitterlemon » 14.10.2023 19:48:33

MSfree hat geschrieben: ↑ zum Beitrag ↑
14.10.2023 15:52:16
Oder ohne die Bridgetools, nur mit systemd:
Danke für die Rückantwort. Den Weg kannte ich noch nicht aber es ließt sich so, als ob es funktionieren kann. Im Grunde macht es ja anscheinend das selbe wie brctl und erstellt ein Gerät.
Aber vier kleine Verständnisfrage(n) hätte ich schon jetzt:

1. Wo weise ich die Interfaces (enp1s0 ect.) zu? In der /etc/Interfaces oder per MACAddress?

1.1 Wenn ich mehrere Interfaces zu einer Bridge zusammen fassen möchte, liste ich die dann einfach nacheinander unter [Link] auf oder jedesmal mit einem neuen [Link] Block?

2. Ich verstehe das, was in br0.network steht als eine Art Device Konfiguration aber wieso gebe ich dort schon die Netzwerkkonfig grob mit DHCP und der Suchdomäne vor?

3. Kannst du mir sagen, wo bzw unter welcher Command ich das Manual dazu finde. Ich möchte dir jetzt auch keine endlosen Fragenkataloge zum persönlichem Verständnis schicken bzw. wöllte mir das nicht erdreisten, dir abzunehmen.

Ich arbeite es erst mal ab, spiel mal damit, falls es klappt und melde mich mit dem Ergebnis wieder.
Es gibt keine dummen Fragen, denn man lernt nie aus: Wie tapeziert man eine Schallmauer? :roll:

Benutzeravatar
heisenberg
Beiträge: 3567
Registriert: 04.06.2015 01:17:27
Lizenz eigener Beiträge: MIT Lizenz

Re: Wie erstelle ich eine persistente Bridge auf einem Debian 12 Bookworm?

Beitrag von heisenberg » 14.10.2023 19:56:35

bitterlemon hat geschrieben: ↑ zum Beitrag ↑
14.10.2023 19:48:33
1. Wo weise ich die Interfaces (enp1s0 ect.) zu? In der /etc/Interfaces oder per MACAddress?
Siehe Antwort zu Frage 1.1.
1.1 Wenn ich mehrere Interfaces zu einer Bridge zusammen fassen möchte, liste ich die dann einfach nacheinander unter [Link] auf oder jedesmal mit einem neuen [Link] Block?
Wie MSfree schrieb: Pro Karte eine Datei in /etc/systemd/network. Also z. B. enp2s0.network und analog für alle anderen. (Das geht aber bestimmt auch mit Mustern, so dass man nur eine Datei braucht?)

Code: Alles auswählen

[Match]
Name=enp2s0
[Network]
Bridge=br0
2. Ich verstehe das, was in br0.network steht als eine Art Device Konfiguration aber wieso gebe ich dort schon die Netzwerkkonfig grob mit DHCP und der Suchdomäne vor?
Du kannst dort DHCP verwenden oder statische Adressen. Wie Du magst. UseDomains hat vermutlich nichts mit der DNS-Suchdomain zu tun, weil es als Konfigurationsoption für DHCP verwendet wird. Aber da müsste ich selbst nachlesen.
3. Kannst du mir sagen, wo bzw unter welcher Command ich das Manual dazu finde. Ich möchte dir jetzt auch keine endlosen Fragenkataloge zum persönlichem Verständnis schicken bzw. wöllte mir das nicht erdreisten, dir abzunehmen.
https://www.freedesktop.org/software/sy ... twork.html
https://wiki.archlinux.org/title/systemd-networkd
https://wiki.ubuntuusers.de/systemd/networkd/
Jede Rohheit hat ihren Ursprung in einer Schwäche.

Benutzeravatar
bitterlemon
Beiträge: 70
Registriert: 14.10.2023 12:59:30

Re: Wie erstelle ich eine persistente Bridge auf einem Debian 12 Bookworm?

Beitrag von bitterlemon » 14.10.2023 20:07:18

heisenberg hat geschrieben: ↑ zum Beitrag ↑
14.10.2023 19:20:29
Bzgl. der APIPA-Sache: Läuft der avahi-daemon vielleicht trotz Deinstallation noch? (prüfen mit pgrep -fa avahi bzw. systemctl status avahi-daemon)
Danke für die Rückantwort, hier erstmal der Konsolenauszug:

Code: Alles auswählen

root@silence:/home/user# pgrep -fa avahi 
root@silence:/home/user# sudo pgrep -fa avahi 
2129 sudo pgrep -fa avahi
2130 sudo pgrep -fa avahi
root@silence:/home/user# sudo systemctl status avahi-daemon
○ avahi-daemon.service
     Loaded: masked (Reason: Unit avahi-daemon.service is masked.)
     Active: inactive (dead)
root@silence:/home/user# 
Ich hab in disabled, masked und removed (Sysctl). mit apt hab ich ihn nur removed, nicht gepurged. Ich hab hier im Forum einen Eintrag gefunden, wo jemand auf 'nem wheezy auch eher erfolglos versuch hatte, den Zeroconf, vom System weg zu befördern, es dann aber am Ende geschafft hatte. Vielleicht bekomme ich es darüber hin. Da stand was von brasilianischen Tänzen die man lassen sollte. ;)
Wenn das was bringt, werd' ich die Ergebnisse und den Weg dahin nochmal posten.
Es gibt keine dummen Fragen, denn man lernt nie aus: Wie tapeziert man eine Schallmauer? :roll:

Benutzeravatar
bitterlemon
Beiträge: 70
Registriert: 14.10.2023 12:59:30

Re: Wie erstelle ich eine persistente Bridge auf einem Debian 12 Bookworm?

Beitrag von bitterlemon » 14.10.2023 20:32:54

Danke dir nochmal für diese Links Heisenberg! So langsam versteh' ich, wo mein Denkfehler lag bzw. liegt.

Aber ist dann der ganze /Network/Interfaces Mechanismus im Grunde egal, wenn man es nicht auch gleich über Systemd-Networkd machen kann?
Es gibt keine dummen Fragen, denn man lernt nie aus: Wie tapeziert man eine Schallmauer? :roll:

Benutzeravatar
heisenberg
Beiträge: 3567
Registriert: 04.06.2015 01:17:27
Lizenz eigener Beiträge: MIT Lizenz

Re: Wie erstelle ich eine persistente Bridge auf einem Debian 12 Bookworm?

Beitrag von heisenberg » 14.10.2023 21:01:35

bitterlemon hat geschrieben: ↑ zum Beitrag ↑
14.10.2023 20:32:54
Aber ist dann der ganze /Network/Interfaces Mechanismus im Grunde egal, wenn man es nicht auch gleich über Systemd-Networkd machen kann?
Genau. Das sind zwei verschiedene Konfigurationsmöglichkeiten, um das Gleiche zu erreichen. /etc/network/interfaces ist das bisherige und systemd-networkd kam da noch dazu.
Jede Rohheit hat ihren Ursprung in einer Schwäche.

Benutzeravatar
bitterlemon
Beiträge: 70
Registriert: 14.10.2023 12:59:30

Re: Wie erstelle ich eine persistente Bridge auf einem Debian 12 Bookworm?

Beitrag von bitterlemon » 15.10.2023 12:44:58

Ich hab' mir die Dokumentationen angeschaut und bei dem Weg über systemd bekomm' ich inzwischen echte Verständnisprobleme!

Was bisher geschah: In [1] (Link siehe unten) wird das weitere Vorgehen beschrieben, da das bisher in diesem Thread beschriebene Vorgehen leider unvollständig war. Nach einem Neustart, systemctl restart networking (was fehlschlug) und einem Blick in Syslog per journalctl sah ich, dass br0 immer noch nicht bekannt war und demnach auch nicht geuppt worden ist. Nach Recherche, fand ich in [1] dann heraus, dass es noch systemd-nspawn --network-bridge=br0 bedarf, was mit der Meldung

Code: Alles auswählen

/etc/systemd/network doesn't look like it has an OS tree (/usr/ directory is missing). Refusing
scheiterte. Ich habe dann noch, als root, einen Ordner br0 im Verzeichnis /usr erstellt, was auch nichts gebracht hat.

Zum besseren Nachvollziehen noch folgende Infos:

Inhalt von sudo ip addr show:

Code: Alles auswählen

root@silence:/etc/systemd/network# sudo ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host noprefixroute 
       valid_lft forever preferred_lft forever
2: enp1s0: <NO-CARRIER,BROADCAST,MULTICAST,DYNAMIC,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether 00:e0:67:26:44:84 brd ff:ff:ff:ff:ff:ff
3: enp2s0: <NO-CARRIER,BROADCAST,MULTICAST,DYNAMIC,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether 00:e0:67:26:44:85 brd ff:ff:ff:ff:ff:ff
4: enp3s0: <BROADCAST,MULTICAST,DYNAMIC,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:e0:67:26:44:86 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.136/24 brd 192.168.1.255 scope global enp3s0
       valid_lft forever preferred_lft forever
    inet6 fe80::2e0:67ff:fe26:4486/64 scope link 
       valid_lft forever preferred_lft forever
5: enp4s0: <NO-CARRIER,BROADCAST,MULTICAST,DYNAMIC,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether 00:e0:67:26:44:87 brd ff:ff:ff:ff:ff:ff
Inhalt von /etc/systemd/network per root sudo ls -lsa:

Code: Alles auswählen

root@silence:/etc/systemd/network# sudo ls -lsa 
insgesamt 32
4 drwxr-xr-x 2 root root 4096 15. Okt 11:00 .
4 drwxr-xr-x 5 root root 4096 15. Okt 11:51 ..
4 -rw-r--r-- 1 root root   30 14. Okt 20:14 br0.netdev
4 -rw-r--r-- 1 root root   94 15. Okt 11:00 br0.network
4 -rw-r--r-- 1 root root   41 14. Okt 20:15 enp1s0.network
4 -rw-r--r-- 1 root root   41 14. Okt 20:16 enp2s0.network
4 -rw-r--r-- 1 root root   41 14. Okt 20:16 enp3s0.network
4 -rw-r--r-- 1 root root   41 14. Okt 20:17 enp4s0.network
Inhalt von /usr per root sudo ls -lsa:

Code: Alles auswählen

root@silence:/etc/systemd/network# sudo ls -lsa /usr
insgesamt 120
 4 drwxr-xr-x  15 root root  4096 15. Okt 13:08 .
 4 drwxr-xr-x  19 root root  4096  8. Okt 12:57 ..
40 drwxr-xr-x   2 root root 36864 11. Okt 11:21 bin
 4 drwxr-xr-x   2 root root  4096 15. Okt 13:08 br0
 4 drwxr-xr-x   2 root root  4096 14. Jul 18:00 games
 4 drwxr-xr-x   8 root root  4096  6. Okt 21:08 include
 4 drwxr-xr-x  83 root root  4096 11. Okt 12:23 lib
 4 drwxr-xr-x   2 root root  4096  6. Okt 20:44 lib32
 4 drwxr-xr-x   2 root root  4096  6. Okt 20:57 lib64
 4 drwxr-xr-x  13 root root  4096  8. Okt 21:35 libexec
 4 drwxr-xr-x   2 root root  4096  6. Okt 20:44 libx32
 4 drwxr-xr-x  10 root root  4096  6. Okt 20:44 local
20 drwxr-xr-x   2 root root 20480 11. Okt 12:23 sbin
12 drwxr-xr-x 220 root root 12288 11. Okt 11:21 share
 4 drwxr-xr-x   2 root root  4096 14. Jul 18:00 src
Wieso sollte man eine Netzwerkbridge in einen Container stecken? Und auch wenn das aus Security Sicht Sinn macht (den Grund weiß ich, stand jetzt, ja noch nicht), was mach' ich hier falsch? Nach meinem Wissen wird das root Dateisystem von Containern bzw. Jails zur Laufzeit erstellt, unabhängig von der Art des Containers. Die Definitionen hab ich ja in /etc/systemd/network nach Vorlage von MSFree hinterlegt und mit Vorlage [2] verglichen und das sollte soweit passen. Gut, die Quelle [1] und [2] bezieht sich auf Arch, aber systemd dürfte ja im Grunde distributionsunabhängig sein und anstatt DHCP=yes wird DHCP=ipv4 angegeben aber die Fehlermeldung von systemd-nspawn --network-bridge=br0 bezieht sich hier auf ein Dateisystem eines Containers, was ja eine ganz andere Thematik ist, als Netzwerk.

[1] https://wiki.archlinux.org/title/Systemd-nspawn#Use_a_network_bridge
[2] https://wiki.archlinux.org/title/Systemd-networkd#Bridge_interface
Es gibt keine dummen Fragen, denn man lernt nie aus: Wie tapeziert man eine Schallmauer? :roll:

Benutzeravatar
bitterlemon
Beiträge: 70
Registriert: 14.10.2023 12:59:30

Re: Wie erstelle ich eine persistente Bridge auf einem Debian 12 Bookworm?

Beitrag von bitterlemon » 16.10.2023 13:16:27

Hallo,

Ich habe jetzt zwei Möglichkeiten ausgearbeitet.

Das Workaround:
1. Beteiligte Netzwerkschnittstellen/Interfaces zurück setzen/resetten

Code: Alles auswählen

sudo ip addr flush dev <Gerätebezeichnung Netzwerkschnittstelle>
2. Erstellen der Netzwerkbrücke

Code: Alles auswählen

sudo ip link add name br0 type bridge
3. Netzwerkschnittstellen/Interfaces der Netzwerkbrücke/Bridge zuweisen

Code: Alles auswählen

sudo ip link set dev <Gerätebezeichnung Netzwerkschnittstelle> master <Gerätebezeichnung Netzwerkbrücke>
4. Beteiligte Netzwerkschnittstellen/Interfaces und Netzwerkbrücke/Bridge aktivieren

Code: Alles auswählen

sudo ip link set dev <Gerätebezeichnung Netzwerkbrücke> up
sudo ip link set dev <Gerätebezeichnung Netzwerkschnittstelle> up
5. Netzwerkeinstellungen

für DHCP mit dhclient:
sudo dhclient br0

für eine statische IP Konfiguration:
sudo ip address 192.168.1.168/24 dev <Gerätebezeichnung Netzwerkbrücke>
sudo route add default via 192.168.1.1 dev <Gerätebezeichnung Netzwerkbrücke>

6. Freuen, danach realisieren, dass, wenn man eine persistente Lösung haben möchte, aus der Sequenz noch einen SystemD Service bauen muss. Sauber ist das nicht, aber sehr integrativ, wie ich finde! :lol:

Wie man's richtig macht:

1. sudo systemctl list-unit-files aufrufen und sich erstmal überblick verschaffen, was alles läuft und in welchen Status
2. connman, NetworkManager und alles was irgendwie nach avahi klingt und mit Deamon purgen, disablen, mask'en und vergessen (Achtung, ab jetzt sind eure Netzwerkeinstellungen nur noch alt hergebracht zu administrieren)
3. Auf den Beitrag von MSFree schauen und das ganze mit der orginalen Debian Dokumentation vergleichen, hier der Link dazu: https://wiki.debian.org/SystemdNetworkd#Configuring_the_physical_layer
4. Die Inhalte der Datein unter /etc/systemd/network etwas umbauen (statische IP Vergabe und sowas eben)
5. Die ersten beiden Punkte aus der oben genannten Debian Dokumentation befolgen, und die Interfaces und Interfaces.d unter anderem Namen speichern (k.a. ich habs einfach mal mit gemacht)
6. Ganz wichtig und was uns MSFree nicht beschrieben hatte: Systemd-Networkd enablen

wenn man's so macht und zwischenzeitlich in Sysctl ipv6 aussperrt, wundert man sich nur, warum jetzt wieder ipv6 Adressen auftauchen, aber hey, es geht anscheinend! :D

Danke an alle, die mich hier unterstützt haben! :)

[edit]

Das zwischenzeitlich angesprochene virtualisieren von Netzwerkkarten noch kurz angesprochen: Hier handelt es sich um eine optional Funktion, die über Rechteisolation einen Jail des Prozesses, der das Interface steuert, erzeugt. Was soll ich sagen, ich kann auch mal was falsch verstehen, wenn der gedankliche Fokus wo anders liegt.

[edit-edit]

Wer DHCPv6 bzw. die Link Local Address deaktiviert haben will, muss - exemplarisch - in der br0.network folgendes Eintragen:

Code: Alles auswählen

DHCP=no
LinkLocalAddressing=no
IPv6AcceptRA=no
Theoretisch kann das auch ohne den Punkt DHCP=no funktionieren. Getestet hab ich's erstmal so, wie es dort steht, da es nicht auf DHCP konfiguriert habe.
Zuletzt geändert von bitterlemon am 24.10.2023 16:33:14, insgesamt 1-mal geändert.
Es gibt keine dummen Fragen, denn man lernt nie aus: Wie tapeziert man eine Schallmauer? :roll:

Benutzeravatar
heisenberg
Beiträge: 3567
Registriert: 04.06.2015 01:17:27
Lizenz eigener Beiträge: MIT Lizenz

Re: [GELÖST] Wie erstelle ich eine persistente Bridge auf einem Debian 12 Bookworm?

Beitrag von heisenberg » 24.10.2023 16:16:30

... wenn man eine persistente Lösung haben möchte, aus der Sequenz noch einen SystemD Service bauen muss...
Naja, dann für mich doch lieber einfach mit /etc/network/interfaces und wenn systemd-networkd dann irgendwann mal sauber funktioniert, dann mal wieder testen.
Jede Rohheit hat ihren Ursprung in einer Schwäche.

Benutzeravatar
bitterlemon
Beiträge: 70
Registriert: 14.10.2023 12:59:30

Re: [GELÖST] Wie erstelle ich eine persistente Bridge auf einem Debian 12 Bookworm?

Beitrag von bitterlemon » 24.10.2023 17:13:25

heisenberg hat geschrieben: ↑ zum Beitrag ↑
24.10.2023 16:16:30
... wenn man eine persistente Lösung haben möchte, aus der Sequenz noch einen SystemD Service bauen muss...
Naja, dann für mich doch lieber einfach mit /etc/network/interfaces und wenn systemd-networkd dann irgendwann mal sauber funktioniert, dann mal wieder testen.
Bei meinem Thread hier sind einige Herausforderungen auf einmal aufgekommen. Netzwerkmanager, die eigenständig Sachen getan haben waren da echt hinderlich! Man recherchiert herum, wie man Zeroconf beseitigen will und geht nach der Logik "Wo kein Programm, da keine Ausführung" und dann geht's trotzdem noch - sowas ist gruselig.
Es gibt keine dummen Fragen, denn man lernt nie aus: Wie tapeziert man eine Schallmauer? :roll:

Antworten