Get IPv6 to work in Virtualmin


Im struggling to get Virtualmin work with IPv6.

I have pointed the domain name to the IPv6 adress as the following: @ IN 3600 NS @ IN 3600 NS

@ IN 3600 AAAA 2A02:0750:0005:0000:0000:0000:0000:0460

  • IN 3600 AAAA 2A02:0750:0005:0000:0000:0000:0000:0460

www IN 3600 AAAA 2A02:0750:0005:0000:0000:0000:0000:0460

I have also added the IPv6 adress in the IPv6 field in Virtualmin, checked "Already active" as the print screen below shows:

It still doesn't work. How come and how should I fix it?



When you say it doesn't work, what goes wrong exactly?

I can't reach the site or the standard screen "It works!", when surfing in to the domain. I get "Page not found".

Does it work when you access the site via the IPv4 address?

Also, make sure you have an index.html or index.php file in the domain's public_html directory.

Thanks for answer!

I have a index.html file in the root which I see when accessing the site through the FTP IPv4-adress.

Any idea why it doesn't work?

What gets logged to the file /var/log/virtualmin/domainname.com_error_log when you try to access the site via IPv6 ?

Also, is that address globally routable? I wasn't able to access it myself..

Thanks for answer and sorry for my delayed answer. Haven't had time to look this up until now.

The IP I'm using is this: 2A02:0750:0005:0000:0000:0000:0000:0476

The weird thing is that when I go into the "Edit Virtual Server" option, the IPv6 adress doesn't show up anywhere just the "root" IPv6, like this image show:

I can't accept the IPv6 adress above through my web browser, is getting redirected to Google search.

Does it show up on the Change IP Address page, under the Server Configuration category?

Thanks for answer!

It doesn't show up under the "Server Configuration" -page. Like the image show:

But when I add the IPv6 adress under "Use private IPv6 adress" and hit "Change now" I get the following message:

Failed to change IP address : The virtual interface IPv6 address is already in use

What could be wrong?


But when I add the IPv6 adress under "Use private IPv6 adress" and hit "Change now" I get the following message:

In this particular case, are you checking the 'Already Active' checkbox? I know you mentioned that in your original post, I'm not sure if that was the same here or not,

Another reason that error might happen is if Virtualmin can ping the IP you entered, perhaps because it is active on another system..

But if it is intentionally already active on your system, you should check the "already active" box like Eric suggested.

Thanks for answers.

The IP's ar not active on other systems. I have checked the "Already active" button, both when first creating the virtual server and also under "Server configuration > Change IP adress".

It seems as it shows up as it should now, don't now why it suddenly did. Check this image:

But it still doesn't work. I have checked with my host of the domain so I have made the right settings for the domain under AAAA. It should all be correct. I have done a check at see the image here:

The /etc/hosts/ -file look like this:

::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters ff02::3 ip6-allhosts localhost.localdomain localhost

Auto-generated hostname. Please do not remove this comment.

79.99.*. hulken ni***.se hulken

What could be wrong?

Can you ping6 that IPv6 address from your Virtualmin system?

Iv'e tested this.

First try to ping google with: ping6

with the following result: connect: Network is unreachable

Then I tried to ping my IPv6-adress to the domain by following line: ping6 2A02:0750:0005:0000:0000:0000:0000:0476

I got the following lines repeating til eternity:

PING 2A02:0750:0005:0000:0000:0000:0000:0476(2a02:750:5::476) 56 data bytes 64 bytes from 2a02:750:5::476: icmp_seq=1 ttl=64 time=0.025 ms 64 bytes from 2a02:750:5::476: icmp_seq=2 ttl=64 time=0.040 ms 64 bytes from 2a02:750:5::476: icmp_seq=3 ttl=64 time=0.034 ms 64 bytes from 2a02:750:5::476: icmp_seq=4 ttl=64 time=0.035 ms 64 bytes from 2a02:750:5::476: icmp_seq=5 ttl=64 time=0.038 ms 64 bytes from 2a02:750:5::476: icmp_seq=6 ttl=64 time=0.034 ms 64 bytes from 2a02:750:5::476: icmp_seq=7 ttl=64 time=0.037 ms 64 bytes from 2a02:750:5::476: icmp_seq=8 ttl=64 time=0.036 ms 64 bytes from 2a02:750:5::476: icmp_seq=9 ttl=64 time=0.035 ms 64 bytes from 2a02:750:5::476: icmp_seq=10 ttl=64 time=0.030 ms 64 bytes from 2a02:750:5::476: icmp_seq=11 ttl=64 time=0.039 ms 64 bytes from 2a02:750:5::476: icmp_seq=12 ttl=64 time=0.037 ms

where the icmp_seg= just add one, like 13, 14, 15, 16 and so on.

Ok, that indicates that your system doesn't have IPv6 connectivity to the outside.

Are you sure your ISP or hosting company is providing IPv6, and the IPv6 network you are using is routed to your system?

Thanks for answer.

I will contact my ISP to look this up further.

Okay, so now I have contacted my ISP. And the problem was that iproute wasn't installed. I installed it with the command: apt-get install iproute.

After that I ping google with: ping6 and I get output:

PING 56 data bytes 64 bytes from icmp_seq=1 ttl=50 time=20.4 ms 64 bytes from icmp_seq=2 ttl=50 time=26.0 ms 64 bytes from icmp_seq=3 ttl=50 time=20.3 ms

Almost the same looking as when I ping my own IPv6-adress, as shown in entry above.

But still the connection doesn't seems to work because entering the domain just show up a 401 doesn't found.

What could be the problem?

Does anything get logged to the domain's access_log file under /var/log/virtualmin when you try to access the site via IPv6?

Nothing happens when accessing the domain. Neither in the browser or in the /var/log/virtualmin

Although I found this in the log (an there were a couple of other equal): 2001:4860:4801:1504:0:6006:1300:b075 - - [10/Feb/2012:09:40:11 +0100] "GET /robots.txt HTTP/1.1" 404 331 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +" 2001:4860:4801:1405:0:6006:1300:b075 - - [10/Feb/2012:09:40:11 +0100] "GET / HTTP/1.1" 403 326 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +"

Edit 1: If it adds to the discussion Im using venet0:0 and not eth0

Edit 2: I don't now if I could do it this way but I tried the following: 1. Webmin > Network > Network configuration > Network interface. 2. Choosed "Active interfaces" > "Add interface". 3. Name: Test, Netmask: Automatic, Broadcast: Automatic, IP-adress: 2A02:0750:0005:0000:0000:0000:0000:0476, IPv6 enabled "Checked", Added the IPv6-adress under "IPv6 adress": 2A02:0750:0005:0000:0000:0000:0000:0476, Netmask: 64, Status: Active, MTU: Automatic 4. Hitting enter returns the following error: Failed to add IPv6 address : SIOGIFINDEX: No such device

What is your actual domain name, and what is the IPv6 address for it as shown in Virtualmin on the Edit Virtual Server page? I'd like to test this from outside ..

Also, if you run the command :

virtualmin validate-domains --domain --all-features

does it report any errors?

Thanks for answer.

The domain name is (without underscore and backspace): p_a___ul_ssonm__// The IPv6-adress assign to the above domain i Virtualmin is: 2A02:0750:0005:0000:0000:0000:0000:0476

I get this when running the command you stated:

perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = (unset), LC_ALL = (unset), LANG = "sv_SE.UTF-8" are supported and installed on your system. perl: warning: Falling back to the standard locale ("C"). p_a___ul_ssonm__// All features OK

Thanks for your time!

Ok, I can ping that from other IPv6-connected systems... but running wget to fetch the website fails with a 403 error.

Does your public_html directory have an index.html or index.php file?

Thanks for answer.

Yes, it have a index.html file with the text "It works!" in it.


So it looks like your system is receiving the HTTP request, but it isn't being served by the correct Apache virtual host. You should check all the Apache logs on your system, and see if anything is logged to any of them when you try to access the IPv6 site - the most likely candidate is the default Apache log at /var/log/apache2/access.log .

Is your Linux system directly IPv6 connected to the internet, or is there any kind of gateway or router in front of it?