I followed the official guide and it works perfectly for an rPi3 running on buster but fails on an rPi4 running on buster-lite and I can't see why/I can't see the difference.
The problem: In contrast to the rPi3/buster the eth0 is not added to the bridge br0. eth0 receives an ip-address from the DHCP-server instead of the bridge br0. Somehow the
denyinterface for eth0 in
dhcpcd.conf is ignored. According to
journalctl -u dhcpcd br0 aquires a weird ip-address.
... dhcpcd: br0: probing for an IPv4LL address ... dhcpcd: br0: using IPv4LL address 169.254.30.63
dmesg eth0 is not added to the bridge br0 on port 1. In contrast, on the rPi3 eth0 is added to the brigde on port 1 and wlan0 on port 2.
Q What am I missing?
Note On buster-lite I had to manually install dhcpcd5.
Update 1 rPi4
$ cat /etc/os-release PRETTY_NAME="Raspbian GNU/Linux 10 (buster)" $ apt search dhcpcd ... dhcpcd5/testing,now 1:8.1.2-1+rpt1 armhf [installed] DHCPv4, IPv6RA and DHCPv6 client with IPv4LL support ...
The rPi3 had dhcpcd5 installed out of the box
$ cat /etc/os-release PRETTY_NAME="Raspbian GNU/Linux 10 (buster)" $ sudo apt search dhcpcd ... dhcpcd5/testing,now 1:8.1.2-1+rpt1 armhf [installed] DHCPv4, IPv6RA and DHCPv6 client with IPv4LL support ...
Update 2 This hit me hard and unexpected: On top of raspbian-buster I installed openmediavault (OMV).
The OMV installation injects
$ cat /run/systemd/network/10-netplan-eth0.network [Match] MACAddress=cc:aa:33:dd:00:bb [Network] DHCP=yes LinkLocalAddressing=ipv6 IPv6AcceptRA=yes [DHCP] RouteMetric=100 UseMTU=true
and this file is breaking my bridge.
The rule-file is generated by
Q1 How can this be fixed properly?