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 restartcommand removes the IPv6 addresses from the network device. To restart your IPv6 configuration, you must run the
/scripts/cpservice cpipv6command after you restart the network service. For more information, read our The cpipv6 Script documentation.
- Binaries such as
netstatuse the net-tools package. Install the
iproute2package and run the
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 nameserver. The BIND nameserver binds to all IP addresses on a server and does not clutter the
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
sysctlvariable in the
The default variable is
- To increase this number, run the
sysctl net.ipv6.route.max_size=VALUEcommand, where
VALUEis 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:
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:
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.
/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
Select an Account
To select an account whose IPv6 information you wish to review, perform the following steps:
- 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.
- After you select an account, the account's information displays. The system pulls this information from the account's
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:
- 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.
- Click Enable Account. When 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
ipv6.example.com, 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.
- WHM Scripts — Run the
configure_rh_ipv6_firewall_for_cpanelscript to manage your IPv6 firewall.