Hi all,
I’m running WHMCS on an Enhance application server and noticed that IPv6 behaves differently on the host versus inside the website container.
On the host itself, IPv6 works normally:
- global IPv6 address present
- IPv6 default route present
- outbound IPv6 works
However, when I SSH into the website as the website user, the container only has a link-local IPv6 address:
inet6 fe80::.../64 scope link
and the IPv6 routing table only contains the local link route:
fe80::/64 dev eth0
There is no global IPv6 address and no IPv6 default route inside the website container.
As a result:
curl -4s https://ifconfig.co
works and returns the public IPv4 address, while:
curl -6s https://ifconfig.co
fails with Network is unreachable.
I also tested this from PHP running inside the website itself. IPv4 works, but forced IPv6 outbound connections fail as well.
Inbound IPv6 to the website works correctly, so the site itself is reachable over IPv6. The issue seems to be specifically outbound IPv6 from the isolated website/container network namespace.
This became noticeable while troubleshooting WHMCS licensing. The host has working IPv6, but the WHMCS PHP environment appears to make outbound connections only over IPv4. I’m not yet certain whether that caused the licensing issue, but it did expose the IPv6 difference between the host and the website container.
My questions are:
- Is outbound IPv6 from individual website containers currently supported by Enhance?
- If yes, is there a supported setting or configuration required to give website containers a global IPv6 address and default route?
- Is inbound IPv6 currently handled on the host and then forwarded internally to the website container?
- Is IPv4-only outbound connectivity from website containers expected behaviour?
- If outbound IPv6 is supported, what is the recommended way to configure it without making manual namespace/routing changes that Enhance may overwrite?
For reference, the website container has a private IPv4 address and default gateway, while the host itself has a normal global IPv6 address and IPv6 default route.
I’d mainly like to understand whether this is expected behaviour or whether my Enhance IPv6 configuration is incomplete.
Thanks!