VirtualBox host-only network does not get IP-address

This VM worked before a Microsoft Windows update. After the update the config no longer works. It is possible the update changed interfaces in the host.

VM has 3 interfaces: NAT (works), Host-only (fails), Network bridge (works).

VM can ping the Host-Only Ethernet Adapter address (192.168.87.1) via the NAT interface (if I bring down the NAT interface ping fails).

If I manually set up enp8s0 (which is the Host-Only interface) on the guest:

ip a add 192.168.87.4/24 dev enp0s8

I can no longer ping 192.168.87.1

dhclient enp8s0 fails.

I have tried:

  • Reinstalling VirtualBox (Reboot of host before+after removal. Reboot after installation.)
  • Remove and adding Host-Only Ethernet Adapter (on host)
  • Disabling and re-enabling DHCP-server on Host-Only Ethernet Adapter (on host)
  • Disabling and re-enabling the Host-only interface in the config of the guest – followed by booting guest
C:>"C:Program Files"OracleVirtualBoxVBoxManage list hostonlyifs
Name:            VirtualBox Host-Only Ethernet Adapter
GUID:            3ad558d5-d23c-4865-81c9-d19fa8747cfd
DHCP:            Disabled <- This is client DHCP of the host. Not the DHCP server for VirtualBox
IPAddress:       192.168.87.1
NetworkMask:     255.255.255.0
IPV6Address:     fe80::3b4c:10d:9685:f9a6
IPV6NetworkMaskPrefixLength: 64
HardwareAddress: 0a:00:27:00:00:39
MediumType:      Ethernet
Wireless:        No
Status:          Up
VBoxNetworkName: HostInterfaceNetworking-VirtualBox Host-Only Ethernet Adapter

C:>"C:Program Files"OracleVirtualBoxVBoxManage list dhcpservers
NetworkName:    HostInterfaceNetworking-VirtualBox Host-Only Ethernet Adapter
Dhcpd IP:       192.168.87.2
LowerIPAddress: 192.168.87.3
UpperIPAddress: 192.168.87.254
NetworkMask:    255.255.255.0
Enabled:        Yes
Global Configuration:
    minLeaseTime:     default
    defaultLeaseTime: default
    maxLeaseTime:     default
    Forced options:   None
    Suppressed opts.: None
        1/legacy: 255.255.255.0
Groups:               None
Individual Configs:   None


$ ipconfig

Windows IP Configuration

Ethernet adapter Ethernet 3:

   Connection-specific DNS Suffix  . :
   Link-local IPv6 Address . . . . . : fe80::3b4c:10d:9685:f9a6%57
   IPv4 Address. . . . . . . . . . . : 192.168.87.1
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . :

Host: Windows 11 Pro // Version: 24H2 // Build: 26100.2894

Guest: Ubuntu 24.04

EDIT

Workaround:

# Take down NAT interface
ip addr del 10.0.2.15/24 dev enp0s3
# Static IP for the Host-Only interface
ip addr add 192.168.87.101/24 dev enp0s8
# Flush arp cache
sudo ip -s -s neigh flush all
# Make host's arp discover where 192.168.87.101 is
ping 192.168.87.1

After this the host can ping 192.168.87.101.

I have no idea why that would make it work?! But it does.

dhclient enp0s8 still does nothing.