How it works in VMmanager


VMmanager supports IPv6 networks with the prefix length 32 to 96. Every virtual machine is allocated a separate subnet, and the first IP address of the subnet is added to its interface. When adding an IPv6 address to a VM, you can select the prefix of the allocated subnet from /32 to /125. For more information on how to add an IPv6 address manually please refer to the article Assigning IP addresses with OS tools

In VMmanager, create a network and an IP pool that belongs to this network so the platform will allocate IPv6 subnets to virtual machines. A pool of IPv6 addresses in VMmanager is specified as a network in the format <network address>/<network prefix length>. 

How to add an IPv6 network to the IP pool


To add a physical network and IP pool: 

  1. Go to Networks Physical networks→ Create network
  2. Specify a Network in the format <network address>/<network prefix length>. The prefix length must be from 32 to 96. Eg, "be6a:2a1d:f079:d165::/32". 

  3. Enter the Gateway address for the network.
  4. Enable the option Create an IP pool and range.
  5. Enter the Pool name.
  6. Enter the subnets for the IP pool in IP addresses for new VM. Enter the subnets in the format <network address>/<network prefix length>. The prefix length must be from 32 to 96. Eg, "be6a:2a1d:f079:d165::/32".

    Subnets for the pool must belong to the network specified in the Network field. We recommend that you create a pool that included the whole physical network.

  7. Enable the pool on the required clusters. If the cluster uses two network interfaces, specify whether the pool belongs to the Main or the Additional network.
  8. Click on Create.

How to configure IPv6 on cluster nodes in the Hetzner and OVH data centers

To configure IPv6 routing, add IPv6 address to the cluster node: Nodes node name IP addresses IPv6  Add an IP address. For correct operation of IPv6 network, specify the address ::2 and prefix length 64. Example: 2a01:4f8:13b:9a7::2/64. VMmanager will configure the network in the node automatically.

If there is no routing with the provider's network, you can enable IPv6 proxying via NDP:

NDP is used for multicast proxying ICMP6 neighbor discovery (ND) requests. If provider's IPv6 network is routed on-link, then multicast ND request (analog of ARP request on IPv4) will come to physical interface of cluster node. Proxying allows ND requests to be forwarded to the vmbr0 bridge, and responses are sent back to the physical interface.

  1. Connect to the cluster node via SSH.
  2. Install the ndppd service:

    dnf install ndppd
    CODE
  3. Create the configuration file /etc/ndppd.conf

    Configuration file example

    proxy enp3s0f0 {
     rule 2a01:4f8:13b:9a7::/64 {
     iface vmbr0
     }
    }
    CODE

    enp3s0f0 — network interface for proxying

    2a01:4f8:13b:9a7::/64 — IPv6 subnet

    vmbr0 — bridge interface on the cluster node

  4. Add a rule for the default gateway: 

    ip -6 neigh add proxy <address> dev vmbr0
    CODE

    <address> — IPv6 address of the cluster node. For example, 2a01:4f8:13b:9a7::2