this example uses systemd-network and two scripts, start-bridge and stop-bridge, to create and remove a bridge interface on demand.
this can be used, for example, for networking in qemu or virtualbox virtual machines.
/etc/systemd/network/inactive/enp5s0-static.network
[Match] Name=enp5s0 [Network] Address=192.168.178.24/24 Gateway=192.168.178.1 DNS=fd1e:d35:c896::2e91:abff:fe95:3f0 IPv6AcceptRA=yes
/etc/systemd/network/enp5s0-bridge.network
[Match] Name=enp5s0 [Network] Bridge=br0
/etc/systemd/network/br0.netdev
[NetDev] Name=br0 Kind=bridge MACAddress=b4:2e:99:95:9a:1e
/etc/systemd/network/br0.network
[Match] Name=br0 [Network] DHCP=yes DNS=8.8.4.4
start-bridge
#!/bin/sh conf_dir="/etc/systemd/network" inactive_dir="$conf_dir/inactive" default="$conf_dir/enp5s0.network" static_backup="$inactive_dir/enp5s0-static.network" bridge="$inactive_dir/enp5s0-bridge.network" active_bridge="$conf_dir/enp5s0-bridge.network" # move default config to inactive if it exists and backup is not yet there if test -e "$default" && test ! -e "$static_backup"; then mv "$default" "$static_backup" fi # move bridge config to active if not already there if test -e "$bridge" && test ! -e "$active_bridge"; then mv "$bridge" "$active_bridge" fi systemctl restart systemd-networkd
stop-bridge
#!/bin/sh conf_dir="/etc/systemd/network" inactive_dir="$conf_dir/inactive" default="$conf_dir/enp5s0.network" static_backup="$inactive_dir/enp5s0-static.network" active_bridge="$conf_dir/enp5s0-bridge.network" bridge_backup="$inactive_dir/enp5s0-bridge.network" # move bridge config back to inactive if test -e "$active_bridge" && test ! -e "$bridge_backup"; then mv "$active_bridge" "$bridge_backup" fi # restore static config if backup exists and not already present if test -e "$static_backup" && test ! -e "$default"; then mv "$static_backup" "$default" fi systemctl restart systemd-networkd # fully remove bridge interface if ip link show br0 >/dev/null 2>&1; then ip link set enp5s0 nomaster 2>/dev/null ip link set br0 down ip link delete br0 type bridge fi