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 also
supports Windows XP, Vista, and Windows 7, but LANforge works best on Linux.
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 typically 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.
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 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
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.
Any modern distribution should install everything that is required by default,
and optional packages can be installed with the normal package management tools
(yum, apt-get, etc).
Virtual Router OSPF support
If you want to use Virtual Routers with OSPF or multicast routing, download the xorp
package from the LANforge release directory.
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 pre-built kernel from the
downloads page.
- Install the kernel as root with command similar to:
# cd /
# tar -xvzf /home/lanforge/ct2.6.31.6.p4s.tar.gz
# /usr/local/bin/kinstall_ct2.6.31.6.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.31.6.img -i initrd-ct2.6.31.6.img
- Update /etc/grub.conf by adding an entry similar to the text below. You
should usually copy an existing entry and change only the title, kernel image and initrd
image file names.
title Candela Technologies Linux 2.6.31.6
root (hd0,0)
kernel /ct2.6.31.6.img ro root=LABEL=/ rhgb quiet
initrd /initrd-ct2.6.31.6.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
patches applied. Pre-compiled LANforge Linux kernels can be found on the
Downloads page.
Candela now publishes it's patched linux tree in a public git code repository.
- Download the kernel source respository.
git clone git://dmz2.candelatech.com/linux-2.6.dev.31.y
- Use one of the config files in the linux-2.6.dev.31.y/configs directory
as a starting point.
- If you are unsure how to compile kernels, consider using a pre-compiled one or contact support.
-
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 on Linux
Now that you have the Linux Operating System installed on your box, you are ready to
install the LANforge components.
- Become root user
$ su - root
- 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
Copy the LANforgeServer-X.X.X_Linux-XX.tar.gz
file to some temporary directory and un-tar it 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:
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 1: eth0 eth1 eth2 eth3
Specified Resource Addresses:
127.0.0.1:4004
Key Acceptable Values Value
**************************************************
log_level [0-65535] 7
log_dir [directory path] /home/lanforge
add_resource_addr [host:port] SEE LIST ABOVE
rem_resource_addr [host:port] SEE LIST ABOVE
realm [1-255] 255
resource [1-127] 1
mgt_dev [ethernet device] eth0
mode [resource, manager, both] both
shelf [1-8] 1
dev_ignore [eth0 eth1 ... ethN]
first_cli_port [1025-4199] 4001
connect_mgr [host:port]
gps_dev [device file] NONE
max_tx [1-500] 5
wl_probe_timer [50-2000] 50
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
- wl_probe_timer
- Number of miliseconds between probes of
kernel-mode WanLink stats. Default is 50. Increasing
this will save some processing time, at the cost of less
accurate 3-second report averages and graphs.
Example: wl_probe_timer 50
- realm
- LANforge resources grouped (clustered) with the same realm value can be managed by a
single LANforge-GUI. LANforge processes will ignore messages from other realms. Valid
range of values is 1-255, inclusive, and the default is 1. If set to 255, it will
never cluster with other LANforge systems, even if the other system is set to 255
also.
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
- Every LANforge resource (data-generator) on a given shelf MUST have a unique instance
(machine) identifier. Suggested values are 1 for the first data-generator machine, 2
for the second, 3 for the third, etc. 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
- connect_mgr
- Tell resource to connect to a known manager. Normally
managers connect to resources, but sometimes it's useful to connect
the other way to get around firewalls and when using mobile resources
that may often change their management IP addres.
Example: connect_mgr 192.168.100.20:4002
- 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 resource. 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/Standalone LANforge-ICE WAN Emulator & Traffic Generator
- This is the default configuration and enables 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. NOTE: LANforge resources
with the default realm of 255 cannot be clustered. See the clustered Resources example
below to enable this feature.
mgt_dev eth0
resource 1
realm 255
mode both
config
-
- LANforge data generator (or WAN Emulator) Resource only 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). NOTE: LANforge
resources with the default realm of 255 cannot be clustered. See the
clustered Resources example below to enable this feature.
mgt_dev eth0
resource 2
realm 22
mode resource
config
-
- LANforge Manager with clustered Resources
- Configure LANforge resources in the same realm as the manager as illustrated by the list of lfconfig key value entries
in the example below:
|
|
|
|
mgt_dev eth0 resource 1 realm 22 mode both config |
mgt_dev eth0 resource 2 realm 22 mode resource config |
mgt_dev eth0 resource 3 realm 22 mode resource config |
mgt_dev eth0 resource 4 realm 22 mode resource config |
NOTE: Entering 'config' creates a port configuration file called lanforge_eth_1 for
resource 1 or lanforge_eth_2 for resource 2, etc., which is saved in the /home/lanforge
directory. All clustered resources will now be displayed on the Status page of the
LANforge-GUI and will be listed in the Port Mgr tab.
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.
ISCSI Client
Two packages must be installed to support ISCSI client. Following installation, the Level
3/5 iscsi and iscsid services must be disabled to facilitate LANforge control. LANforge
can/should configure the rest of it for you by setting up file-io endpoints of type iscsi.
- 32-bit installation as root:
# yum install iscsi-initiator-utils.i386 scsi-target-utils.i386
- 64-bit installation as root:
# yum install iscsi-initiator-utils.x86_64 scsi-target-utils.x86_64
- Disable services after installation as root:
# chkconfig iscsi off
# chkconfig iscsid off
-
Configuring a Static IP Address
For current LANforge releases, you can just use the GUI to set the preferred fixed address (or DHCP) from the
Port-Mgr tab just as you would configure any other interface. For older LANforge releases, or if you prefer
to do it manually, follow the steps below.
NOTE: You shoud NOT change the management interface's IP address while LANforge is running. You should first
stop LANforge, then change the IP, then start LANforge again. Or, you can just reboot the machine and the new settings
will take affect automatically.
-
Installing LANforge Server 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 XP, Vista and Windows 7 are actively tested. LANforge
may work on other platforms as well.
Install the LANforge Server Files
- Execute the LANforge Server-Installer.exe program.
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. Realm 255
means do not cluster.
- 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 icons on the desktop.
LANforge will automatically be started when you reboot
the machine in the future.
NOTE: Windows Vista users must run the LANforge Manager and LANforge Data
Generator as administrator to function properly. The shortcut properties should be modified
to run as administrator: right-click on the shortcut icon, select Properties and click the
Advanced button. Select 'Run as administrator' then click OK on both the Advanced Properties
and LANforge Manager (or Data Generator) Properties windows.
- 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 on Linux
Follow these instructions to upgrade your LANforge Server from an existing Linux installation.
Some Example Configurations are listed in the
Installing LANforge Server on Linux section.
- 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 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.
NOTE: Windows Vista users must run the LANforge Manager and LANforge Data
Generator as administrator to function properly. The shortcut properties should be modified
to run as administrator: right-click on the shortcut icon, select Properties and click the
Advanced button. Select 'Run as administrator' then click OK on both the Advanced Properties
and LANforge Manager (or Data Generator) Properties windows.
-
LANforge Data Generator Installation Troubleshooting Guide
- Q. I upgraded my system to Fedora 11 and NetworkManager is causing problems.
- A. Make sure NetworkManager is OFF and Network is ON in level 3 and level 5 services.
From the console, enter the # ntsysv command as root (level 3 services). Turn NetworkManager OFF
and Network ON, select OK, and reboot. From a terminal window, enter the # system-config-services
command as root (level 5 services). Turn NetworkManager OFF and Network ON, click Save, and select
File/Quit, then reboot. To continue using PackageKit (Fedora 9 and later) without NetworkManager, edit
/etc/PackageKit/PackageKit.conf and change the following value:
UseNetworkManager=false
- Q. I upgraded my system to Fedora 11 and ssh (or console login) session fails.
- A. Make sure SELinux is disabled in System/Administration/SELinux Management. Select
'Disabled' for System Default Enforcing Mode and reboot.
- 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.
- Q. I'm using Windows Vista and neither LANforge Manager or Data Generator
is working.
- A. Windows Vista users must run the LANforge Manager and LANforge Data
Generator as administrator to function properly. The shortcut properties should be modified
to run as administrator: right-click on the shortcut icon, select Properties and click the
Advanced button. Select 'Run as administrator' then click OK on both the Advanced Properties
and LANforge Manager (or Data Generator) Properties windows.
If you have a problem not answered here, please contact Candela Technologies technical
support at support@candelatech.com.