pveproxy not listening on IPv6, only IPv4

kobuki

Renowned Member
Dec 30, 2008
474
28
93
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?
 
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.
 
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.
 
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...?
 
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.
 
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, 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!