天天看点

centos6.5安装流量分析工具nfsen及插件

                 流量分析

所需主机:

nfsen服务器一台:192.168.0.4(centos6.5)

需要:nfdump、nfsen、nfsight、PortTracker、HostStats、SURFmap

被监控主机一台:192.168.0.5(centos6.5)

需要:Fprobe

          需要倒流的服务器上安装Fprobe

fprobe用于把流量导给nfsen

yum install libpcap-devel gcc -y

cd /root/soft

wget http://jaist.dl.sourceforge.net/project/fprobe/fprobe/1.1/fprobe-1.1.tar.bz2

tar jxvf fprobe-1.1.tar.bz2

cd fprobe-1.1

./configure

make

make install

安装完成后,使用如下命令将eth0的流量导入到192.168.0.4(流量分析服务器,默认端口9995) fprobe -i eth0 192.168.0.4:9995

            在centos6.5上安装nfsen及插件

通过Fprobe把流量导给 nfsen 机器,在再nfsen机器上安装插件,分析流量状况

网络需求环境

    内网nfsen服务器

    iptables -F

    setenforce 0

    如要使得外网能够访问,需在网关做端口映射

所需编译环境

yum install -y httpd php wget gcc make rrdtool-devel rrdtool-perl perl-MailTools perl-Socket6 flex byacc perl php-mysql gcc-c++

          安装nfdump,(nfsen安装过程中需要)

mkdir /root/soft/

cd /root/soft/

wget http://downloads.sourceforge.net/project/nfdump/stable/nfdump-1.6.11/nfdump-1.6.11.tar.gz

tar -zxvf nfdump-1.6.11.tar.gz

cd nfdump-1.6.11

./configure --enable-nfprofile --enable-nftrack --enable-sflow  --with-rrdpath=/usr/bin/

           安装nfsen

mkdir /var/www/netflow

chown apache:apache /var/www/netflow

wget http://iweb.dl.sourceforge.net/project/nfsen/stable/nfsen-1.3.6p1/nfsen-1.3.6p1.tar.gz

tar zxvf nfsen-1.3.6p1.tar.gz

cd nfsen-1.3.6p1/

cp etc/nfsen-dist.conf etc/nfsen.conf

将etc/nfsen.conf中对应的值设置为如下值

   $BASEDIR = "/var/www/netflow";

   $USER    = "apache";

   $WWWUSER  = "apache";

   $WWWGROUP = "apache";

   %sources = (

          'upstream1'    => { 'port' => '9995', 'col' => '#0000ff', 'type' => 'netflow' },

   );

开始安装

./install.pl etc/nfsen.conf

启动nfsen: 

/var/www/netflow/bin/nfsen start

配置apache

vi /etc/httpd/conf/httpd.conf

<VirtualHost *:80>

     ServerAdmin [email protected]

     DocumentRoot /var/www/nfsen/

     ServerName dummy-host.example.com

</VirtualHost>

文件末尾添加就行

启动apache,并访问http://192.168.0.4/nfsen.php

因为被监控主机已经向本机9995端口导入流量,所以开启9995端口后就会接收到信息

因此浏览器访问到服务时已经有些许信息了

设置启动脚本

把nfsen添加到/etc/init.d/

touch /etc/init.d/nfsen 

vi /etc/init.d/nfsen 

添加如下内容:

     #!/bin/bash

     #

     # chkconfig: - 50 50

     # description: nfsen

     DAEMON=/var/www/netflow/bin/nfsen

     case "$1" in

           start)

           $DAEMON start

           ;;

           stop)

           $DAEMON stop

           status)

           $DAEMON status

           restart)

           sleep 1

           *)

           echo "Usage: $0 {start|stop|status|restart}"

           exit 1

      esac

      exit 0

添加权限设置开机启动并启动:

chmod 755 /etc/init.d/nfsen && chkconfig –add nfsen && chkconfig nfsen on

            安装Nfsight插件

wget http://sourceforge.net/projects/nfsight/files/nfsight-beta-20130323.tgz/download

tar zxvf download

cd nfsight-beta-20130323/

cp backend/nfsight.pm /var/www/netflow/plugins/

mkdir  /var/www/netflow/plugins/nfsight

chown -R apache:apache /var/www/netflow/plugins/nfsight

mkdir /var/www/nfsen/nfsight

cp -r frontend/* /var/www/nfsen/nfsight/

#nfsight的安装服务配置文件

chown -R apache:apache /var/www/nfsen/nfsight

如果没有安装MySQL,先安装启动 

yum install mysql-server -y

service mysqld start 

chkconfig mysqld on

设置下mysql的root密码为root(随意)

mysqladmin -uroot -p password 'root'

Mysql这里默认密码是空,回车即可

新建Mysql数据库Nfsight:

mysql -u root -proot -e “create database nfsight;”

打开浏览器,访问如下地址,开始安装 

http://ip/nfsight/installer.php

  第一步

  确定环境已经搭建好

  第二步

  URL:默认

  允许登录主机:设置成你需要在哪台主机上浏览此服务

  管理员名称:随意

  ID:随意

  密码:随意

       # 请记住自己的配置

  第三步    

  Back-end settings设置页中Path to data files设置为如下:

  /var/www/netflow/plugins/nfsight

  第四步

  数据库所在:如果是本机上装的数据库默认

  数据库端口:mysql为3306

  数据库用户:我的为root

  数据库密码:我的为root

  数据库名称:我的为nfsight

  最后一步:

  将浏览器上显示的配置添加到/var/www/netflow/etc/nfsen.conf对应的选项下

  下为示例请勿照抄

  @plugins = (

  [ '*', 'nfsight' ],

  );

  %PluginConf = (

  nfsight => {

        path => "/data/nfsen/plugins/nfsight",

        expiration => "180",

        network => {

            "10.2.1.0" => "24",

            "10.1.200.0" => "24",

        },

        scanner_limit => "5",

        print_int_scanner => "1",

        print_ext_scanner => "1",

        print_int_client => "1",

        print_ext_client => "1",

        print_int_server => "1",

        print_ext_server => "1",

        print_int_invalid => "1",

        print_ext_invalid => "1",

        sql_host => "localhost",

        sql_port => "3306",

        sql_user => "nfsight",

        sql_pass => "nfsight",

        sql_db => "nfsight",

    },

安装完成后,重启服务

service nfsen restart

添加计划任务

crontab -e 

05 * * * * wget –no-check-certificate -q -O - http://management:[email protected]/nfsight/aggregate.php

访问 http://ip/nfsight

        安装PortTracker插件

cd /root/soft/nfsen-1.3.6p1/contrib/PortTracker

cp PortTracker.pm /var/www/netflow/plugins/

cp PortTracker.php /var/www/nfsen/plugins/

创建PortTracker数据存放目录 

目录路径可以在PortTracker.pm配置文件中的PORTSDBDIR参数配置 

vi /var/www/netflow/plugins/PortTracker.pm 

修改PORTSDBDIR参数为/var/www/netflow/ports-db/ 

mkdir /var/www/netflow/ports-db/

chown -R apache:apache /var/www/netflow/ports-db/

chmod 775 /var/www/netflow/ports-db/

修改Nfsen配置文件添加插件信息: vi /var/www/netflow/etc/nfsen.conf

  @plugins = ( 

     # profile # module 

     # [ ‘*’, ‘demoplugin’ ], 

     [ ‘*’, ‘nfsight’ ], 

     [ ‘live’, ‘PortTracker’ ], 

生成PortTracker数据: nftrack -I -d /var/www/netflow/ports-db/ 

重新加载Nfsen: 

等5分钟左右访问Nfsen界面选择Plugins即可看到相应信息

         安裝HostStats插件

用hoststats,可以根据时间来显示流量状况.

wget http://jaist.dl.sourceforge.net/project/hoststats/hoststats-1.1.5.tar.gz

tar zxvf hoststats-1.1.5.tar.gz

cd hoststats-1.1.5

./install-libnfdump.sh

mkdir /var/www/hoststats

这个时候会提示要确认安装路径,输入/var/www/hoststats

还要输入数据与日志文件目录/var/www/hoststats/data-log

会在其下自动创建/data与/log目录

修改目录属主属组

chown apache:apache -R /var/www/hoststats

启动

/var/www/hoststats/hoststats start

添加到/etc/rc.local,开机启动

echo '/var/www/hoststats/hoststats start'  /etc/rc.local

以上步骤完成后,稍等几分钟,即可在plugins菜单上看到界面.

        安装SURFmap插件

SURFmap可以通过google map来展示ip连接情况

yum install php-gd php-pdo sqlite php-mbstring -y

service httpd restart

wget http://sourceforge.net/projects/surfmap/files/install.sh

chmod +x install.sh

./install.sh

重启nfsen,稍等几分钟,再看界面. 

/var/www/netflow/bin/nfsen reload

如此,http://IP/nfsen.php页面中的Plugins下会显示出SURFmap、HostStats、PortTracker

继续阅读