Requirements
Environment
NeDi unfolds its full potential with CDP and/or LLDP capable devices in the core of your network. It can also include other network components, but it works best, when those are located at the network perimeter.
The scripts need SNMP read access for all network hardware. Privileged CLI access can be used to get the MAC address table on IOS based switches (supports port security) or access points (don't seem to provide mac-address-tables via SNMP), but in general SNMP would be sufficient. The configurations are read via CLI as well (Note: I decided to do it this way, since I don't like TFTP in conjunction with SNMP write access. Both are a UDP based security nightmare).
Network Devices
NeDi requires unique device names, since this is the primary key. It used to be the serial#, but this led to problems supporting all possible devices. The domain part will be discarded, since CDP is not (yet?) consistent with that, which leads to problems with finding device links.
NeDi is capable of visualizing your network automatically. In order to do that, NeDi needs a certain format in the SNMP location string (separator can be set in nedi.conf with locsep):
Region;City;Building;Floor;[Room;][Place within room;][Whatever additional info you want]
Here's an example:
Switzerland;Zurich;Main Station;5;DC;Rack 17;Height7-8
Cities show their size based on devices:
| Icon | Size | # of Devices |
|---|---|---|
| small | 1-2 |
| medium | 3-9 |
| large | 10-19 |
| very large | 20+ |
The same applies to Buildings where as important ones can be “painted” red using redbuild:
| Icon | Size | # of Devices |
|---|---|---|
| small | 1-2 |
| medium | 3-9 |
| large | 10-19 |
| very large | 20+ |
Layer 3 devices are indicated by router symbol(s) next to the building icon.
Network Nodes (computers, printers etc.)
The MAC address is used as primary key for the nodes. In order to support non Cisco devices, the vlan cannot be taken into account. As for the vlans there is a similar issue, which will disregard the VTP domain dependency.
Server Hardware
The computer requirements depend on the size of your network. (Surprised?). I'm developing NeDi on a P4 / 2.4GHz with 1 GB RAM. I guess you'll find out for yourself, what you'd need, if you fall asleep while waiting for a report. A friend of mine runs NeDi on a PII/300 with some 12'000 nodes and about 280 devices. He waits a couple seconds for a report, but other than that it works quite nicely.
The NeDi script uses up to 40MB of RAM while scanning my network and is known to be able to cope with networks of 2000+ devices…
If you want to include Tobi's RRDtool, you'll need ~50KB disk storage per interface. In our case we got around 500 MB used for our RRDs.
Server Software
We use NeDi on Scientific Linux 4 at the moment. It's been reported to work on other Linux distributions, Mac OSX™, Solaris™ and even Windows™. The discovery part is programmed in Perl. You can store the data in csv files, altough I won't support it in the frontend. Only MySQL is fully supported for now (which of course implies, that you have a mysql server available).
The required Perl modules can be downloaded from www.cpan.org, if not provided by your package manager:
- Net::SNMP
- Net::Telnet::Cisco
- Algorithm::Diff
- DBI
- DBD::MySQL
- LWP
- Net::SSH::Perl (optional SSH support)
- libnet (provides Net::SMTP for alerts)
The frontend requires a webserver providing PHP with the following addons:
- SQL
- SNMP
- SESSION
- GD (only for the Map tool)
Long-term graphs are generated automatically if you install the package:
- RRDtool








