Submitted by jazzman on Wed, 03/16/2016 - 09:39
Hello,
I want to create a new virtual server and in the networking section, regarding the IPv6 network interface, I choose "Virtual with IP" and fill in an IP associated to an active network interface, and check 'Already active'.
However, when I create the server, Virtualmin regenerates /etc/network/interfaces adding the desired address and consequently crashes my server's network connection as it screws up the configuration.
When 'Already active' is checked, and that IPv6 is really online and working (checked), why does Virtualmin touch the network?
Note: Using latest (just updated) system: - Virtualmin 5.01 - Webmin 1.791 - Authentic Theme 17.72
Status:
Closed (fixed)
Comments
Submitted by JamieCameron on Thu, 03/17/2016 - 01:03 Comment #1
Thanks for reporting this - I see the bug responsible, and will fix it in the next Virtualmin release.
Submitted by JamieCameron on Thu, 03/17/2016 - 01:04 Comment #2
Submitted by jazzman on Thu, 03/17/2016 - 09:22 Comment #3
Thank you! Any ideas, when will that be shipped?
Submitted by JamieCameron on Thu, 03/17/2016 - 22:40 Comment #4
Since we just did a release, it will likely be several weeks before this fix comes out.
Submitted by jazzman on Fri, 03/18/2016 - 05:56 Comment #5
Oh.. Any possibility of a patch/diff to be used in the meantime if it is just a small fix in the scripts? I just start migrating domains to this new Virtualmin installation and want to have everything in place.
Thanks.
Submitted by viebrock on Fri, 03/18/2016 - 06:01 Comment #6
a small patch / diff would be really great Have this issue too and I am forced to setup many domains the next days with IPv6 support. A network crash with every creation results in me not being able to check the output of the scripts running after server creation without rewriting all scripts to logging to disk.
Thanks
Submitted by JamieCameron on Sat, 03/19/2016 - 02:33 Comment #7
The fix is pretty simple - just edit
/usr/{share,libexec}/webmin/virtual-server/domain_setup.cgi
and change line 283 from :($ip6, $virt6, $virtalready6, $netmask6) =
to :
($ip6, $virt6, $virt6already, $netmask6) =
Submitted by 3S-Hosting on Thu, 03/24/2016 - 03:32 Comment #8
Thank you very very much
Submitted by jazzman on Thu, 04/14/2016 - 04:12 Comment #10
Thank you for the fix.
Unfortunately it seems that things are really messed up in many other scripts and places. In my case, I tried to, change the IP address of a virtual server after transfer from another host which doesn't allow me to set IPs at transfer time, and again, Virtualmin messes up my network configuration.
This is what I've found regarding virt6already vs. virtalready6:
root@d2 /usr/share/webmin/virtual-server # grep -rnw './' -e "virt6already"
./domain_setup.cgi:283: ($ip6, $virt6, $virt6already, $netmask6) =
./domain_setup.cgi:357: 'virt6already', $virt6already,
./save_newip.cgi:250: $d->{'virt6already'} = $virt6already;
./save_newip.cgi:258: $d->{'virt6already'} = 0;
./feature-virt6.pl:28:if (!$d->{'virt6already'}) {
./feature-virt6.pl:68:if ($d->{'ip6'} ne $oldd->{'ip6'} && !$d->{'virt6already'}) {
./feature-virt6.pl:81:if (!$d->{'virt6already'}) {
./feature-virt6.pl:130:if (!$_[0]->{'virt6already'}) {
./create-domain.pl:209: $virt6already = 1;
./create-domain.pl:395: $virt6already && &usage("The --ip6-already and --allocate-ip6 options are incompatible");
./create-domain.pl:635: if ($virt6already) {
./create-domain.pl:709: 'virt6already', $virt6already,
./virtual-server-lib-funcs.pl:16677: $d->{'virt6already'} = 0;
root@d2 /usr/share/webmin/virtual-server # grep -rnw './' -e "virtalready6"
./restore-domain.pl:248: 'virtalready6' => 0, 'mode6' => 3 };
./restore-domain.pl:257: 'virtalready6' => 0, 'mode6' => 1 };
./restore-domain.pl:264: 'virtalready6' => 0, 'netmask6' => $netmask6,
./restore-domain.pl:272: 'virtalready6' => 0, 'netmask6' => $netmask6,
./migrate-domain.pl:172: 'virtalready6' => 0, 'mode6' => 3 };
./migrate-domain.pl:181: 'virtalready6' => 0, 'mode6' => 1 };
./migrate-domain.pl:188: 'virtalready6' => 0, 'netmask6' => $netmask6,
./save_newip.cgi:135: $virtalready6 = $d->{'virtalready6'};
./save_newip.cgi:154: $virtalready6 = 0;
./save_newip.cgi:159: $virtalready6 = $in{'virtalready6'};
./save_newip.cgi:163: if (!$virtalready6) {
./save_newip.cgi:167: elsif ($virtalready6) {
./save_newip.cgi:268: $d->{'virtalready6'} = $virtalready6;
./feature-virt6.pl:212: &ui_checkbox("virtalready6", 1,
./feature-virt6.pl:275: if ($in{'virtalready6'}) {
./feature-virt6.pl:287: return ($in{'ip6'}, 1, $in{'virtalready6'});
./migrate.cgi:50: ($ipinfo->{'ip6'}, $ipinfo->{'virt6'}, $ipinfo->{'virtalready6'},
./restore.cgi:134: ($ip6, $virt6, $virtalready6, $netmask6) =
./restore.cgi:139: $ipinfo->{'virtalready6'} = $virtalready6;
./newip_form.cgi:127: &ui_checkbox("virtalready6", 1,
./backups-lib.pl:2516: $d->{'virtalready6'} = 0;
./backups-lib.pl:2560: $d->{'virtalready6'} = $ipinfo->{'virtalready6'};
./backups-lib.pl:5152: $d->{'virtalready6'} = $ipinfo->{'virtalready6'};
Should I replace everywhere virtalready6 with virt6already?
Submitted by JamieCameron on Fri, 04/15/2016 - 00:23 Comment #11
No, only that one place should need fixing.
Submitted by jazzman on Fri, 04/15/2016 - 03:22 Comment #12
Ok, then, how come that after transferring the virtual server to the new server, if I use the "Change IP Address" feature to assign an already active IPv6 address and check "Already active" it happens the same, I loose connectivity to the server, network is modified?
Submitted by JamieCameron on Sat, 04/16/2016 - 16:06 Comment #13
You're right :-( All those other references to
virtalready6
also need to be replaced withvirt6already