[SOLVED] DHCP replies not received by QEMU Deb9 guest during graphical install
Linux - Virtualization and CloudThis forum is for the discussion of all topics relating to Linux Virtualization and Linux Cloud platforms. Xen, KVM, OpenVZ, VirtualBox, VMware, Linux-VServer and all other Linux Virtualization platforms are welcome. OpenStack, CloudStack, ownCloud, Cloud Foundry, Eucalyptus, Nimbus, OpenNebula and all other Linux Cloud platforms are welcome. Note that questions relating solely to non-Linux OS's should be asked in the General forum.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
DHCP replies not received by QEMU Deb9 guest during graphical install
Hey guys/gals,
I am brand new to this forum, and am still new to asking for help on forum platforms such as this. So any and all advice is appreciated.
The core problem I'm facing is that DHCP reply messages are not being received by the graphical installer that is setting up a Debian 9.5 QEMU guest VM over a bridge interface.
Here are some of the high level details....
Topology
Each node is connected with 1Gbps ethernet (so no wireless interfaces)
[router]---[switch1]---[switch2]---[host]
Host
Runs Ubuntu 16.04.5
1x 1Gbps NIC configured with dhcp for management activities (em1)
1x 1Gbps NIC configured as a bridge with a static IP address (br0 / eth1 slave)
Bridge connectivity tested successfully using SSH & ping from different host in same LAN network.
I am explicitly disabling spanning-tree-protocol in the interfaces file,
and brctl show command correctly displays my bridge with eth1 as the only interface.
Observed behavior and troubleshooting so far
-> Debian 9 graphical installer reports a failure to autoconfigure the guests network interface for DHCP over the host bridge interface
-> command 'sudo tcpdump -i br0 | grep -i dhcp' (output below) only shows the requests being broadcasted, and no replies.
10:08:57.833669 IP 0.0.0.0.bootpc > 255.255.255.255.bootps: BOOTP/DHCP, Request from 52:54:00:8a:9e:69 (oui Unknown), length 300
I have a technical background but am unfamiliar with the low level details and how to troubleshoot DHCP properly.
Like I said before I am new to asking for help on these forums, any and all advice is appreciated.
So the next thing I tried was to use the MAC address in the DHCP Discover packets, and configure a static IP on my router GUI. This succeeded as it allowed me to get past the network configuration part of the installer, but it failed when I reached the point where I needed to configure the package manager by connecting to a mirror server.
Now ARP resolution IS something I am familiar with, and I found my ARP packets being sent out the bridge were not getting a reply, similar to the DHCP discover packets. When I inspected the packets from pinging the bridge interface from another host on the LAN I found the wrong MAC address in the source field for the reply. It turns out the Linux kernel treats an IP address as a "system object" in a loosely coupled system, so having multiple interfaces connected to the same network (192.168.1.0/24) won't guarantee which physical interface gets used for handling packets pertaining to a specific IP.
To resolve this, I just added every physical interface in the system to the bridge interface definition and everything is working now after reboot. Not my ideal setup, but it works, and DHCP works as expected.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.