In addition to the previously presented article on the subject Howto do QEMU full virtualization with bridged networking this one shows how to run a QEMU virtual machine with a bridge networking on the host server configured only by using the NetworkManager cli – nmcli.
It is worth mentioning the bridge interface presented in this article is a local bridge device for the server and no Internet addresses or real (or main or Internet-connected) network cards are bound to it. So no MAC addresses of slaved bridged devices will leave the server.
If a network bridge, which includes the Internet (main) server network device is needed, for example, to set real IPs in a virtual machine, there is another article on the bridge networking subject – Replace current interface configuration with a bridge device using nmcli (NetworkManager)
STEP 1) Add bridge and TUN/TAP device.
[root@srv ~]# nmcli connection add type bridge ifname br0 con-name br0 ipv4.method manual ipv4.addresses "192.168.0.1/24" Connection 'br0' (ad6878c8-1e06-4af8-a81f-1eb39e761df8) successfully added. [root@srv ~]# nmcli connection up br0 Connection successfully activated (master waiting for slaves) (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/3) [root@srv ~]# nmcli connection add type tun ifname tap0 con-name tap0 mode tap owner 0 ip4 0.0.0.0/24 Connection 'tap0' (dacee2be-a14b-4cf5-83d4-96d072a96725) successfully added. [root@srv ~]# nmcli con add type bridge-slave ifname tap0 master br0 Connection 'bridge-slave-tap0' (66490382-b239-4eb2-ae1d-ee811e39596c) successfully added. [root@srv ~]# nmcli con NAME UUID TYPE DEVICE System eno1 abf4c85b-57cc-4484-4fa9-b4a71689c359 ethernet eno1 br0 ad6878c8-1e06-4af8-a81f-1eb39e761df8 bridge br0 tap0 dacee2be-a14b-4cf5-83d4-96d072a96725 tun tap0 bridge-slave-tap0 66490382-b239-4eb2-ae1d-ee811e39596c ethernet --
First, a bridge device is added with manual IP. If the IP is skipped the bridge interface br0 would have DHCP enabled by default, which may not be the desired.
More detailed information on how to create and add TUN/TAP device with the NetworkManager here – Create bridge and add TUN/TAP device using NetworkManager nmcli under CentOS 8
STEP 2) Install QEMU.
Install the QEMU virtual tools under CentOS 8 Stream. At present, the QEMU version is 6.2, which is pretty new.
Keep on reading!