How to achieve Virtualbox-like bridging under KVM

bridgekvm-virtualizationvirtualbox

I neeed to move some VMs from a Virtualbox test system to a KVM production host. Hosts are two copies of the very same hardware and software system (64-bit Ubuntu Server v16.04, for what it matters).

It's all not too complex, but the networking part.

For virtualbox' guests I have a single virtio ethernet adapter bridged to one of the host bond devices. The guest is easily accessible from both the network to which the host is attached to and from the host itself.
In this way, the guest is like "just another server on the network".
During operations I cannot see anything else but the virbr0 bridge.

AFAIU, this simple setup cannot be replicated under KVM. If I use bridging, then I cannot communicate from guest to host. The suggested solution is to add a second interface to the guest for such a use.

Is that the only option I have?

Then, if any technical details is available, I'd like to know how can Virtualbox do something that KVM cannot do.

Best Answer

What you describe is an absolutely standard KVM bridged configuration documented pretty much anywhere you care to look. The idea is to have the bond on the host under a bridge (the bridge gets to hold the host's IP config, not the bond), and the VM will be able to use the bridge exactly like you are used to in vbox.

Once you have a bridge available on the host, virt-manager will allow you to choose a shared network device to connect to (e.g. the new bridge), or you can simply update the domxml for the guest to use the bridge and not the default NAT network