Pi-hole on ESXi/Ubuntu with multiple NICs

The issue I am facing:
First, I am new to Pi-hole and am definitely no Linux expert
I have multiple VLANs on my network (Main, Guest, IoT). I want Pi-hole on on all three, with redundancy (2 Pi-holes), so I built two Ubuntu 22.04 VMs, each with a virtual NIC on each of the three VLANs. I build the Ubuntu system with the three NICs, and get Webmin installed, and reboot/shut down to test, and everything is fine. As soon as I install Pi-hole, then reboot, the NICs do not come up after the reboot, and I cannot get them up.

Details about my system:
Ubuntu 22.04
ESXi 7.03 (latest patches)
One NIC with gateway and DNS, the other two have only IP
Webmin 2.013

What I have changed since installing Pi-hole:
Nothing - it happens as soon as Pi-hole is installed.

As a baseline it'd be worth redoing one of the VMs from scratch the same way except this time without using Webmin, confirming the three NICs are up and that they come up after a reboot. Then install Pi-hole and observe the results. Repeat the process from scratch with just a single NIC instead and observe the results.

I'm thinking some interaction between Webmin's components and Pi-hole's installation, and/or some complication from the three VMware NICs somewhere in the process. Testing the above would be interesting to see where the constants are.

I am in the process of trying different iterations and sequences, and different ESXi hosts (the hosts in my home lab are not identical). At this point I have one that was completely built with one NIC, to which I then added a second NIC, and that is surviving reboots. I'll post my findings.

I need to note that with this latest attempt, two new YAML network configuration abstraction updates were available at the time of initial setup. They were not available with the previous attempts.

Are they for VMware, Webmin or is Docker involved?

libnetplan0 YAML network configuration abstraction runtime library New version 0.105-0ubuntu2~22.04.3 Jammy-updates
netplan.io YAML network configuration abstraction for various backends New version 0.105-0ubuntu2~22.04.3 Jammy-updates

Docker is not involved. Just ESXi 7.0U3k, Ubuntu 22.04, Webmin 2.020, Pi-Hole, and Unbound.

The YAML updates made no difference.

The secret sauce that worked for me seems to be to the following sequence:

  • Install Ubuntu 22.04 with one NIC;
  • Install Webmin;
  • Update Webmin;
  • Update Ubuntu with Webmin;
  • Reboot;
  • Install Pi-Hole;
  • Install Unbound;
  • Configure Pi-Hole/Webmin;
  • Reboot

THEN add the additional NICs one at a time;

  • Add second NIC in vCenter and assign to network;
  • Configure second NIC via Webmin;
  • Reboot and verify network connections
  • Add third NIC in vCenter and assign to network;
  • Configure third NIC via Webmin;
  • Reboot and verify network connections.

After that, all networks survive a reboot or a shut down/power on.

1 Like

This topic was automatically closed 21 days after the last reply. New replies are no longer allowed.