Candela Technologies

http://www.candelatech.com
sales@candelatech.com
+1 360 380 1618 [PST, GMT -8]

Install the LANforge Server Components

Overview

  1. Hardware Requirements
  2. Software Requirements
  3. Getting Your Linux Box Ready for LANforge
  4. Installing LANforge Server Software on Linux
  5. Installing LANforge Server Software on Microsoft Windows
  6. Upgrading LANforge Server Software on Linux
  7. Upgrading LANforge Server on Microsoft Windows
  8. Common Problems & Solutions
Overview

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!


  1. 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.


  2. 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:

    1. Download http://devresources.linux-foundation.org/dev/iproute2/download/iproute2-2.6.23.tar.bz2
    2. Extract iproute2 as user lanforge:
      $ tar -xvjf iproute2-2.6.23.tar.bz2
    3. Change to the newly created directory as root:
      # cd iproute2-2.6.23
    4. Configure it for your system:
      # ./configure
    5. Compile the new version of ip:
      # make
    6. Backup your current version of /sbin/ip:
      # mv /sbin/ip /sbin/ip_orig
    7. Copy your new version of ip to /sbin:
      # cp ./ip/ip /sbin/ip
    8. Verify the new version of ip:
      # /sbin/ip -V

    Virtual NFS client support (For LANforge version 5.0.5+ and kernel 2.6.23+)

    1. 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:

      1. Unzip the download as user lanforge:
        $ tar -xvzf nfs-utils-fc8-ct.tar.gz
      2. Change to the newly created directory as root:
        # cd nfs-utils
      3. Compile the new version of nfs-utils:
        # make clean
      4. Configure:
        # ./configure --disable-gss
      5. Build necessary executable files:
        # make

    2. Make a backup of your /sbin/mount.nfs binary:
      # cp /sbin/mount.nfs /sbin/mount.nfs.orig
    3. 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+)

    1. 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:

      1. Unzip the download as user lanforge:
        $ tar -xvjf samba-3.0.23.ben.tar.bz2
      2. Change to the newly created directory as root:
        # cd samba-3.0.23.ben
      3. Compile the new version of Samba:
        # make clean
      4. Configure:
        # ./configure
      5. Build necessary executable files:
        # make

    2. Make a backup of your /sbin/mount.cifs binary:
      # cp /sbin/mount.cifs /sbin/mount.cifs.orig
    3. 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:

    1. Change directories to /usr/local as root:
      # cd /usr/local
    2. Unzip the download:
      $ tar -xvzf xorp.tgz
    3. 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

    1. Download an appropriate kernel from the downloads page.
    2. 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

    3. 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.
    4. 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:

    1. Download and unpack the kernel source
    2. Patch the kernel with the Candela linux kernel patches:
      # cd linux-2.6.XX
      # patch -p 1 < ../candela_2.6.XX.patch
    3. Load the correct kernel configuration file from the choices above:
      # make menuconfig
      # make bzImage modules modules_install
    4. Copy the resulting kernel into place, make the init-ramdisk if needed...
    5. Deal with /etc/grub.conf so that it boots your new kernel.
    6. Reboot and cross your fingers!

  3. Getting Your Linux Box Ready for LANforge

    1. 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!

    2. 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.

    3. 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.

    4. 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
               

  4. 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.

    1. 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

    2. 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

    3. 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.

    4. 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.


  5. 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

    1. 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.
    2. 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.
    3. 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.
    4. 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.
    5. 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.
    6. 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
    7. 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.)
    8. 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.
    9. 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
    10. 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.

  6. Upgrading LANforge Server Software on Linux

    To upgrade your LANforge Server from an existing Linux installation, follow these instructions:

    1. Check the release notes for special instructions:
      Go to the Downloads Page and scroll down to the latest release notes link.
    2. Stop the LANforge Server as root:
      # cd /home/lanforge
      # ./serverctl.bash stop
    3. Backup the existing installation:
      # cd /home
      # tar -cvzf lanforge_bkup.tar.gz lanforge
    4. 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
    5. 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)
    6. Reboot the system for the new kernel to be in use:
      # reboot
    7. Verify new kernel is running:
      # uname -a
    8. Install the new LANforge Server software:
      # cd /home/lanforge
      # tar -xvzf LANforgeServer-*_Linux-x86.tar.gz
      # cd LANforgeServer-X.X.X
      # ./install.bash
    9. Re-generate the LANforge configuration as root:
      # cd .. (to home/lanforge)
      # ./lfconfig --new_layout
    10. Install your license keys:
      Follow the license installation instructions in your license key file.
    11. Start the upgraded LANforge Server:
      # ./serverctl.bash start

  7. Upgrading LANforge Server Software on Microsoft Windows

    To upgrade your LANforge Server from an existing Windows installation, follow these instructions:

    1. Check the release notes for special instructions:
      Go to the Downloads Page and scroll down to the latest release notes link.
    2. Stop the LANforge Manager and Data Generator:
      Close the DOS windows labeled LANforge Manager and LANforge Data Generator.
    3. Backup your current installation:
      Rename or Copy the C:\Program Files\LANforge-Server directory.
    4. DO NOT UN-INSTALL - YOU WILL LOSE YOUR LANforge DATABASE
      Simply run the new LANforge-Server Installer.
    5. Re-run the Configure LANforge utility.
      You will be prompted after installing the new server software.
    6. Install your license keys:
      Follow the license installation instructions in your license key file.
    7. Start the LANforge Server:
      Double-click the LANforge Data Generator and LANforge Manager icons.

  8. 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.


 


Candela Technologies, Inc., 2026 Main Street, Suite A, P.O. Box 3285, Ferndale, WA 98248, USA
www.candelatech.com | sales@candelatech.com | +1 360 380 1618

Candela Technologies, 2026 Main Street, Suite A, P.O. Box 3285, Ferndale, WA 98248, USA
www.candelatech.com | sales@candelatech.com | +1 360 380 1618
Last modified: Tue Oct 29 17:00:00 PDT 2008