Knowledge Base ZPE Systems, Inc. FAQ

            How to set NodeGrid via ZTP on IPv6 network

            Zero Touch Provisioning (ZTP) is a method to provision network devices such as switches and your NodeGrid, automatically, with no manual interaction.

            It will load configuration file during DHCP request from the IPv6 network, as well as firmware upgrade.

             

            For the ZTP to work on IPv6 network, you will need to have

            • a DHCPv6 server
            • a TFTP server
            • the main router of the network with Router Advertisement properly configured (see links at the bottom of the page for more information)

             

            Just for a reference purpose, we used a Linux server with ISC-DHCP server and TFTP server, and a Ubuntu server as a router.

             

            Router

            Below is an example of Router Advertisement Daemon (radvd) on our Ubuntu server (enable AdvOtherConfigFlag) - Snippet taken from Ubuntu’s /etc/radvd.conf file.

             

            interface eth0

            {

                      AdvSendAdvert on;

                      AdvOtherConfigFlag on;

                      prefix 2601:641:100:c401::/64

                      {

                      };

            };

             

            DHCPv6 Server

            You can send IP information and Configuration file based on the MAC address or the Serial Number of the NodeGrid. For Serial Number, there are 2 methods: host identifier and class.

             

            See examples of configuration for each option.

             

            DHCPv6 configuration option 1 – MAC Address with Host Identifier

            ZTP matching NodeGrid’s MAC address via host identifier. Snippet taken from /etc/dhcp/dhcpd6.conf:

             

            option space zpe code width 2 length width 2;

            option vsio.zpe code 42518 = encapsulate zpe;

            option zpe.ztp-signature code 1 = text;

            option zpe.ztp-server-url code 2 = text;

            option zpe.ztp-image-filename code 3 = text;

            option zpe.ztp-config-filename code 4 = text;

            option dhcp6.vendor-class code 16 = string;

             

            # host-identifier for NSC-T48 with MAC Address 00:90:fb:55:f4:b0

             

            host nsc48 {

            host-identifier option dhcp6.client-id "\000\003\000\00100:90:fb:55:f4:b0";

            # note that client-id format is “

            option zpe.ztp-signature "ZPE-ZTP";

            option zpe.ztp-server-url "tftp://[2601:641:100:c401::2]:69";

            option zpe.ztp-config-filename "/nodegrid/config/ZTP.ports.cfg";

            }

             

             

            DHCPv6 configuration option 2 – Serial Number with Host Identifier

            ZTP matching NodeGrid’s Serial number via host identifier. Snippet taken from /etc/dhcp/dhcpd6.conf (examples for a NSC-T96 and NSC-T48):

             

            option space zpe code width 2 length width 2;

            option vsio.zpe code 42518 = encapsulate zpe;

            option zpe.ztp-signature code 1 = text;

            option zpe.ztp-server-url code 2 = text;

            option zpe.ztp-image-filename code 3 = text;

            option zpe.ztp-config-filename code 4 = text;

            option dhcp6.vendor-class code 16 = string;

             

            # host-identifier for NSC-T96 with serial number 2044SP4222

             

            host nsc96 {

            host-identifier option dhcp6.vendor-class "\000\000\246\026\000\031ZPESystems:NSC:2044SP4222";

            # note the number 31 above represents the Octal number of characters of "ZPESystems:NSC:2044SP4222"

            option zpe.ztp-signature "ZPE-ZTP";

            option zpe.ztp-server-url "tftp://[2601:641:100:c401::2]:69";

            option zpe.ztp-config-filename "/nodegrid/config/ZTP.ports.cfg";

            }

             

             

            # host-identifier for NSC-T48 with serial number 001551356

             

            host nsc48 {

            host-identifier option dhcp6.vendor-class "\000\000\246\026\000\030ZPESystems:NSC:001551356";

            # note the number 30 above represents the Octal number of characters of "ZPESystems:NSC:2044SP4222"

            option zpe.ztp-signature "ZPE-ZTP";

            option zpe.ztp-server-url "tftp://[2601:641:100:c401::2]:69";

            option zpe.ztp-config-filename "/nodegrid/config/ZTP.ports.cfg";

            }

             

            DHCPv6 configuration option 3 – Serial Number with Class

            ZTP matching NodeGrid’s Serial number via class. Snippet taken from /etc/dhcp/dhcpd6.conf (examples for a NSC-T96 and NSC-T48):

             

            option space zpe code width 2 length width 2;

            option vsio.zpe code 42518 = encapsulate zpe;

            option zpe.ztp-signature code 1 = text;

            option zpe.ztp-server-url code 2 = text;

            option zpe.ztp-image-filename code 3 = text;

            option zpe.ztp-config-filename code 4 = text;

            option dhcp6.vendor-class code 16 = string;

             

            # define class for NSC with serial number 2044SP4222

            class "nsc96" {

            match if substring(option dhcp6.vendor-class,6,25) = "ZPESystems:NSC:2044SP4222";

            }

            pool6 {

            allow members of "nsc96";

            range6 2601:641:100:c401::8100 2601:641:100:c401::8101;

            option zpe.ztp-signature "ZPE-ZTP";

            option zpe.ztp-server-url "tftp://[2601:641:100:c401::2]:69";

            option zpe.ztp-config-filename "/nodegrid/config/ZTP.ports.cfg";

            }

            # define class for NSC with serial number 001551356

            class "nsc48" {

            match if substring(option dhcp6.vendor-class,6,24) = "ZPESystems:NSC:001551356";

            }

            pool6 {

            allow members of "nsc48";

            range6 2601:641:100:c401::8102 2601:641:100:c401::8103;

            option zpe.ztp-signature "ZPE-ZTP";

            option zpe.ztp-server-url "tftp://[2601:641:100:c401::2]:69";

            option zpe.ztp-config-filename "/nodegrid/config/ZTP.ports.cfg";

            }

             

             

            Notes

            Links to examples of Router Advertisement configuration of major routers manufacturers:

            Cisco NCS5500

            http://www.cisco.com/c/en/us/td/docs/iosxr/ncs5000/system-setup/60x/b-ncs5000-system-setup-guide-60x/b-system-setup-ncs5500_chapter_0111.html#concept_F52D0A35637E4583972405EA4164C229

            Updated: 23 Nov 2016 05:58 AM
            Helpful?  
            Help us to make this article better
            0 0