在Debian上安装NTOP并在Mikrotik RouterOS上配置为使用NetFlow
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