Solved Fedora Host (40/41) KVM /QEMU with Windows (any) as VM - Host - Guest -Lan communication all both ways -- no config needed


jimbo45

Well-known member
Pro User
VIP
Local time
11:54 AM
Posts
4,174
Location
Hafnarfjörður IS
OS
Windows XP,7,10,11 Linux Arch Linux
Hi folks

NO special config needed -- just normal config as you'd do for setting up / creating VM's using vmware / Hyper-V / Vbox or any other virtualisation software.

You don't need to set up physical links betwen the physical nic and the bridge, masters, slaves, routing stuff etc !!!.

Caveat -- doesn't yet work for Wifi although works 100% if you've a USB_LAN adapter with a piece of LAN cable connected to an ethernet port on a wifi extender etc.

This method also survives re-boots so is persistent.

Host / Guest communication on Fedora 40 / 41 HOST with any Windows as Guest is an absolute doddle -- host <> guest both ways plus LAN access to the VM as well. No need for NAT etc. I've assumed you've installed KVM/QEMU, have the libvirtd service running and have added your user to group libvirt so you can run the virtual machine manager (GUI) as a normal (non root) user.

1) In the VM's config you need to set up 2 NIC adapters -- one is set as Bridge with the built in virbr0 as the bridge. This is installed by default when you install KVM/QEMU in pretty well all Linux distros these days. Use the GUI virtual machine manager unless you really are a Masochist and love messing around with XML files and bash scripts.

2) Add the other NIC as follows:

a) create an Isolated network on the Host say in any directory for example /tmp/isolated.xml
<network>
<name>isolated</name>
<ip address="192.168.254.1" netmask="255.255.255.0">
<dhcp>
<range start="192.168.254.2" end="192.168.254.254"/>
</dhcp>
</ip>
</network>

b) Define it to the Host system : sudo virsh net-define /tmp/isolated.xml and start it and automatically at boot : sudo virsh net-start isolated, sudo virsh net-autostart isolated

c) add the nic in the gui add hardare - network adapter as the isolated network

d) restart the libvirtd service

Now you;ve got communications between guest and host, host and guest (i.e both ways) and guest both ways to any other machines on your lan.

Screenshot_20240510_125621.png



Screenshot_20240510_125714.png
Guest accesses host via fixed ip (via the isolated network) at address 192.168.254.1 (Isolated network)
Host / LAN access guest via the ip address on the same address range e.g 192.168.254.196 (virbr0)

Screenshot_20240510_123324.png


"Seemples" - probably works for other distros too.

I'm always amazed when people come up with the most convoluted solutions ever even if they do work ==> I suppose there's a bit of Harry Harrison's great Science Fiction novel "The Ethical Engineer" in it when keeping science hidden away from people etc made them into the elite ruling class --great read if you can find it.


Cheers
jimbo
 
Last edited:

My Computer

System One

  • OS
    Windows XP,7,10,11 Linux Arch Linux
    Computer type
    PC/Desktop
    CPU
    2 X Intel i7
Back
Top Bottom