Hi. I’m new to using Balena and I try to create a bridge with a dummy interface and a regular ethernet port as members. This way the IP address on the bridge is always up. I can’t seem to get networkmanager to understand my request. Has anyone achieved this?
Hi @tuxeric, welcome to the balena forums.
I certainly have not seen this done before, but it should definitely be doable. Be aware that both balenaOS and docker are likely to create their own bridges - I wouldn’t mess with those. Can you post the connection file you’ve been experimenting with?
Hi. I should have start saying I installed Balena on a RPI3. The way I try to bring the bridge up is this.
nmcli con add type bridge ifname tbr0 nmcli con add type dummy ifname dummy0 nmcli con add type dummy con-name dummy-br ifname dummy0 master tbr0 nmcli con add type ethernet con-name eth0-br ifname eth0 master tbr0 nmcli con mod bridge-tbr0 ipv4.method manual ipv4.addresses 10.20.30.1/24
The dummy interface is created and I would expect dummy0 to be added to the bridge, only it isn’t.
root@balenapi:~# balena run -it --rm --network host --privileged alpine brctl show bridge name bridge id STP enabled interfaces tbr0 8000.000000000000 yes resin-dns 8000.000000000000 no supervisor0 8000.02424f109696 no balena0 8000.0242ca5b18e1 no root@balenapi:~# ip add li | egrep '^[0-9]:' 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue qlen 1000 2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel qlen 1000 3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel qlen 1000 4: resin-dns: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue qlen 1000 5: tbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue qlen 1000 6: dummy0: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue qlen 1000 7: supervisor0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue 8: balena0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue
If i manually add dummy to the bridge using ip link set dummy0 master tbr0 it works.
Just to clarify what you are trying to do, can you please explain why you need the IP address on the bridge to always be up?
Furthermore, given that you can manually get it to work with
ip link set dummy0 master tbr0, could you possibly run this command in a container as a long-term solution?
I want to have that IP address up even if my ethernet cable is unplugged. This way when I connect the ethernet cable my services would already have bind to that IP. An example is a DHCP server which should not care if the ethernet cable is unplugged.