From OpenNMS
This page summaries various experiments in setting up a IPv6 test environment
Contents |
Requirements
The broad requirements for a test environment are;
- Devices with support for IPv6 MIB objects described in IPv6_Scratchpad
- Ability to connect to IPv6 internet - as evidenced by ability to navigate to ipv6.google.com
- Comprehensive and easy to set up IPv6 routing capability using RIP, BGP or OSPF using emulated or actual routers
- support for ping6 to allow testing of device discovery
Fedora NetSNMP 5.5
Dave Hustace has been trying to get NetSNMP 5.5 running on a Fedora image.
A list of mibs supported by each release of NetSNMP is given in http://www.net-snmp.org/docs/README.agent-mibs.html. This suggests that the IPv6 components of the IP-MIB (http://www.net-snmp.org/docs/mibs/ip.html) should be supported on linux in the following NetSNMP releases;
ipAddressTable Rel 5.2
ipv6InterfaceTable Rel 5.3
However NetSNMP reported bug fixes /patches in 5.5 for a number of IPv6 issues (http://www.net-snmp.org/about/ChangeLog.html) So this is the preferred agent for testing.
Vyatta
UPDATE 2nd august 2010 - Vyatta have just released verion 6.1 beta which contains support for DHCPv6 and IPV6 mibs. SNMP support has been extended to support RFC 2454 (IP Version 6 Management Information Base for the User Datagram Protocol) and RFC 2465 (Management Information Base for IP Version 6). You can configure any combination of IPv4 and IPv6 addresses for SNMP community SNMP and trap destinations see http://www.vyatta.org/files/VyattaRN_R6.1_v01.pdf The documentation has been updated to release 6.1 (see [| Release 6.1 notes ])
Craig Gallen has experimented with Vyatta to see if it can be used as an open source IPv6 router for test purposes. This summaries the findings so far. Vyatta is a commercially supported open source router based upon Debian. (http://www.vyatta.com/). Vyatta is available in Community and Enterprise editions. All of these experiments were performed using the Vyatta Core 6.0 (VC6.0) LiveCD iso June 01, 2010 Vyatta is basically Quagga (http://www.quagga.net/about.php) with a Juniper JUNOS style CLI. Good PDF documentation is available if you register with the site at http://www.vyatta.com/downloads/documentation.php .
The three documents of particular interest are
- Vyatta_QuickStart_R6.0_v05.pdf This gives good instructions on how to quickly get a vyatta LiveCD working
- Vyatta_IPv6_R6.0_v03.pdf This gives a unified description on how to get IPv6 working on Vyatta
- Vyatta_BasicSystemRef_R6.0_v03.pdf This provides a section on using SNMP with Vyatta
Setting Up
A good tutorial on using vyatta in a virtual network environment is provided at
although this uses virtualbox, the basic principles are the same for VMWare.
The simplest - and possibly the most resource efficient approach is to create small vm's which boot using virtual cdroms tied to the iso image and run entirely in ram. The Vyatta QuickStart guide describes how to store the configuration of each router on floppy drives (which can also be virtual).
Once you have installed a basic version, it is possible to follow the ipv6 tutorial examples in Vyatta_IPv6_R6.0_v03.pdf There are also a really good set of IPv6 tests outlined in the following email trail: http://www.vyatta.org/forum/viewtopic.php?t=3278&sid=d08823056359494a8a5529233b8631d2
I also tried following the instructions to install an image on a virtual hard drive. The Vyatta_InstallationAndUpgrade_R6.0_v05.pdf guide describes how a system can be upgraded to the latest components after installation. I tried this but presently the (VC6.0) LiveCD iso is up to date.
The image is basically a Debian distribution so additional Debian software can be installed. (However I tried updating the NetSNMP installation on this box with no success - see later )
Building your own version of Vyatta
instructions are provided to build a vyatta live cd from source at http://www.vyatta.org/downloads/source-code. I tried to follow the instructions but got stuck when I found that the dependencies depend upon a git repo which is was either down or not public.
SNMP
The SNMP capabilities of Vyatta are covered in Vyatta_BasicSystemRef_R6.0_v03.pdf This covers the following MIBs
- RIP RFC 1724, RIP Version 2 MIB Extension
- SNMPv2-MIB RFC 3418
- OSPF2-MIB RFC 1850, OSPF Version 2 Management
Information Base
- OSPF Trap MIB Module from RFC 1850, OSPF
IF-MIB RFC 2863, The Interfaces Group MIB
- BGP4-MIB RFC 1657, Definitions of Managed Objects for the Fourth Version of Border Gateway Protocol (BGP-4)
These are basically the same mibs as provided by the upstream Quagga NETsnmp integration (see SNMP section in http://wiki.quagga.net/index.php/Main/AddRes)
Vyatta uses NetSNMP version 5.4 but it has replaced the standard configuration files which means that the standard NetSNMP mibs are not supported. The configuration is generated from the (junos like) CLI interface and some description of how it works is given in the following email trail; http://www.vyatta.org/forum/viewtopic.php?t=1600&sid=b46c97b0e37aa9af362d1717414aa7d4
NetSNMP version 5.4 also has a memory leak problem logged under bug https://bugzilla.vyatta.com/show_bug.cgi?id=4131
Since I needed the IP_MIB which comes with NetSNMP version 5.4 and wasn't very interested in the MIBs provided as standard in Vyatta, I tried to replace NetSNMP version 5.4 with NetSNMP version 5.5 for debian found at http://download.opensuse.org/repositories/net-snmp/Debian_5.0/i386/
However, the configuration used in Vyatta made it very difficult to see how the existing NetSNMP version 5.4 could be replaced. Indeed, when I tried to replace the NetSNMP - this prevented the other Vyatta routing daemons from starting because they couldn't configure NetSNMP correctly.
There were some indications in the email lists that the next release of Vyatta (Larkspur - Target 3Q2010 http://www.vyatta.org/documentation/product-roadmap ) might migrate to version NetSNMP 5.5. However when I looked at the larkspur code tree, version 5.4 was still being used. Give the comments above about Vyatta providing the same MIBS as the upstream Quagga NETsnmp integration, I think that additional MIB support will depend upon it NetSNMP version 5.5 being provided in the upstream projects - and may be a longer time in coming.
conclusions
Vyatta provides a very capable platform for easily configuring and testing IPv6 routing. However the limited MIB support means that it cannot be used out of the box for testing IPv6 discovery with OpenNMS. With some more work it may be possible to replace the standard vyatta NetSNMP configuration with a hacked version of NetSNMP v5.5. This would provide IP_MIB support for the interfaces but would not provide the vyatta routing mibs at the same time.
GS3
Mike Huott recommended trying GS3 which is an open source network simulator which runs real images of Cisco and Juniper routers in a graphical environment.
See http://www.gns3.net/ This appears to be very powerful but requires real Juniper and Cisco images to run. However the images can only be obtained if you have an account with these vendors.






