Page tree
Skip to end of metadata
Go to start of metadata

This document is for a previous release of cPanel & WHM. To view our latest documentation, visit our Home page.

For cPanel & WHM 11.48

(Home >> IP Functions >> Enable IPv6)


When you enable IPv6 on a server, you can assign an IPv6 address to accounts on that server. This feature allows users with root access to assign an IPv6 address to a specific account. 

For more information about IPv6, read our What is IPv6? documentation.


  • When you enable IPv6, the system erases any IPv6 addresses that you assigned without this feature for selected users.
  • If you use IPv6, the  service network restart  command removes the IPv6 addresses from the network device. To restart your IPv6 configuration, you must  run the  /scripts/cpservice cpipv6  command after you restart the network service. For more information, read our The cpipv6 Script documentation.
  • Binaries such as ifconfig and netstat use the net-tools package. Install the iproute2 package and run the ip and ss commands.


If you see an Apache must be recompiled or Apache should be recompiled warning at the top of this interface, recompile EasyApache

What does IPv6 affect?

Before you enable IPv6, consider the following effects that this action causes on your server:

IPv4 address retention and high IP volume adjustments

When you enable IPv6, each account retains ownership of its IPv4 address and the original IPv4 address remains fully functional in the WHM interface. If you assign an IPv6 address to an account, you essentially double the number of IP addresses that you assigned to that account.

The IPv6 RFCs allow a large number of IP addresses on each server. However, the system's available resources limit the Linux kernel, userland tools, and daemons, and they cannot handle large assignments of IP addresses. You can bind up to 512 IP addresses (both IPv4 and IPv6 addresses) to a server before the server starts to overload.

  • If you use 512 or fewer IP addresses, use the BIND nameserverThe BIND nameserver binds to all IP addresses on a server and does not clutter the  /etc/named.conf  file.


    We  strongly  recommend that you use BIND if you assign more than 512 IPv6 addresses, or if you require cached nameservers.

  • If you use 2,000 or more IP addresses, you may need to adjust the sysctl variable in the /proc/sys/net/ipv6/route/max_size file. 

    • The default variable is 4096.

    • To increase this number, run the sysctl net.ipv6.route.max_size=VALUE command, where VALUE is the new maximum that you wish to set.


When you install IPv6 on a server, the system sets the Listen directive to Listen[::]:80, which listens on all IPv6 addresses on the server.

Apache sets a NameVirtualHost directive, and then adds the IPv6 address for a domain to the VirtualHost directives for each domain.

The virtual hosts change from VirtualHost IPv4 address:port to VirtualHost IPv4 address [IPv6 address]:port. For example:

<VirtualHost [2001:db8:28a0:2004:227:eff:fe1d:f770]:80>




For more information about the Apache configuration, read our Apache documentation.


When you install IPv6 on a server, your DNS zone files retain the IPv4 address, but the system adds an additional IPv6 AAAA entry to the DNS zone file. For example: IN AAAA 2001:db8:28a0:2004:227:eff:fe1d:f770 

The system assigns an IPv6 address to an account and deploys it to each domain. MyDNS and NSD both support up to 512 IP addresses. This is sufficient for a VPS with limited IP addresses.


  • Currently, BIND is the only daemon that fully supports IPv6.
  • For more information, read our Advanced DNS Zone Editor documentation.

IPv6 configuration

The /var/cpanel/userdata files for an account list the current IPv4 address for an account.

  • When you enable IPv6, the system also includes IPv6 addresses in this file.
  • When you enable IPv6 for an account, all of the account's users, resellers, subdomains, and addon domains share the same IPv6 address.

The system adds the following files to the /var/cpanel/userdata files:


Select an Account

To select an account whose IPv6 information you wish to review, perform the following steps:

  1. Select the desired username.
    • To search for a specific username or primary domain, enter the username or primary domain in the Filter Accounts text box.
    • Click the select all icon () to select all accounts.

  2. After you select an account, the account's information displays. The system pulls this information from the account's /var/cpanel/userdata files.

Enable IPv6 for an account

If the system has not assigned an IPv6 address to the selected account, a No IPv6 ranges have been added. notification displays. 

To assign an IPv6 address to the selected account, perform the following steps:

  1. Select the desired IPv6 address range.
    • Use WHM's IPv6 Ranges interface ( Home >> IP Functions >> IPv6 Ranges ) to add IPv6 ranges.
    • You must select a range that includes available addresses.
    • Each server with IPv6 enabled has its own IPv6 address. You cannot assign that IPv6 address to accounts.
      • Your server's IPv6 address may be a Stateless Autoconfigured Address (SLAAC) based on your MAC address. This address is tied directly to your hardware and changes if your hardware changes.
      • For example, if you replace your ethernet card, the new card receives a new IPv6 address, and the old address's VirtualHosts will have the wrong IPv6 address.
  2. Click Enable AccountWhen you enable IPv6 on an account, the system binds that IPv6 address to your server.



An enabled account maintains its IPv6 address information even if you enable it again with a different IPv6 address range.

Enabled account information

If the system has assigned an IPv6 address to the account, the interface displays the following information:

  • IPv6 Address — The account's IPv6 address.
  • Primary Domain — The account's main domain.
  • IPv6 Proxy Subdomain — Click this link to navigate to, which resolves the newly assigned IPv6 address. This URL shows the website's home interface.
  • Click Disable Account to remove the account's IPv6 address.


    When you disable IPv6 on an account, the system unbinds that IPv6 address from your server and the account loses the address. If you enable IPv6 on that account again, the system assigns it a different IPv6 address.

Related documentation

  • WHM Scripts — Run the /usr/local/cpanel/scripts/ configure_rh_ipv6_firewall_for_cpanel script to manage your IPv6 firewall.