天天看點

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

繼續閱讀