Candela Technologies typically delivers the LANforge system fully installed and configured
on tested and approved hardware platforms, such as a 1U rack mounted unit. Anyone having a
thorough understanding of Linux operating systems, however, should be able to install and
configure a functional LANforge system on their hardware platform of choice. LANforge supports
a full install on Windows 2000, XP, and Vista. Legal use of the LANforge system is based
upon licensed data-generating ports and/or machines. You must own a license for every port or
machine configured to generate traffic.
This document is targeted at those who wish to install the LANforge Demo software on
their own hardware, and those who are re-installing software on hardware furnished
by Candela Technologies. NOTE: Candela Technologies offers support packages!
-
Hardware Requirements
The LANforge-FIRE Network Traffic Generator configuration requires at least two ethernet
ports: one for network management and one for data-generation. The LANforge-ICE Network
Emulator works best using a minimum of three ethernet ports. Your unit's performance will be
directly related to the CPU and memory as well as the quality of the ethernet hardware and
PCI bus. Candela Technologies suggests a minimum of 128MB RAM and a 600Mhz processor for the
Network Traffic Generator boxes. You may be interested to look over the
LANforge Hardware Install Guide for more information.
-
Software Requirements
NOTE: LANforge now has limited support for the Microsoft Windows operating systems.
See the Microsoft specific install section for more information.
The LANforge product line is primarily developed and tested on Fedora Core 5 Linux. However,
the LANforge processes should work on any distribution based on the 2.6 or higher Linux
kernel. To help guarantee success, Candela Technologies recommends that you use Fedora Core
5 Linux with Candela's custom kernel. If using Fedora Core 4 or higher, be sure to disable
SELinux. See below for a suggested kernel patches and .config file if you are compiling your
own kernel. Specific work-arounds for Suse and other versions of Linux are found in the
trouble-shooting section at the end of this document.
The installation should include the following:
- /usr/bin/perl - Required: Perl scripting language.
- /sbin/ip - Required: IP configuration tool, verify version with:
/sbin/ip -V
- /usr/sbin/brctl - Suggested: Bridge utilities.
- /usr/sbin/dhcpd - Suggested: DHCP Server.
iproute2 package for MAC-VLAN and virtual routing support
LANforge 5.0.8+ using Fedora 2-9 will correctly install iproute2 into the /sbin directory.
LANforge 5.0.5-5.0.7 with kernel 2.6.23+ will require an up-to-date iproute2 package.
A pre-built iproute2 package is included in the LANforge downloads directory,
but it may only work on Fedora 8 systems. If you have a different Linux OS, you will
probably need to download and compile it on your own system:
Download the latest one from the following link:
http://linux-net.osdl.org/index.php/Iproute2
As an example, the following steps were followed to upgrade /sbin/ip:
- Download
http://devresources.linux-foundation.org/dev/iproute2/download/iproute2-2.6.23.tar.bz2
- Extract iproute2 as user lanforge:
$ tar -xvjf iproute2-2.6.23.tar.bz2
- Change to the newly created directory as root:
# cd iproute2-2.6.23
- Configure it for your system:
# ./configure
- Compile the new version of ip:
# make
- Backup your current version of /sbin/ip:
# mv /sbin/ip /sbin/ip_orig
- Copy your new version of ip to /sbin:
# cp ./ip/ip /sbin/ip
- Verify the new version of ip:
# /sbin/ip -V
Virtual NFS client support (For LANforge version 5.0.5+ and kernel 2.6.23+)
- If you want to use virtual NFS clients, download the nfs-utils package from
the LANforge release directory. It is pre-built for Fedora Core 8, so if you
are using FC8, skip the build steps listed immediately below. If you do need to build
it for your platform, however, do something like this:
- Unzip the download as user lanforge:
$ tar -xvzf nfs-utils-fc8-ct.tar.gz
- Change to the newly created directory as root:
# cd nfs-utils
- Compile the new version of nfs-utils:
# make clean
- Configure:
# ./configure --disable-gss
- Build necessary executable files:
# make
- Make a backup of your /sbin/mount.nfs binary:
# cp /sbin/mount.nfs /sbin/mount.nfs.orig
- Copy the new mount.nfs into place:
# cp nfs-utils/utils/mount/mount.nfs /sbin/mount.nfs
Virtual CIFS/SAMBA client support (For LANforge version 5.0.1+ and kernel 2.6.18+)
- If you want to use virtual CIFS (Samba) clients, download the samba-3.0.23.ben.tar.bz2
package from the LANforge release directory. It is pre-built for Fedora Core 5 and higher,
so you may not need to recompile this yourself. If you do need to build it for your
platform, do something like this:
- Unzip the download as user lanforge:
$ tar -xvjf samba-3.0.23.ben.tar.bz2
- Change to the newly created directory as root:
# cd samba-3.0.23.ben
- Compile the new version of Samba:
# make clean
- Configure:
# ./configure
- Build necessary executable files:
# make
- Make a backup of your /sbin/mount.cifs binary:
# cp /sbin/mount.cifs /sbin/mount.cifs.orig
- Copy the new mount.cifs into place:
# cp samba-3.0.23.ben/source/bin/mount.cifs /sbin/mount.cifs
Virtual Router OSPF support (For LANforge version 5.0.1+ and kernel 2.6.18+)
If you want to use Virtual Routers with OSPF or multicast routing, download the xorp.tgz
package from the LANforge release directory. It is pre-built for Fedora Core 5 and higher.
For multicast routing, you must have 2.6.25.4 or later kernels.
To install:
- Change directories to /usr/local as root:
# cd /usr/local
- Unzip the download:
$ tar -xvzf xorp.tgz
- Run the install script. It will create a xorp user, add xorp to both root and
xorp groups, and attempt to fix library problems if any exist.
# cd /usr/local/xorp
# ./xorp_install.bash
Installing a LANforge Linux Kernel
- Download an appropriate kernel from the
downloads page.
- Install the kernel as root.
# cd /
# tar -xvzf /home/lanforge/ct2.6.18.2.p4.tar.gz
# /usr/local/bin/kinstall_ct2.6.18.2.bash
If you are using Suse, this kinstall script will probably fail. Try making
the initrd script with a command similar to:
# mkinitrd -k ct2.6.18.2.img -i initrd-ct2.6.18.2.img
- Update /etc/grub.conf by adding an entry similar to the text below. You
may need to change the root option if you are using SCSI disks or a multiple
hard drives. It is usually a good idea to use the same root= and following arguments
on the kernel line as what your Linux distribution configured by default.
title Candela Tech Linux 2.6.18.2
root (hd0,0)
kernel /ct2.6.18.2.img ro root=LABEL=/ rhgb quiet
initrd /initrd-ct2.6.18.2.img
If you are using Suse, you will edit /boot/grub/menu.lst instead.
- The kernel installation should now be complete. Reboot and choose the
Candela kernel. To make this the default option, edit the default=
line in /etc/grub.conf
Compiling Your Own Linux Kernel
NOTE: For optimum performance, you should use one of the
pre-compiled LANforge Linux kernels, or compile your own with the Candela
patch applied. Pre-compiled LANforge Linux kernels can be found on the
Downloads page.
Use of one the kernel configuration found in the LANforge-Extras package
as your starting point if you are compiling your own kernel.
These configs are known to work (but you may have to
tweak slightly for your particular processor type and machine architecture)
Here is some information on
compiling the Linux Kernel. Briefly, you will follow steps similar to these:
- Download and unpack the kernel source
- Patch the kernel with the Candela linux kernel patches:
# cd linux-2.6.XX
# patch -p 1 < ../candela_2.6.XX.patch
- Load the correct kernel configuration file from the choices above:
# make menuconfig
# make bzImage modules modules_install
- Copy the resulting kernel into place, make the init-ramdisk if needed...
- Deal with /etc/grub.conf so that it boots your new kernel.
- Reboot and cross your fingers!
-
Getting Your Linux Box Ready for LANforge
- Install the Necessary hardware.
Ensure that you have at least two ethernet interfaces installed in your target
platform. Ensure you have at least 64MB of RAM installed. LANforge is very
flexible, so if you have hardware constraints that do not appear to be supported
by LANforge, please contact support@candelatech.com. It is likely we have a
solution!
- Install and Configure the Linux Operating System
Choose a distribution that meets the requirements above and install according to its
instructions. If you are using RedHat or Fedora, choose the 'Server' or 'All' package
selection, or customize to your specific needs and hope it works! (It probably will.)
An IP address should be assigned to the management port, and the other ethernet port(s)
can be left un-configured at this time. You can use DHCP for the management port.
It is assumed that the user will be able to correctly configure the Linux Operating
system.
In addition to installing the OS, you may want to install and configure the Network Time
Protocol (NTP) tools. You can configure NTP as part of the initial login process on
Fedora Core 2 and above.
- Install the Wireshark packet sniffer.
If you would like to be able to have LANforge automatically launch the
Wireshark packet sniffer, then you
must install Wireshark. If you choose not to install Wireshark, however, LANforge will
still function normally. The particular version to install and additional packages
you have to download depends on your Linux distribution. For Fedora Core 5 and similar
distributions, Wireshark is included on the install CDROMs, though it is not always
installed by default. You can usually install it with this command as root user:
# yum install wireshark-gnome
In the end, LANforge will attempt to execute a file
called /usr/sbin/wireshark. If that fails, it will attempt to execute
/usr/sbin/ethereal. So as long as one of these files exist, it will work.
- Install Perl Library: Net::Telnet for use with LANforge scripting.
If you wish to use LANforge scripting, you will need the Net::Telnet perl library
installed. The easiest way to install is to use Perl's MCPAN tool:
perl -MCPAN -e shell
## Choose 'no' when it asks you if you want to manually configure
## perl. The auto-config works just fine.
# install Net::Telnet
# quit
-
Installing LANforge Server Software on Linux
Now that you have the Linux Operating System installed on your box, you are ready to
install the LANforge components.
- Create LANforge accounts
You should create a lanforge user and install the LANforge software in that user's
home directory. Use your preferred method, or use mine:
# adduser lanforge
# passwd lanforge
- Install LANforge-Server
The LANforge-Server software is the same binary as the LANforge-GUI, it is
just configured slightly different. To install it, copy the LANforgeServer-X.X.X_Linux-x86.tar.gz
file to some temporary directory and un-tar it as user lanforge with a command like:
$ tar -xvzf LANforgeServer-*_Linux-x86.tar.gz
That command should create a LANforgeServer-X.X.X directory, in which the distribution
exists. Change to that directory as root, and you will find an install.bash file.
Run this script:
# ./install.bash
- Configure LANforge-Server
NOTE 1: Make sure all of your interfaces are visible through
the ifconfig -a command before running lfconfig. For example, you
may have to load driver modules: insmod tulip Also, the lfconfig
tool often scrolls information off the screen, so you may need to scroll back to
see useful information. On the console, use SHIFT-PageUp, SHIFT-PageDown
NOTE 2: Make sure you enter 'config' when done with the lfconfig
changes: It is the 'config' option that creates the files needed to run the LANforge
applications.
NOTE 3: Make sure that each resource machine has a unique
identifier. This identifier is specified as 'resource', and you can find
more details below.
NOTE 4: If you wish to run the LANforge-ICE WAN Emulator
on a machine with only two ethernet ports, the management device (mgt_dev)
must be 'lo', the loopback device. This means you will not be able to get
network connectivity to this machine when LANforge is running as both of the
ICE interfaces must have an IP address of 0.0.0.0
After running the install script, cd to the /home/lanforge directory as root
and run the lfconfig script to configure LANforge:
# cd /home/lanforge
# ./lfconfig
It is an interactive script that allows you to set certain configuration options and
then generate the start/stop scripts to control LANforge. The lfconfig script now hides
some of the less-often used options. You can view them with the "show_all" command.
However, for most configurations, you will not need to change any of the hidden options.
When you start lfconfig, you will see something like this:
Interfaces: eth0 eth1 eth2 eth3
Resource interface assignment:
resource 0:
Specified Resource Addresses:
Key Value Acceptable Values
**************************************************
log_level 7 [0-65535]
log_dir /home/lanforge [directory path]
add_resource_addr ABOVE [host:port]
rem_resource_addr ABOVE [host:port]
realm 1 [1-255]
resource [1-18]
mgt_dev eth1 [ethernet device]
mode manager [resource | manager | both]
Other Commands: help, show_all
**************************************************
If these values are correct, enter 'config', otherwise change
the values by entering the key followed by the new value, for example:
mode manager
Your command:
Here are the values you can manipulate, and what they mean:
- log_level:
- Suggested value is 7, run the btbits binary with the -h option to see what
the logging level means.
Example: log_level 7
- gps_dev:
- GPS Device, for those wishing to integrate a GPS through the serial port using
the NMEA protocol.
Example: gps_dev /dev/ttyS0
Example: gps_dev NONE
- log_dir:
- Suggested value is /home/lanforge, specifies where the logs are to be stored.
Example: log_dir /tmp
- dev_ignore:
- If you don't want to use some of your interfaces for LANforge, then enter
them here. Otherwise, lfconfig will attempt to use them all.
Example: dev_ignore eth5 eth6 tr3
- add_resource_addr:
- Add to the list of remote LANforge addresses. These are LANforge resources
that will otherwise not be discovered for various reasons. You must have TCP/IP
connectivity to them of course!
Example: add_resource_addr 192.168.5.5:4002
- rem_resource_addr:
- Remove from the list of remote LANforge addresses. These are LANforge resources
that will otherwise not be discovered for various reasons. You must have TCP/IP
connectivity to them of course!
Example: rem_resource_addr 192.168.5.5:4002
- max_tx:
- Maximum number of packets to tx per 'round.' The higher this number is the better
performance you may achieve. However, if you make it too high, you may increase
dropped packets due to making the traffic pattern too bursty. Suggested value is
between 5 and 10 for traffic patterns around 2000 packets-per-second.
Example: max_tx 50
- realm:
- This specifies a grouping of LANforge processes that may talk to each other.
LANforge processes will ignore messages from other realms. If set to 255, it will
never cluster with other LANforge systems, even if the other system is set to 255
also. Valid range is: 1-255, inclusive. Default is 1.
Example: realm 1
- shelf:
- This is the virtual 'shelf' that this LANforge instance should belong to.
Unless you have a very large installation, you should enter 1 here. If you have
more than 127 LANforge resources, then you will need to put them into a second
shelf.
Example: shelf 1
- resource:
- LANforge instance (machine) identifier. You MUST have a unique resource number for
every data-generator on a given shelf. So, if this is your first data-generator
machine, and you want it to be resource 1, and if this is your 3rd machine, it
should be resource 3. This was previously called 'client'.
Example: resource 1
- first_cli_port:
- This is the CLI (command line interface) port. If you have multiple resources
configured on the same machine (unlikely), then the second will be 2 greater than
the first, etc. The binary (GUI) port for a given resource will always be one
more than the CLI interface port. You can usually leave this at its default: 4001
Example: first_cli_port 4001
- mgt_dev:
- This is the ethernet device that the LANforge management traffic is carried
over. The management devices for the LANforge manager and LANforge resources
should be connected to the same Ethernet broadcast domain (LAN). If you want this
system to be completely self-contained, you can have mgt_dev be lo (loopback).
Example: mgt_dev eth0
- mode:
- This determines the behavior of the LANforge software. You need exactly one
LANforge manager for each network, and at least 1 LANforge resources. The basic
software is the same, and its behavior is determined by the mode you enter
here. Use 'both' for a single machine configuration. For multiple machine
configurations, you will usually have one machine in mode 'both', and the remaining
machines in mode 'resource'.
Example: mode resource
Example Configurations
- All-in-One LANforge-ICE WAN Emulator & Traffic Generator
- This configuration will enable a machine with 3 ports to be a fully functional
WAN emulator and/or traffic generator. The LANforge-GUI can be installed
on the same machine to enable easy management as well.
mgt_dev eth0
resource 1
realm 22
mode both
config
- LANforge data generator (or WAN Emulator) machine.
- Generally, you will have one system that is both a manager and a
traffic generator (see above), and the rest will be only resources.
The manager will discover the resources and will be the central point
for configuring the entire system. The resource machines must have
unique identifiers (resource must be unique).
mgt_dev eth0
resource 2
realm 22
mode resource
config
After running the lfconfig script, you should have a box that is functionally similar
to the LF1000 Series units. Now, go to the
Hardware Installation Guide and procede to install
your new box into the LANforge system.
- Start LANforge Servers
To start the LANforge servers, use the serverctl.bash script as root:
# ./serverctl.bash start
From now on, the LANforge server will be started when the machine boots.
-
Installing LANforge Software on Microsoft Windows
Most LANforge traffic generation and network emulation features are available on Microsoft
Windows operating systems. Click here for details on supported
features. LANforge on Linux is still the most precise, featureful, and highest performing
option. Please contact Candela Technologies or your sales representative if you have questions
about whether a feature you need is supported on Windows. Windows managers can manage Linux
data generators, and vice versa.
Currently, only Windows 2000 and Windows XP are actively tested. LANforge
may work on other platforms but it has not been verified.
NOTE: If you want to run the LANforge-ICE WAN emulator on a machine with only 2 network
interface cards, you can try adding a loopback interface and use that
for the management interface.
Install the LANforge Server Files
- Execute the LANforge-Server-Installer.exe program. Be sure to select the option
to install WinPcap unless you are certain you do not need to (for instance, you have
recently installed this exact same LANforge version). If the WinPcap install suggests
rebooting the system, DO NOT REBOOT UNTIL you have completed the LANforge install!
If you make a mistake and WinPcap does reboot the system, simply re-install LANforge and
do not select to install WinPcap the second time. At the end of the LANforge install, you
have an option to run the Configure LANforge tool. Please do (re)run this tool and
click 'Configure' unless you are certain you do not need to do so.
- In the configuration tool, select the mode (You will want one machine configured to
be 'Both' Manager and Resource in your realm). The rest of the machines should be
configured in resource mode only.
- The text box at the top of the configuration tool shows the LANforge server startup
information and the list of interfaces found on the machine. You will need to choose one
of the adapters for your management interface. Enter the Device-ID, for example:
{20AC6D62-1D4E-49E1-982A-091CD9329CB3} in the Management Network Device field in the
configuration tool.
- The realm number can be any value between 1 and 255. By placing
a machine into a certain realm, you ensure that the LANforge software
will only communicate with other machines in that same realm. In most
cases, the default of 1 is fine.
- Each LANforge machine must have a unique identifier. This is the 'Machine Id Number',
and it corresponds to the Card and Unit number in the LANforge-GUI. Typically, you use
1 for the first system, 2 for the second, and so forth.
- If your management network is routed, and you are configuring a machine as Manager
or Both mode, then you will need to specify the IP addresses for the other LANforge
resource machines. The reason is that while LANforge can automatically discover other
LANforge machines on the local subnet, it cannot automatically discover LANforge machines
on other subnets. The syntax is: IP1:port1 IP2:port2 ... The default port is 4002 and
unless you manually edit the start scripts, it will remain 4002. Example input for the
Resources entry box is:
192.168.2.2:4002 192.168.2.3:4002 120.5.3.2:4002
- If you are configured for mode 'Both' or 'Manager', then you must install the
LANforge license keys sent to you by Candela Technologies or your LANforge reseller.
Install these license keys per instructions in the license file. (Typically, copy the keys
to a file called license.txt in the LANforge install directory.)
- Configuration should now be complete. Click on the 'Configure' button to create
the LANforge server start scripts. You can then execute the LANforge-GUI, LANforge-FIRE,
or LANforge-FIRE icons. LANforge will automatically be started when you reboot
the machine in the future. You should reboot if a new WinPcap was installed.
- Optional packages: NTP
If you want to keep the clocks for multiple systems in sync (to better report latencies
with LANforge-FIRE, for instance), you should consider installing NTP.
Candela suggests this page for more info and downloads:
http://www.meinberg.de/english/sw/ntp.htm
- Optional packages: Wireshark
The Wireshark tool is an excellent packet sniffer and protocol analyzer. You can dowload
it from: www.wireshark.org. In order for
LANforge to be able to automatically launch Wireshark, it must be installed
in its default install directory on the same drive as LANforge is installed.
You can also launch Wireshark manually of course.
-
Upgrading LANforge Server Software on Linux
To upgrade your LANforge Server from an existing Linux installation, follow these instructions:
- Check the release notes for special instructions:
Go to the Downloads Page
and scroll down to the latest release notes link.
- Stop the LANforge Server as root:
# cd /home/lanforge
# ./serverctl.bash stop
- Backup the existing installation:
# cd /home
# tar -cvzf lanforge_bkup.tar.gz lanforge
- Upgrade the LANforge Kernel as root:
Generally, the kernel version should be upgraded to match the LANforge software version
both of which can be found on the
Downloads Page.
# uname -r (will give you your current kernel version)
# /usr/local/bin/kinstall_ct<CURRENT KERNEL>.bash
# cd /
# tar -xvzf ct<NEW KERNEL>.tar.gz
# /usr/local/bin/kinstall_ct<NEW KERNEL>.bash
- Update GRUB configuration file with new kernel name:
Copy/paste the default entry and modify it to have the new kernel version. Save and exit file
when complete.
# gedit /etc/grub.conf (or # vi /etc/grub.conf)
- Reboot the system for the new kernel to be in use:
# reboot
- Verify new kernel is running:
# uname -a
- Install the new LANforge Server software:
# cd /home/lanforge
# tar -xvzf LANforgeServer-*_Linux-x86.tar.gz
# cd LANforgeServer-X.X.X
# ./install.bash
- Re-generate the LANforge configuration as root:
# cd .. (to home/lanforge)
# ./lfconfig --new_layout
- Install your license keys:
Follow the license installation instructions in your license key file.
- Start the upgraded LANforge Server:
# ./serverctl.bash start
-
Upgrading LANforge Server Software on Microsoft Windows
To upgrade your LANforge Server from an existing Windows installation,
follow these instructions:
- Check the release notes for special instructions:
Go to the Downloads Page
and scroll down to the latest release notes link.
- Stop the LANforge Manager and Data Generator:
Close the DOS windows labeled LANforge Manager and LANforge Data Generator.
- Backup your current installation:
Rename or Copy the C:\Program Files\LANforge-Server directory.
- DO NOT UN-INSTALL - YOU WILL LOSE YOUR LANforge DATABASE
Simply run the new LANforge-Server Installer.
- Re-run the Configure LANforge utility.
You will be prompted after installing the new server software.
- Install your license keys:
Follow the license installation instructions in your license key file.
- Start the LANforge Server:
Double-click the LANforge Data Generator and LANforge Manager icons.
-
LANforge Data Generator Installation Troubleshooting Guide
- Q. Things kind of seem to work, but not really.
- A. Unless you specifically know otherwise, make sure the resource indentifiers
are unique for every system in your LANforge realm.
These numbers correspond
to the 'Card Numbers' in the GUI and CLI commands. Also, make sure that
all of your LANforge software is of the same version.
- Q. I'm using Suse 9.1 and having trouble.
- A. We found that removing the second 'localhost' entry
in the /etc/hosts file (the one starting with ::1) made
LANforge work. I think that without this change, LANforge
may try to use IPv6.
If you have a problem not answered here, please contact Candela Technologies technical
support at support@candelatech.com.