Skip to content

Optional: Enabling monitoring on IPv6 networks

This procedure describes how to enable monitoring of devices that are located on an IPv6 network. The network must be reachable from the IPv4 network environment in which Control Center is deployed. Use this procedure to route an IPv6 address block to Control Center using Docker's virtual bridge interface, docker0. Resource Manager can monitor IPv6 devices that have addresses in the routed block.

To perform this procedure, each Control Center host needs a unique IPv6 prefix routed to it by an upstream router, and the Docker service on Control Center host needs to be configured to forward IPv6 packets.

The subnet for Docker containers should at least have a size of /80, so that an IPv6 address can end with the container’s MAC address and you prevent NDP neighbor cache invalidation issues in the Docker layer.

For example, a multi-host deployment with one master host and three delegates could have the IPv6 configuration in the following table.

Control Center host IPv6 link prefix IPv6 routed prefix
Master 2001:DB8:ABCD:1000::500/64 2001:DB8:ABCD:2000::/64
Delegate 1 2001:DB8:ABCD:1000::501/64 2001:DB8:ABCD:2001::/64
Delegate 2 2001:DB8:ABCD:1000::502/64 2001:DB8:ABCD:2002::/64
Delegate 3 2001:DB8:ABCD:1000::503/64 2001:DB8:ABCD:2003::/64

The following example shows how to configure the static routes in the preceding table on an upstream Cisco router:

ipv6 route 2001:DB8:ABCD:2000::/64 2001:DB8:ABCD:1000::500
ipv6 route 2001:DB8:ABCD:2001::/64 2001:DB8:ABCD:1000::501
ipv6 route 2001:DB8:ABCD:2002::/64 2001:DB8:ABCD:1000::502
ipv6 route 2001:DB8:ABCD:2003::/64 2001:DB8:ABCD:1000::503

Perform the following steps on each Control Center host:

  1. Log on to the Control Center host as root, or as a user with superuser privileges.

  2. Configure IPv6 packet forwarding.

    1. Open /etc/sysctl.d/ipv6.conf with a text editor.

    2. Add or edit the following line:

      net.ipv6.conf.all.forwarding=1
      
    3. Save the file, and then close the text editor.

  3. Enable IPv6 packet forwarding without rebooting the host.

    sysctl -w net.ipv6.conf.all.forwarding=1
    
  4. Configure Docker for IPv6 communications.

    1. Open /etc/sysconfig/docker with a text editor.

    2. Add the following flags to the end of the OPTIONS declaration. Replace Subnet-Block with the IPv6 subnet to route to Control Center, in CIDR notation:

      --ipv6 --fixed-cidr-v6="Subnet-Block"
      
    3. Change the delimiter of the OPTIONS declaration to the apostrophe character ('). The default delimiter of the OPTIONS declaration is the quotation mark character ("), which is the same delimiter used with the --fixed-cidr-ipv6 flag.

    4. Save the file, and then close the text editor.

  5. Restart the Docker service.

    systemctl restart docker
    

After all Control Center hosts are configured, test IPv6 by using the Docker container of the zenping service to ping a known address:

serviced service attach zenping ping6 -c 1 ipv6.google.com

If the ping is successful, Docker is able to resolve IPv6 addresses and you can monitor devices on the IPv6 network.

If you are unable to reach an IPv6 address, or you need help with this procedure, contact Zenoss Support.