Plesk IPv6

Submitted by George Moses on Tue, 2010-11-09 20:36

After some years of experience with Plesk I was amazed Plesk still didn't support IPv6. After all, IPv6 is around for years, as it is on Linux on which Plesk runs. So I set myself a goal: implement IPv6 access for public services on a dedicated server using Plesk.

Ingredients

Recipe

IPv6 addresses on server

Getting IPv6 on Plesk starts with configuring your server with IPv6 addresses. So setup your server with multiple IPv6 addresses. I used a scheme where I assign the server with one IPv6 address and use several ones for each website hosted. This requires of course a block of IPv6 addresses, preferably a /56 block. As there are so many address in this block virtual hosting in Apache is not needed any more, you can configure each website with it's own IPv6 address.

Note that I don't use the DNS service on Plesk, but use separate Name servers which I used to add AAAA-records to the domain.

IPv6 firewall, deactivate Plesk firewall

As Plesk includes a Firewall module which (by default) only protects IPv4 network ports, it is necessary to implement an alternate firewall solutions. So I used the Linux built-in firewall: IP Tables. OpenSUSE has some convenient Yast2 tools to configure your firewall, so it's easy. First, you need to de-install the Plesk Firewall module and reboot the server. After that you can configure the IPTables firewall with Yast2, which will also install an IPv6 IPTables configuration.

Apache on IPv6 with Plesk configuration

The method I used for mo6.nl to configure Apache is to copy the IPv4 config of the Plesk domain /srv/www/vhosts/mo6.nl/conf/httpd.include to a new file httpd-ipv6.include, to change the IPv4 address(es) in the config file to a IPv6 address allocated to the domain and to include the new config file in a separate Apache config file: /etc/apache2/conf.d/zz011_ipv6.conf.

Enabling Apache IPv6 config on Plesk

    Include /srv/www/vhosts/mo6.nl/conf/httpd-ipv6.include
    <VirtualHost [2a01:238:4368:7700::4:80]:80>

Note that you have to keep the /srv/www/vhosts/mo6.nl/conf/httpd-ipv6.include in sync with the httpd.include manually. So any changes made in the hosting config for the domain in Plesk need to be synchronized in the httpd-ipv6.include file.

On http://www.tozz.nl/wordpress/2010/08/plesk-ipv6/ you can find a script which creates an IPv6 config file for Apache automatically based on the IPv4 config.

Postfix on IPv6

After activating IPv6 on the server and configuring the firewall, Postfix is automatically available over IPv6. No (extra) configuration necessary. To have mail delivery to your server you'll have to setup AAAA records for your MX server (subdomain mail).

What's next?

So, what's next? Making the Plesk interface accessible via IPv6? I don't think this a high priority because the interface isn't primarily a public service. Also, supporting IPv6 on the Plesk software probably isn't that easy and will be addresses in upcoming Plesk releases.

Making the Courier software (pop3/imap services) accessible via IPv6 will be my next target.

Stay tuned.

Comments?

Comments or suggestions for the above? Need more explanation? Please leave a comment via Twitter: @mo6nl.