在Debian上安装NTOP并在Mikrotik RouterOS上配置为使用NetFlow

时间:2020-03-21 11:42:18  来源:igfitidea点击:

Ntop是类似于Unix top的网络监视工具,它显示网络流量使用情况。
它可以充当NetFlow收集器,以处理由诸如Cisco或者Mikrotik之类的路由器生成的流。
NetFlow是用于基于流的流量监视的行业标准。

我们将安装并配置Ntop来收集Mikrotik路由器生成的流。
请注意,Ntop与NtopNG是不同的软件。

安装必备软件

我们正在使用Debian Wheezy:

$uname -rv
3.2.0-4-686-pae #1 SMP Debian 3.2.51-1

首先更新系统:

# apt-get update && apt-get upgrade -uV

安装所需的软件:

# apt-get install libtool automake autoconf make build-essential python-dev subversion

安装ntop所需的外部工具和库:

# apt-get install libpcap-dev libgdbm-dev zlib1g-dev libgeoip-dev libgraphviz-dev \
graphviz rrdtool librrd-dev

通过源代码安装Ntop

下载源包:

# wget http://sourceforge.net/projects/ntop/files/ntop/Stable/ntop-5.0.1.tar.gz

提取档案:

# tar xvfz ntop-5.0.1.tar.gz && cd ntop-5.0.1

配置,编译和安装ntop:

# ./autogen.sh
# make
# make install

为ntop创建一个新的系统帐户:

# useradd -r -s /bin/false ntop

适当更改所有权:

# chown -R ntop:ntop /usr/local/share/ntop /usr/local/lib/ntop /usr/local/var/ntop

更新链接并缓存到共享库:

# /sbin/ldconfig

作为守护程序启动Ntop

# ntop -cd -i eth0 -u ntop -W 0.0.0.0:3001 -m 10.132.1.0/24

-c:防止从内存中清除空闲的主机
-d:使ntop成为守护程序
-i:指定要使用的网络接口
-u:用户ntop应该在初始化后运行(但必须以root身份启动)
-W:启动用于HTTPS的嵌入式ntop Web服务器
-m:指定本地子网

如果需要,可以使用man ntop获得更多命令行选项。
还要注意,如果需要公共访问,则需要在防火墙上打开端口3001.

对Ntop进行故障排除

如果在启动ntop时收到以下错误消息:

error while loading shared libraries: libntopreport-5.0.1.so: cannot open shared object file: No such file or directory

更新链接并缓存到共享库:

# /sbin/ldconfig

在Ntop上启用和配置NetFlow插件

在此处连接到ntop Web界面:

'https://本地主机:3001'

Active NetFlow插件:“插件”->“ NetFlow”->“激活”。

打开NetFlow配置面板:“插件”->“ NetFlow”->“配置”。

单击添加NetFlow设备,然后填写以下内容:

  • NetFlow设备:“ Mikrotik”
  • 本地收集器UDP端口:2055
  • 虚拟NetFlow接口网络地址:10.132.1.0/24(适当更改!)

在Mikrotik RouterOS上启用和配置NetFlow

可以通过SSH在Mikrotik上启用流量:

[Hyman@theitroad] > /ip traffic-flow 
[Hyman@theitroad] /ip traffic-flow> set enabled=yes interfaces=all

打印当前配置:

[Hyman@theitroad] /ip traffic-flow> print
 enabled: yes
 interfaces: all
 cache-entries: 4k
 active-flow-timeout: 30m
 inactive-flow-timeout: 15s

添加NetFlow目标(我们的Debian机器):

[Hyman@theitroad] /ip traffic-flow> /ip traffic-flow target
[Hyman@theitroad] /ip traffic-flow target> add address=10.132.1.27:2055 disabled=no version=5

打印目标配置:

[Hyman@theitroad] /ip traffic-flow target> print 
Flags: X - disabled 
 # ADDRESS VERSION
 0 10.132.1.27:2055 5

就是这样,现在我们必须等待几分钟,然后在ntop Web界面中查看数据。

在Debian上配置iptables

# iptables -A INPUT -s 10.132.1.1/32 -p udp --dport 2055 -j ACCEPT
# iptables -A INPUT -s 10.132.1.0/24 -p tcp -m multiport --dport 3000,3001 -j ACCEPT

Ntop WebUI报告

Report created on Sun Jan 12 15:28:19 2014 [ntop uptime: 44:04] 
Generated by ntop v.5.0.1 (32 bit) [i686-pc-linux-gnu]
© 1998-2012 by Luca Deri, built: Jan 11 2014 23:13:11.
Version: the CURRENT stable version
Listening on [eth0,Mikrotik] for all packets (i.e. without a filtering expression) 
Web reports include only interface "Mikrotik"

使用情况故障排除

警告INIT:无法创建pid文件(/usr/local/var/ntop/ntop.pid)

确保ntop用户是目录的所有者(因此可以写入该目录):

# chown ntop /usr/local/var/ntop

错误RRD:已禁用-无法创建基本目录(错误13,/usr/local/var/ntop/rrd)

该目录可能不存在,因此请创建该目录并将所有权更改为ntop用户:

# mkdir /usr/local/var/ntop/rrd
# chown -R ntop /usr/local/var/ntop/rrd/

错误:缺少点工具(预期为/usr/local/bin/dot)。请在此处设置其路径(键dot.path)。

找不到点时,尝试使用“本地网络流量图”可能会发生这种情况。
找出点的位置:

# which dot
/usr/bin/dot

并创建一个符号链接(或者在'https://localhost:3001/editPrefs.html'下编辑首选项):

# ln -s /usr/bin/dot /usr/local/bin/dot