Virtualmin installation crashes networking stack on DigitalOcean IPv6 servers

Hi there, I am unable to get Virtualmin to install successfully on Ubuntu 16.04 on a fresh DigitalOcean droplet with IPv6 enabled. IPv4 works fine, as does a fresh Linode node with IPv6 enabled.

I have posted a thread over at the forums before, but I thought I would make a bug report proper since I have made lots of new observations since.

First, there is nothing wrong with the install script. I did a barebones installation with just installing webmin, and then installing virtualmin-base, and the problem surfaces. It happens when Virtualmin-base starts to configure /etc/resolv.conf. Thereafter, my SSH becomes unresponsive. When I log into the DigitalOcean console, I am unable to ping any IP addresses or hostnames. Upon a reboot, however, everything works fine. But I am stuck with a partially installed Virtualmin installation.

So far, a workaround for me is to destroy the symlink between /etc/resolv.conf and ../run/resolvconf/resolv.conf by doing 'rm /etc/resolv.conf'. Then, I copy whatever is in ../run/resolvconf/resolv.conf into /etc/resolv.conf and run the installation. After installation, I recreate the symlink using dpkg-reconfigure resolvconf.

Now, I can't seem to get access to the source code of Virtualmin. Thus, is there any way for me to find out what exactly Virtualmin does to resolv.conf during installation such that I am able to troubleshoot this issue further? Thank you!



Howdy -- yeah we are familiar with that issue you described. Joe is going to try making some network changes in the hopes of getting that working, but for the time being you may need to use an IPv4 Address to get things up and running.

I successfully enabled IPV6 on my DigitalOcean droplet after the new ubuntu point release. Unfortunately if I try to assign the IPV6 address to a virtual server it turns inaccessible. Interesting, though that even if in the virtual server's settings has no IPV6 (just ipv4) address, the site can be resolved through ipv6 as well.

Yeah that is an odd issue!

I don't imagine you're seeing any helpful errors or debugging into when trying to enable it, or in the log files?

And do you mean just the Virtual Server becomes unavailable, or is the entire server unavailable?

Just the virtual server, and after you disable ipv6 in its settings, it remains unavailable. Nevertheless I have sat up AAAA records and sat the IPV6 address in eth0 so at the moment all my virtual servers are available on IPv6. Although, you cannot see the host IPv6 address in their settings only the IPv4 one.

Hi Nile,

Were you able to get the installation to complete successfully with default settings but with IPv6 enabled? I have tried on 16.04.1 but it still hangs at the same point.


No. This droplet was sat up roughly a month ago without IPv6. I just enabled IPv6 yesterday on my droplet in the hope it will work and apparently it is still not 100%.

I see. I had the same problem too when I tried to enable IPv6 after the fact. In any case, destroying the symlink as I described in my original post, and recreating it seems to solve the problem.

Virtualmin's install does configure /etc/resolv.conf to use as a nameserver ... but if you system only has an IPv6 localhost address, I can see how this could cause problems.

In case of DO you have an IPv4 address and a limited IPv6(they block smtp because of blacklists).

I have figured out a simpler solution to solve the hanging for IPv6:

Before installing Virtualmin, run nano /etc/network/interfaces, and under the eth0 for ipv4, enter this line:

dns-nameservers 2001:4860:4860::8844 2001:4860:4860::8888

Alternatively, if you let the install hang, Virtualmin will still run, but you need to do a dpkg reconfigure after installation, manually reenable actions and suexec from Apache2, and reconfigure suexec such that the root directory is /home.

By the way, based on a test droplet, I have no problems assigning a IPv6 address to my virtual server.

Sounds promising hopefully, the guys will solve this problem soon.