IPv6 support in vSphere
With all the talk lately of IPv4 addresses being exhausted on the internet I thought I would post a snippet from my book Maximum vSphere that covers IPv6 support in vSphere. This is just a small part of a whole chapter on networking so for more good networking information be sure an check out my book, currently only $28.22 on Amazon.
Another new feature in vSphere is support for IP version 6 (IPv6) which is the successor to the traditional IPv4 IP addresses that are commonly used today. IPv6 was created to deal with the exhaustion of the number of IP addresses that IPv4 supported. IPv4 uses 32-bit IP addresses which yields a maximum number of around 4 billion unique IP addresses. IPv6 on the other hand uses 128-bit IP addresses which results in an insanely high number of unique IP addresses (340 undecillion or 3.4 x 10 to the power of 38). Besides more IP addresses IPv6 also has many enhanced features over IPv4 like stateless host auto-configuration to obtain IP addresses, mandatory IPSEC for security and mandatory multi-cast. IPv4 addresses are all numeric and an IPv4 address is 4 bytes, also referred to as octets (4 bytes of 8 bits = 32-bits) such as 192.168.1.125 or in binary it would be 11000000 10101000 00000001 11111101. Each byte contains 8 bits which results in possible values of 0 through 255 or a total of 4,294,967,296 possible IP addresses.
IPv6 addresses are 16 bytes (128 bits) and represented in hexadecimal and a typical IPv6 address is in the following form: hhhh:hhhh:hhhh:hhhh:hhhh:hhhh:hhhh:hhhh. IPv6 addresses have both a full and shorthand notation, the full notation displays the whole address of 8 sections, i.e. E3D7:0000:0000:0000:51F4:9BC8:C0A8:7625; the shorthand notation drops the extra zeros which are common in IPv6 addresses, i.e. E3D7::51F4:9BC8:C0A8:7625. The double colon denotes the zero sections that were dropped. Support for IPv6 was enabled in vSphere for the networking in the VMkernel, Service Console and vCenter Server. Support for using IPv6 for network storage protocols is currently considered experimental and not recommended for production use. Mixed environments of IPv4 and IPv6 are also supported.
To enable IPv6 on a host you simply select the host and choose the Configuration tab and then Networking. If you click the Properties link (not the vSwitch Properties) there is a checkmark to enable IPv6 for that host. Once enabled you must restart the host for the changes to take effect. Once restarted you will see in the VMkernel, Service Console (ESX) or Management Network (ESXi) properties of the vSwitch both an IPv4 and IPv6 address as shown below.
You can edit the IPv6 settings and specify to obtain IPv6 addresses automatically through DHCP or through router advertisements as well as set a static address. While IPv6 is better than IPv4 it has not seen widespread adoption and in order to use it your network environment needs to support it, this includes DNS/DHCP servers, switches and routers. In many cases IPv6 is tunneled through IPv4 networks so both can co-exist together.
One additional note to add about IPv6 support in vSphere, as of vSphere 4.1, IPv6 is supported for:
- Guest virtual machines
- ESX/ESXi management
- vSphere client
- vCenter Server
- IP storage (iSCSI, NFS)-experimental
NOTE: IPv6 is not supported for vSphere vCLI, VMware HA and VMware FT logging.
Update from VMware on vShield support:
We have support for IPv6 on the roadmap for vShield Edge to support IPv6 on external interface. For vShield App, Zones and Endpoint, we will be agnostic to v4 vs. v6 being as layer 2. Beyond that, vShield manager will support all UI for the v6 configs. Regarding timeframe, we may phase in the support for this over a few releases and exact details are in works.