I am trying to set up an access point on a raspberry pi to add wifi to a network. I followed the instructions in Setting up a Raspberry Pi as an access point - the easy way, using systemd-networkd. Here I am targeting the configuration with a network bridge.
RPi
wifi ┌──────bridge──────┐ wired wan
mobile-phone <.~.~.~> │(wlan0) br0 (eth0)│ <-------> router <-----> INTERNET
\ | / DHCP-server
(dhcp (dhcp 192.168.50.1
from router) from router)
The bridge seems to work in principle, devices get an IP assigned by the DHCP server and the correct gateway, and I can ping other devices on the wired network from a laptop over wifi, including the Raspberry as well as other computers.
However I can not ping the router from the laptop or reach the internet, and I cannot ping the laptop either from the raspberry or a computer on the wired network.
IP forwarding is enabled.
Output of ip address
pi@raspberry:~ $ ip address 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
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br0 state UP group default qlen 1000
link/ether b8:27:eb:a3:8d:79 brd ff:ff:ff:ff:ff:ff
3: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 08:6a:0a:97:71:62 brd ff:ff:ff:ff:ff:ff
inet 192.168.88.51/16 brd 192.168.255.255 scope global dynamic br0
valid_lft 508sec preferred_lft 508sec
inet6 fe80::ba27:ebff:fea3:8d79/64 scope link
valid_lft forever preferred_lft forever
4: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br0 state UP group default qlen 1000
link/ether 08:6a:0a:97:71:62 brd ff:ff:ff:ff:ff:ff
Edit: I am using a RPi BCM43143 dongle for wifi, with a Raspberry Pi 2B Rev 1.1 running Raspbian 11 (bullseye)
Any help is appreciated to get this to work