目的:讓RouterBoard送出NetFlow給安裝了NfSen軟體的Server主機去做NefFlow畫圖分析
前置做業:先在RouterBoard設定送出NetFlow資料給Server (192.168.88.70)
安裝NfSen軟體與相關NfSen Plugin軟體
安裝apache:
yum install -y httpd
service httpd start
chkconfig httpd on
安裝php:
yum install -y php php-gd php-mbstring php-mysql
service httpd restart
安裝rrdtool及所需套件:
yum install -y perl-rrdtool rrdtool rrdtool-devel rrdutils flex byacc php
安裝所需perl套件:
yum install -y perl-Socket6 perl-MailTools perl-Mail-Sender
安裝程式編譯工具
yum install -y gcc gcc-c++ kernel-devel perl-core
安裝Nfdump工具:
cd /usr/local/src/
wget http://downloads.sourceforge.net/project/nfdump/stable/nfdump-1.6.6/nfdump-1.6.6.tar.gz
tar zxvf nfdump-1.6.6.tar.gz
cd nfdump-1.6.6/
./configure --enable-nfprofile --with-rrdpath=/usr/bin
make
make install
下載設定Nfsen:
cd /usr/local/src/
mkdir -p /usr/local/nfsen
wget http://downloads.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
修改Nfsen設定文件:
vi etc/nfsen.conf
修改下列參數
$BASEDIR = "/usr/local/nfsen"; #第21行
$HTMLDIR = "/var/www/html/nfsen/"; #第39行
$USER = "apache"; #第91行
$WWWUSER = "apache"; #第95行
$WWWGROUP = "apache"; #第96行
#新增flow設備 #第162行
#(RouterBoard用udp 9995送出給主機接收,不同的設備設定不同的udp port)
%sources = (
'device1' => { 'port' => '9995', 'col' => '#0000ff', 'type' => 'netflow' },
'device2' => { 'port' => '9996', 'col' => '#00ff00', 'type' => 'netflow' },
'device3' => { 'port' => '9997', 'col' => '#ffff00', 'type' => 'netflow' },
);
#'col' => '#ffff00' <- p="">
安裝Nfsen:
./install.pl etc/nfsen.conf
啟動Nfsen:
/usr/local/nfsen/bin/nfsen start
重啟apache:
service httpd restart
->
http://server-ip/nfsen/nfsen.php
大概過個10分鐘左右就會開始有圖型分析資料顯示出來
大概過個10分鐘左右就會開始有圖型分析資料顯示出來
若沒有圖型顯示的話,可檢查一下目錄權限與看NetFlow資料是否有從設備丟出來給Server
tcpdump -i eth0 port 9995
nfdump 的 log 在 /usr/local/nfsen/profiles-data/live/
netstat -an |more
Nfsen Plugin實用安裝
PortTracker安裝
cd /usr/local/src/nfdump-1.6.6/
./configure --enable-nfprofile --enable-nftrack --with-rrdpath=/usr/bin
make
cp bin/nftrack /usr/local/bin/
建立PortTracker存放目錄:
mkdir /usr/local/nfsen/ports-db
chown -R apache:apache /usr/local/nfsen/ports-db/
編輯PortTracker.pm修改$PORTSDBDIR目錄:
vim /usr/local/src/nfsen-1.3.6p1/contrib/PortTracker/PortTracker.pm
my $PORTSDBDIR = "/usr/local/nfsen/ports-db"; #第61行
複製PortTracker插件至對應目錄:
cp /usr/local/src/nfsen-1.3.6p1/contrib/PortTracker/PortTracker.pm /usr/local/nfsen/plugins/
cp /usr/local/src/nfsen-1.3.6p1/contrib/PortTracker/PortTracker.php /var/www/html/nfsen/plugins/
修改Nfsen設定文件加入Plugin連結:
vim /usr/local/nfsen/etc/nfsen.conf
#第213行 ()括號內,新增[ 'live', 'PortTracker' ],
@plugins = (
# profile # module
# [ '*', 'demoplugin' ],
[ 'live', 'PortTracker' ],
);
產生PortTracker測試數據:
sudo -u apache /usr/local/bin/nftrack -I -d /usr/local/nfsen/ports-db/
#Create DBs ...
Creating tcp:flows | Left: 341 files
依主機運算效能,大概要等候10~15分鐘左右
Nfsen重啟:
/usr/local/nfsen/bin/nfsen reload
Plugin分析資料如下
如果有發生PortTracker 的Top 10 Statistics有數據出現,但是沒有產生分析圖型,檢查/var/log/message日誌文件是否有"nfsen[17392]: Error reading channel stat information. Missing key 'first' "錯誤訊息,如果有,則執行/usr/local/nfsen/bin/nfsen -r live即可解決沒圖型產生的問題。
HostStats前置安裝作業
因HostStats需要使用到libnfdump的函式庫,所以要先安裝一下libnfdump
否則等會做編譯時會有失敗畫面出現
** libnfdump not found **
HostStats uses a library called libnfdump to read nfdump files.
Please run './install-libnfdump.sh' (as root) or install libnfdump manually
and then run './configure' again.
Libnfdump website: http://sourceforge.net/projects/libnfdump/
wget http://sourceforge.net/projects/hoststats/files/hoststats-1.1.5.tar.gz
tar zxvf hoststats-1.1.5.tar.gz
cd hoststats-1.1.5
./install-libnfdump.sh
./configure
make
make install
/usr/local/nfsen/bin/nfsen reload
vi /data/hoststats/hoststats.conf
依需求調整顯示Filter設定
profiles = all,ssh,http,https,TCP,UDP
all:filter = any
all:max-size = 10G
all:color = 008DFF
ssh:filter = proto TCP and port 22
ssh:max-size = 5G
ssh:color = CCBB00
http:filter = proto TCP and port 80
http:max-size = 5G
http:color = FF00BB
https:filter = proto TCP and port 443
https:max-size = 5G
https:color = 009F67
TCP:filter = proto TCP
TCP:max-size = 5G
TCP:color = FF5700
UDP:filter = proto UDP
UDP:max-size = 5G
UDP:color = 8D00BA
依需求調整%source的變數
flow-data-path = /usr/local/nfsen/profiles-data/live/%source/%y/%m/%d/nfcapd.%y%m%d%H%Mflow-data-path = /usr/local/nfsen/profiles-data/live/%source/%y/%m/%d/nfcapd.%y%m%d%H%M
flow-data-path = /usr/local/nfsen/profiles-data/live/%source/%y/%m/%d/nfcapd.%y%m%d%H%M
存檔離開,接著輸入下面指令
執行chown apache.apache -R /data/hoststats
執行 sudo -u apache /data/hoststats/hoststats start
會有Error訊息:Error While Loading Shared Libraries, Cannot Open Shared Object File產生
主要是因為沒有關聯Libraries,接著再輸入以下指令關聯
執行chown apache.apache -R /data/hoststats
執行 sudo -u apache /data/hoststats/hoststats start
會有Error訊息:Error While Loading Shared Libraries, Cannot Open Shared Object File產生
主要是因為沒有關聯Libraries,接著再輸入以下指令關聯
export LD_LIBRARY_PATH="/usr/local/lib"
接著設定開機自動執行NfSen與Plugin
# vi /etc/rc.local
加入以下三行設定
接著設定開機自動執行NfSen與Plugin
# vi /etc/rc.local
加入以下三行設定
SURFmap安裝
wget http://sourceforge.net/projects/surfmap/files/install.sh
chmod +x install.sh
yum -y install php-mbstring
yum -y install php5-sqlite php-pdo
yum -y install php-gd
./install.sh
service httpd restart
其它雜項
關閉iptable
service iptables stop //停用
chkconfig iptables off //重開機不執行
關閉SELinux
sestatus //查看SELinux狀態
vi /etc/sysconfig/selinux //編輯SELinux
enforcing //啟動
permissive //寬容
disabled //禁用
0 回應:
張貼留言