Optional: Enabling monitoring on IPv6 networks

This procedure describes how to configure Zenoss Core 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. Zenoss Core can monitor IPv6 devices that have addresses in the routed block.

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

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 host in a Control Center cluster:

  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 cluster 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.