Will man die Firewall-Verbindungen auf einen MRTG grafisch darstellen kann man ein Bash Script in die Konfiguration des MRTG einbinden und zwar etwa so:
Code:Target[citrix]: `/etc/mrtg/citrix.sh`
Title[citrix]: Citrix
MaxBytes[citrix]: 1024
PageTop[citrix]: <h1>Citrix Traffic -- Firewall</h1>
Das dazugehörige Bash Script fragt den Traffic per iptables ab und summiert das ganze dann, damit der Graf auch schön zu erkennen ist:
Code:#!/bin/sh
IPTABLES="/sbin/iptables"
UPTIME="/usr/bin/uptime"
$IPTABLES -nvxL|grep dpt:1494|awk '{ sum+=$2; } END { printf("%d\n",sum); }'
$IPTABLES -nvxL|grep spt:1494|awk '{ sum+=$2; } END { printf("%d\n",sum); }'
$UPTIME | awk '{ print $3, $4, $5 }'
hostname
Dabei ist es völlig irrelevant, ob man mehrere iptables auf den Port 1494 (Citrix) ansetzt, da die Summe über alle iptables gebildet wird.
Eine andere Mögichkeit besteht mit folgendem Script:
Code:#!/bin/sh
IPTABLES="/sbin/iptables"
UPTIME="/usr/bin/uptime"
a=`$IPTABLES -nvxL|grep dpt:1494|awk '{ print $2 }'`
b=`$IPTABLES -nvxL|grep dpt:1604|awk '{ print $2 }'`
c=`expr $a + $b`
echo $c
a=`$IPTABLES -nvxL|grep spt:1494|awk '{ print $2 }'`
b=`$IPTABLES -nvxL|grep spt:1604|awk '{ print $2 }'`
c=`expr $a + $b`
echo $c
$UPTIME | awk '{ print $3, $4, $5 }'
hostname
Hier wird noch der Port 1604 berücksichtig (Browsing).