pveproxy not listening on IPv6, only IPv4

kobuki

Active Member
Dec 30, 2008
458
22
38
I'd like to access my PVE servers on their IPv6 addresses in a DC with native IPv6 available. Currently it's impossible as the pveproxy service is not listening on IPv6. The systems have proper dual stack setup, default (high) IPv6 preferences. Could it be fixed so the pveproxy service listens on both IPv6 and IPv4 as all other standard services on the system?
 

fireon

Famous Member
Oct 25, 2010
3,509
264
103
38
Austria/Graz
iteas.at
You must add the IPV6 address too in the hostsfile, same like the ipv4. Then i works great. I have here IPV6 only on an Cluster.
 

kobuki

Active Member
Dec 30, 2008
458
22
38
The systems are dual stack, not IPv6-only. If I add the v6 address as well, won't it create confusion in the cluster communication and other things?

On the other hand, the HNs use dynamic v6 addresses via SLAAC. This is a technical limitation in that system. So I can't just add an address because it will change over time. The daemon would need to listen on the wildcard v6 address as it does with v4. Usually it's accomplished by opening a listening socket on the wildcard v6 address ( :: ) and that will automatically open the v4 listening socket on the wildcard v4 address (0.0.0.0) as well. If that's not possible (eg. an exception is thrown or some other error is observed) the daemon should fall back to v4 only. So in fact it's very simple, I don't understand why it hasn't been implemented that way.
 

fireon

Famous Member
Oct 25, 2010
3,509
264
103
38
Austria/Graz
iteas.at
On the other hand, the HNs use dynamic v6 addresses via SLAAC
If you have really SLAAC (on PVE default this is not enabled), add your global address to your hosts and it will work. Better add your global address as static in the PVE webinterface, and you haven't this problem. Or understand i something wrong...?
 

kobuki

Active Member
Dec 30, 2008
458
22
38
If you have really SLAAC (on PVE default this is not enabled), add your global address to your hosts and it will work. Better add your global address as static in the PVE webinterface, and you haven't this problem. Or understand i something wrong...?
SLAAC provides a dynamic address. At least it used to, in that environment. Now they seem to provide a dynamically assigned, but static EUI-64 address for the servers (makes a lot more sense, honestly). I can add that to the hosts file, but see my other concerns. Plus I see the whole fiddling around with hosts file entries unnecessary as this is purely correct application of programming techniques to listen on all addresses of both address families.
 

Simon Mott

Member
May 1, 2016
39
0
6
40
Hi @kobuki

I've had to solve this myself when Dual-stacking my own setup - Shameless plug of my site because I documented how to do it :)

https://www.simonmott.co.uk/2018/06/dual-stacking-proxmox-web-ui-pveproxy/

Essentially, you edit /etc/hosts and update the IPv4 binding for your node to be IPv4-mapped-IPv6.

So for example, change
Code:
10.0.0.100 pvehost.some.domain pvehost pvelocalhost
to
Code:
::ffff:10.0.0.100 pvehost.some.domain pvehost pvelocalhost
Restart pveproxy and then it should work on both your IPv4 and IPv6 address.

Wonder if its worth the Proxmox team considering doing this by default? Or at least having a user friendly option for it somewhere
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE 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 your own in 60 seconds.

Buy now!