[SOLVED] Add listening on IPV6 on Proxmoxhost - is this posible?

fireon

Distinguished Member
Oct 25, 2010
4,120
387
153
41
Austria/Graz
iteas.at
Hello all,

since migrate away from apache, ipv6 does not work anymore for the proxmox webinterface. It is posible to configure something to listen on IPV6 too?

Also in the webinterface you can't still work on IPV6 Storagemodels. DNS AAAA entries are not resolved. So VNC/Spice does also not work.

Thanks for answer and regards.
 
A workaround is to use xined as a ipv4 to ipv6 proxy.

service pve6
{
flags = IPv6
port = 8006
bind = 2001:xxxx:yyyy:zzzz::11
socket_type = stream
protocol = tcp
user = root
redirect = 127.0.0.1 8006
type = UNLISTED
wait = no
}

I've done the same for the spice service.
 
Hello selund
Thank you for your reply. This works great for the Interface :) So i have done the same for spice. I think i have i mistake. Or I have not understood it correctly. Here is my config:
Code:
# Simple configuration file for xinetd
#
# Some defaults, and include /etc/xinetd.d/

defaults
{

# Please note that you need a log_type line to be able to use log_on_success
# and log_on_failure. The default is the following :
# log_type = SYSLOG daemon info

}

includedir /etc/xinetd.d


service pve6
{
flags = IPv6
port = 8006
bind = 2001:XXX:XXX
socket_type = stream
protocol = tcp
user = root
redirect = 127.0.0.1 8006
type = UNLISTED
wait = no
}

service spice6
{
flags = IPv6
port = 5900
bind = 2001:XXX:XXX
socket_type = stream
protocol = tcp
user = root
redirect = 127.0.0.1 5900
type = UNLISTED
wait = no
}

The port is open, spice did not work.
Thanks.
 
Could you try to run "netstat -ntlp|grep spiceproxy" and see which pot spiceproxy listens to?
 
Your spiceproxy does not listen to any ip6 requests. You miss a line like:
Code:
tcp6       0      0 :::3128                  :::*               LISTEN              3297/spiceproxy
 
Hi, The main problem is in

/usr/share/perl5/PVE/APIDaemon.pm
/usr/share/perl5/PVE/Tools.pm
which use

IO::Socket::INET

and that's work with ipv4 only.

maybe can you try to replace it with
IO::Socket::INET6



 
Hi, The main problem is in

/usr/share/perl5/PVE/APIDaemon.pm
/usr/share/perl5/PVE/Tools.pm
which use

IO::Socket::INET

and that's work with ipv4 only.

maybe can you try to replace it with
IO::Socket::INET6



No, then the proxy will only listen on IPv6. A better way is to create two sockets. One listening on IPv4 and the other listening on IPv6 ( a socket can only listen on one port so to sockets is needed)
 
No, then the proxy will only listen on IPv6. A better way is to create two sockets. One listening on IPv4 and the other listening on IPv6 ( a socket can only listen on one port so to sockets is needed)

so, maybe "use IO::Socket::IP"

should work for both ipv4 and ipv6. (need to build from cpan to have last version, as debian version is pretty old)
 
Yes, IO::Socket::IP is the way to go. But still requires two sockets.

The version in Wheezy works fine so no need to maintain the package our self. As long as Perl is version 5.14 your a get to go and Wheezy has 5.14.4
 
Yes, IO::Socket::IP is the way to go. But still requires two sockets.

Yes, for dual stack ipv4 and ipv6, but I'm not sure that it's commonly used for proxmox hosts ?
Also, everywhere in the code, the nodes communications is done from the hostnames of hosts, so ipv4 or ipv6 , but not both at the same time.
 
Ok, i think is not so easy with proxmox and ipv6. ;( . Thinks like IO::Socket::IP ... do not work. IPV6 should be merged into PVE. It is an standart. KVM/libvirt has it, XEN, Citrix, VMware... but not PVE. I find it a pity.
 
IO::Socket::IP does work but if no socket is listening for IPv6 connections then it obviously would work. I think the coming release will solve this.
 
Bump, Sorry for taking up such an old topic, did any get this confirmed that it is working for the new release?
I guess you used xined on your pve-host as ipv4 to ipv6 proxy correct?

and also if you could resolve all the your configuration, that would be great :)
 
If your $hostname prefers IPv6 or resolves only to IPv6 then it'll be listening on IPv6. If ipv6 is being used and the net.ipv6.bindv6only sysctl is 0 (which is the default) then it'll be available via both ipv4 and ipv6.
In other words: To listen on IPv6 either
-) put only your IPv6 address for your hostname in /etc/hosts
or
-) put a higher precedence on your IPv6 address locally by adding it as a precedence entry to /etc/gai.conf with a value higher than whatever range entry covers your IPv4 address.
 
  • Like
Reactions: Dr.Alban

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!