Support dynamically assigned IPv6 addresses on Plesk for Linux
Currently, Plesk for Linux filters out IPv6 addresses that were assigned dynamically by use of Stateless Address Autoconfiguration, or other means: https://plesk.zendesk.com/hc/en-us/articles/115000239114
This greatly limits IPv6 functionality in Plesk due to the fact that all hyperscalers (Amazon, Google, Azure, Vultr, etc.) provide IPv6 addresses using the autoconfiguration method.
Beta support for dynamic IPv6 addresses was added to Plesk 18.0.27 version – https://docs.plesk.com/release-notes/obsidian/change-log/#plesk-18027
—
IG
-
Alexander Yamshanov commented
Hi Chris,
If I am not mistaken, historically, Plesk for Windows supports dynamic IPv6-addresses; but if you have some issues, let's discuss it in the Plesk Forum (https://talk.plesk.com) :)
-
Chris Danks commented
why isn't this supported on windows?
-
Anonymous commented
Any info on this?
-
Anonymous commented
I understand that Plesk recommends people to set up static IP addresses over dynamic assignment.
In cloud environments it is however very common to have the address assignments taken care of by the cloud platform / through cloud init and it becomes more & more cumbersome to make Plesk work in these environments. In these envionments, while still using dynamic address allocation, the system normally will have the same IP address assigned all the time, unless it is being transfered, migrated or cloned. And the OS can take care of properly starting services like nginx as soon as the network is considered up (i.e. network-online.target).
I'm not directly saying Plesk must support dynamic address assignment (although I think it should), but at least not make it impossible.
Maybe my perception of how to use Plesk correctly in these environments is flawed, so please correct me if I'm wrong or point me to the documentation that would clarify correct usage of Plesk in environments like these.
For the people who run into this, I came up with a workaround for CentOS 7 (dhclient):
1. Create a dhclient enter hook changing the life time received from the DHCPv6 sollicitation:
vi /etc/dhcp/dhclient-enter-hooks
#!/bin/sh
[ -n "${new_max_life}" ] && new_max_life=4294967295
[ -n "${new_preferred_life}" ] && new_preferred_life=42949672952. Make the script executable:
chmod 0755 /etc/dhcp/dhclient-enter-hooks
3. wait until the next lease renewal and verify if the life time is changed to "forever":
ip -6 addr ls
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 state UNKNOWN qlen 1000
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: entX: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9001 state UP qlen 1000
inet6 xxxx:xxxx:xxxx:xxxx::nnnn/128 scope global
valid_lft forever preferred_lft forever
inet6 fe80::xx:xxxx:xxxx:xxxx/64 scope link
valid_lft forever preferred_lft foreverNote: this will break IPv6 compliance, as your system should honour the life time received in the DHCPv6 sollicitation, but should not be an issue as long as you don't change the IPv6 address in the cloud environment.