Export Netflow from Linux to LogicMonitor
Exporting Netflow from Linux with softflowd
NetFlow is an industry standard network protocol for monitoring traffic flows across a network interface. It is used most commonly by devices like firewalls, routers, and switches, but some software packages make it possible to export Netflow data from a server operating system - in this case Linux (with softflowd) - to a Netflow collector (LogicMonitor) for traffic analysis.
Ubuntu
Documentation here: http://manpages.ubuntu.com/manpages/xenial/man8/softflowd.8.html
The following assumes you have an Ubuntu device in your portal which you can access with sudoer permissions. It also assumes Netflow has been enabled for the device and the collector in question.
-
Install softflowd:
sudoapt-getinstallsoftflowd -
-
Open /etc/default/softflowd for editing:
-
sudonano/etc/default/softflowd -
-
Set the value for INTERFACE and add the destination ip:port (<collectorIP>:2055) under OPTIONS. Other options are available, check the link above for full documentation.
## configuration for softflowd## note: softflowd will not start without an interface configured.# The interface softflowd listens on. You may also use "any" to listen# on all interfaces.INTERFACE="eth0"# Further options for softflowd, see "man softflowd" for details.# You should at least define a host and a port where the accounting# datagrams should be sent to, e.g.# OPTIONS="-n 127.0.0.1:9995"OPTIONS="-n 192.168.170.130:2055" -
Save your changes by pressing
Ctrl-O, then exit nano by pressingCtrl-X. -
Restart softflowd.
sudoservice softflowd restart -
-
Add a rule to the firewall to allow traffic on 2055.
sudoufw allow 2055
CentOs
This is a bit more work since you can't just install a package; you'll need to download the source and compile.
Most of the information here comes from https://www.scribd.com/doc/199440303/Cacti-Netflow-Collector-Flowview-and-Softflowd
More good info: https://thwack.solarwinds.com/thread/59620
-
Check to see if you have the compiler installed.
whichgcc -
If you don't get
/usr/bin/gccas the response, you'll need to install it.sudoyuminstallgcc -
-
Install libpcap-devel (you'll need this to compile softflowd).
sudoyuminstalllibpcap-devel -
-
Download the softflowd source.
wget https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/softflowd/softflowd-0.9.9.tar.gz -
-
Make sure you're in the directory where you saved the download, then untar the dowloaded source files.
tar-xzvf softflowd-0.9.9.tar.gz -
-
Switch to the softflowd directory, then run the commands to compile and install it.
cdsoftflowd-0.9.9./configuremakemakeinstall -
-
Now we want to have softflowd start when the system boots. We'll need to add a line to the end of
/etc/rc.d/rc.local. Use your device's interface after-iand your collector's IP address after-n.
sudonano/etc/rc.d/rc.local<add the following line to the end of thefile>/usr/local/sbin/softflowd-i eth0 -n 10.13.37.111:2055 -
Save your changes with
Ctrl-O, exit nano withCtrl-X.
Make sure/etc/rc.d/rc.localis executable. -
sudochmod+x/etc/rc.d/rc.local -
-
Open port 2055 in the firewall so the collector can receive the data.
sudofirewalld-cmd --zone=public --add-port=2055/tcp--permanent - Reboot the machine for all changes to take effect.
*Original guide courtesy of @Kurt Huffman at LogicMonitor