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.
Candela Technologies offers support packages! We want to help you get the most out of our product.
If you are installing or upgrading to LANforge --lfver 5.4.5 or higher, and are using Fedora 36 to 19 (or related OS), you may want to use the fully automated installation option. Fedora 36 is currently the suggested OS. For other OS versions, please contact Support for OS installation information.
If you are using CentOS 6, please read the CentOS 6 Instructions below.
The lf_kinstall.pl script will take a base install and add appropriate packages, install or upgrade LANforge server, GUI, kernel and supporting files and tweak the OS to run best with LANforge. We suggest you create the account lanforge on the system before running this script.
$ ping www.candelatech.com
For releases 5.4.1 and earlier and/or different kernel versions, change the version numbers as needed by using the latest information from the release download page.
Example showing an automated install with most options enabled: perl <(curl -s https://www.candelatech.com/lf_kinstall.txt) --do_all_ct --kver 5.19.11+ --lfver 5.4.5Ensure the script finishes without errors before you continue. Please contact support if you have questions.
If perl does not exist, you can install it on Fedora systems with: yum install perl On Ubuntu, try: apt-get install perl.
To see all available options use the following command:
perl <(curl -s https://www.candelatech.com/lf_kinstall.txt) --help
For 19 and higher systems (gnome-3 based systems), the script will tweak the desktop settings if you are logged into the graphical desktop. If you are not logged in currently, just run the tweak commands next time you do log in (as user lanforge): /usr/local/bin/ctgnome.bash
cd /home/lanforge; ./serverctl.bash stop; ./lfconfig --new_layout
When done configuring, start up LANforge again if you used the text-based lfconfig option: ./serverctl.bash start. If you used the GUI, then LANforge will be restarted automatically.
If you are installing or upgrading to LANforge 5.2.7 or higher, and are using Fedora 19 to Fedora 24 (or related OS), you may want to use the automated installation option. For other OS versions, please contact Support for OS installation information.
A bundle is a single tar archive that contains all the downloaded elements of a typicall upgrade of an existing installation. This reduces effort to copy items to an offline or un-routable instance of LANforge.
If you have a LANforge machine you purchased from us and it still runs LANforge, you can use the offline-bundle.
./lf_kinstall.pl --use_install_bundle /home/lanforge/Downloads/[install-bundle]
Please use the full path to the bundle.
The version numbers below are examples. Change them as needed by using the latest information by reading the release download page.
The following example is for upgrading a 64 bit, Fedora 20 based system to LANforge release 5.4.5:
Note: You may have to copy and paste the lf_kinstall.txt from a browser to a plain text document.
cd /home/lanforge/Downloads dos2unix lf_kinstall.txt chmod a+x lf_kinstall.txt ./lf_kinstall.txt --do_all_ct --print_only --lfver 5.4.5 --kver 5.19.11+
You should see output similar to this:
# is-ubuntu: 0 mate-installed: 1 install-mate: 0 is-arm: 0 is-fedora: 1 osveri: 20 is-64: 1 # do-gnome: 0 uveri: 14 # lf_kinstall offline install will need these files: # https://www.candelatech.com/private/downloads/r5.4.5/ct4.20.17+.x64.tar.gz # https://www.candelatech.com/private/downloads/r5.4.5/board.bin # https://www.candelatech.com/private/downloads/r5.4.5/firmware-2.bin # https://www.candelatech.com/private/downloads/r5.4.5/firmware-2-htt-mgt.bin # https://www.candelatech.com/private/downloads/r5.4.5/ath10k_stock_fw.tgz # https://www.candelatech.com/private/downloads/r5.4.5/firmware-2-htt-mgt.bin-9887-10-1 # https://www.candelatech.com/private/downloads/r5.4.5/firmware-5-htt-mgt.bin-9888-10-4 # https://www.candelatech.com/private/downloads/r5.4.5/firmware-5-htt-mgt.bin-9984-10-4 # https://www.candelatech.com/private/downloads/r5.4.5/firmware-5-htt-mgt.bin-10-4 # https://www.candelatech.com/private/downloads/r5.4.5/ath10k-firmware-2.bin-upstream # https://www.candelatech.com/private/downloads/r5.4.5/LANforgeServer-5.4.5_Linux-F20-x64.tar.gz # https://www.candelatech.com/private/downloads/r5.4.5/xorp_64-F20.tgz # https://www.candelatech.com/private/downloads/r5.4.5/LANforgeDocs-5.4.5.tar.gz # https://www.candelatech.com/private/downloads/r5.4.5/LANforge-GUI-5.4.5-Installer.exe # https://www.candelatech.com/private/downloads/r5.4.5/LANforgeGUI_5.4.5_Linux64.tar.bz2 # https://www.candelatech.com/private/downloads/r5.4.5/LANforgeGUI_5.4.5_Linux.tar.bz2
cd /home/lanforge/Downloads ./lf_kinstall.txt --do_all_ct --kver 5.19.11+ --lfver 5.4.5 --source_dir /home/lanforge/Downloads
If you get the latest version of Fedora, it will often be more recent than our validated Fedora target. If you are installing LANforge on the latest version of Fedora, you will probably discover that our packages are labeled one release behind the most recent Fedora release. Below is an example of doing an offline installation on Fedora 45:
./lf_kinstall.txt --do_all_ct --force_osver F45 --lfver 5.4.5 --kver 5.19.11+ --source_dir /home/lanforge/Downloads
LANforge Server and GUI software is tested on recent Fedora versions, but it is not always possible to keep up with the latest version. In some cases, versions of Fedora have been inappropriate and those releases get skipped.
CentOS 6 (6.9 as of this writing) often installs with a very minimal package set and might require preparation before they will run the lf_kinstall.pl script. This is very true for the CentOS 6 Minimal Installation. To prepare the system for LANforge, login as root to your system and run the following commands:
yum install -y yum-utils yum-config-manager --enable centosplus > /dev/null yum-config-manager --enable contrib > /dev/null yum-config-manager --enable epel > /dev/null yum makecache fast yum install -y man bash-completion bind-utils nfs-utils perl screen rsync vim wget yum update -y
After these commands are executed, you can continue with the automated installation instructions. You should not need to reboot.
(Optional) If your system needs access to NFS shares during installation, these commands will enable NFS:
/sbin/chkconfig rpcbind on /sbin/chkconfig nfs on /sbin/service rpcbind start /sbin/service nfs start /sbin/rpc.statd
With LANforge 5.3.8 and higher releases, LANforge has beta support for running on OpenWRT. So far, we only have images for the Netgear r7800 platform (dual 4x4 MU-MIMO radios). These platforms may be useful for testing with many lower-speed appliances to act like a full room of users, for instance.
For a new install, download the openwrt-ipq806x-netgear_r7800-squashfs-factory.img image from our downloads page. For an upgrade, see next section.
To install on the Netgear r7800, you first connect it to a Linux machine that has 'tftp' installed on it. The Linux machine should have a network port on the 192.168.1.X subnet, with IP address other than 192.168.1.1. Connect the r7800 LAN port 4 to this interface. Power up the Netgear with the 'reset' pin pressed. The power LED should start blinking white after a short time. This indicates that the r7800's boot loader is waiting for tftp.
On the Linux machine, cd to the directory that contains the factory.img file that you downloaded. Upload the file to the r7800:
tftp 192.168.1.1 tftp> bin tftp> put openwrt-ipq806x-netgear_r7800-squashfs-factory.img
The r7800 should reboot soon after. The yellow port will be the management port and will try to do DHCP by default. If it cannot get a DHCP address, it will be 192.168.1.101.
Connect with ssh to the r7800 as the root user (there is no password by default). To complete the install, run these commands:
cd /home/lanforge ./install.bash # Ignore the warnings about copying over the same file ./lf_kinstall.pl --lfver 5.4.5 --do_sys_reconfig reboot
Download the openwrt-ipq806x-netgear_r7800-squashfs-sysupgrade.bin image from our downloads page.
Use scp to copy this file to the temp directory on the r7800, for instance:
scp openwrt-ipq806x-netgear_r7800-squashfs-sysupgrade.bin root@192.168.100.221:/tmp/
Log into the r7800 and do the upgrade:
sysupgrade /tmp/openwrt-ipq806x-netgear_r7800-squashfs-sysupgrade.bin
The system will reboot, when it comes back up, log in again and configure LANforge:
cd /home/lanforge ./install.bash #Ignore the warnings about copying over the same file ./lf_kinstall.pl --lfver 5.4.5 --do_sys_reconfig reboot
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(e) 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.
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 troubleshooting section at the end of this document.
The installation should include the following:
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).
If you want to use Virtual Routers with OSPF or multicast routing, download the xorp package from the LANforge release directory.
To install:
# cd /usr/local/xorp # ./xorp_install.bash
# 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
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.
When using recent LANforge kernels on older distributions (Fedora 11 and earlier), you may need to enable some compatibility code in the kernel proc file system. To enable this, add: sysfs.deprecated=1 to the kernel boot arguments in the grub configuration file.
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 its patched linux tree in a public git code repository on github.
$ git clone https://github.com/greearb/linux-ct-4.7.gitMore kernels are available on github: https://github.com/greearb?tab=repositories.
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. It is likely we have a solution!
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 unconfigured 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.
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 exists, it will work.
To install the very latest Wireshark with LANforge support, perform the following steps on your LANforge system as root user.
$ yum install -y shtool libtool bison flex glib2-devel gtk2-devel libpcap-devel gcc-c++.x86_64 $ cd /home/lanforge $ git clone https://code.wireshark.org/review/wireshark $ cd wireshark $ git checkout HEAD $ libtoolize --force $ aclocal $ autoheader $ automake --force-missing --add-missing $ autoconf $ ./configure $ make $ make install $ if [ -f /usr/local/bin/wireshark-gtk ]; then mv -f /usr/local/bin/wireshark-gtk /usr/local/bin/wireshark; fi
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. CPAN> install Net::Telnet CPAN> quit
Now that you have the Linux Operating System installed on your box, you are ready to install the LANforge components.
$ su - root
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
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
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-511] 1 mgt_dev [ethernet device] eth0 mode [resource, manager, both] both bind_mgt [0-1] 0 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:
mgt_dev eth0 resource 1 realm 255 mode both config
mgt_dev eth0 resource 2 realm 22 mode resource config
mgt_dev eth0 |
mgt_dev eth0 |
mgt_dev eth0 |
mgt_dev eth0 |
All clustered resources will now be displayed on the Status page of the LANforge-GUI and will be listed in the Port Mgr tab.
NOTE: Entering the config command creates a port configuration file called lanforge_eth_1 for resource 1 or lanforge_eth_2 for resource 2, etc., which are saved in the /home/lanforge directory.
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 proceed to install your new box into the LANforge system.
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.
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.
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 should 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.
NOTE: For Redhat, Fedora, and similar systems, you will edit the /etc/sysconfig/network-scripts/ifcfg-[device-name] file.
These examples assume the management interface is called 'eth3'. Your system may be using a different management interface! A DHCP configuration file looks similar to:
DEVICE=eth3 ONBOOT=yes BOOTPROTO=dhcp
DEVICE=eth3 ONBOOT=yes IPADDR=192.168.1.101 NETMASK=255.255.255.0
GATEWAY=192.168.1.1
# ifdown eth3 # ifup eth3
# (ifdown eth3; ifup eth3)
# /home/lanforge/serverctl.bash start
$ sudo su - root
You should create a lanforge user and install the LANforge software in that user's
home directory. Use your preferred method, or use mine:
# sysadminctl -addUser lanforge -password lanforge -shell /bin/bash
Copy the LANforgeServer-X.X.X_MacOS-XX.tar.gz
file to some temporary directory and un-tar it with a command like:
# tar -xvzf LANforgeServer-*_MacOS*.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
After running the install script, cd to the /Users/lanforge directory as root and run the lfconfig script to configure LANforge:
$ cd /Users/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: en0 en1 en2 en3 Resource interface assignment: Resource 6: en1 en2 en3 Specified Resource Addresses: Key Acceptable Values Value ************************************************** log_level [0-65535] 7 log_dir [directory path] /Users/lanforge add_resource_addr [host:port] SEE LIST ABOVE rem_resource_addr [host:port] SEE LIST ABOVE realm [1-255] 222 resource [1-511] 6 mgt_dev [ethernet device] en0 mode [resource, manager, both] resource log_file_len [0-2G] 0 bind_mgt [0-1] 0 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 max_send_mmsg_mem [1000-500000] 32000 max_send_mmsg_pkts [1-1000] 500 keepalive [1000-500000] 30000 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:
mgt_dev en0 resource 2 realm 22 mode resource config
After running the lfconfig script, reboot and LANforge should start automatically.
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.
For example:
Device ID: {20AC6D62-1D4E-49E1-982A-091CD9329CB3}For example: IP#1:Port1 IP#2:Port2 IP#3:Port3
Example input for three remote resources is:
192.168.2.2:4002 192.168.2.3:4002 120.5.3.2:4002
To start the LANforge server on a 'Both' system double click both the LANforge Manager AND LANforge Data Generator shortcuts.
Likewise, a Manager only node will only require the LANforge Manager shorcut executed while a Resource node will only require running the LANforge Data Generator shortcut.
NOTE: Windows Vista and Windows 7 users must run the LANforge Manager, LANforge Data Generator and usually the LANforge GUI as administrator for a LANforge system 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 LANforge Data Generator) Properties windows.
With the 5.2.10 release, LANforge now supports most Google Android devices. The feature set is limited to basic Layer-3, Layer 4-7 and VOIP traffic generation over the WiFi or cellular data networks. It will only work on systems using the ARM CPU architecture, but that will be most devices anyway. It has been tested on Nexus 4 and "HTC My Touch" phones.
To install, search Google Play on your Android device for "LANforge Resource" from Candela Technologies Inc and install the app on your phone. The version of the app (ie, 5.2.11) must match the LANforge manager's release version.
The app can currently only be configured as a resource, so you must be running a LANforge manager process (with proper licenses installed) on a different machine. Each Android device currently is licensed as a 100Mbps connection license.
After launching the LANforge Resource app the first time, configure the realm, manager's IP, and the resource-ID. Then press 'Apply'. This will do internal installation and configuration and start the LANforge processes. If you are upgrading or reinstalling the app, click Remove and then Apply again. If you wish to uninstall the LANforge app, first click Stop to make sure any LANforge processes are stopped. The LANforge processes will keep running until you reboot the phone or click the Stop button in the LANforge app.
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.
# cd /home/lanforge # ./serverctl.bash stop
# cd /home # tar -cvzf lanforge_bkup.tar.gz lanforge
# 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
# nano /etc/grub.conf # or vi /etc/grub.conf
# cd /home/lanforge # tar -xvzf LANforgeServer-*_Linux-x86.tar.gz # cd LANforgeServer-X.X.X # ./install.bash
# cd .. # to /home/lanforge
# ./lfconfig --new_layout
Follow the license installation instructions in your license key file.
To upgrade your LANforge server from an existing Windows installation, follow these instructions:
Otherwise, double-click the appropriate icon for the node type.
NOTE: Windows Vista and Windows 7 users must run the LANforge Manager, LANforge Data Generator as Administrator for a LANforge system to function properly.
The shortcut properties should be modified to run as Administrator:
If you have a problem not answered here, please contact Candela Technologies technical support at support@candelatech.com.