MRTG mit m0n0wall nutzen
Interfaceauslastung der m0n0wall mit MRTG darstellen.
Mirko Kulpa, 18.12.2004
m0n0wall ist eine freie Software zur Realisierung einer Firewall und eines Routers.
Mit dem Multi Router Traffic Grapher (MRTG) lassen sich einfach Statistiken zur Auslastung
der Interface der m0n0wall erstellen.
m0n0wall vorbereiten
MRTG liest die Daten via SNMP aus der m0n0 aus. Dazu muss zuerst über das Webinterface
der SNMP-Agent der m0n0wall aktiviert werden. Unter "Services/SNMP" wir der Agent aktiviert.
Die Angaben für den Standort (System location) und den Ansprechpartner (System contact)
haben nur informativen Charakter. Wichtig ist die Community. Diese Zeichenkette ist quasi
das Kennwort für den SNMP-Zugriff. Hier sollten Sie eine nicht zu einfache Community
vergeben.
Soll der SNMP-Zugriff über das WAN-Interface erfolgen, muss noch eine Regel für
die Firewall eingerichtet werden. Rules werden im Webinterface unter "Firewall/Rules"
angelegt.
Wenn MRTG auf einem Server mit der IP-Adresse 10.1.1.1
hinter dem WAN-Interface läuft, sieht die Rule so aus.
Als Protokoll wird UDP ausgewählt, der Port 161 wird von SNMP benutzt.
Damit ist die m0n0wall bereit und kann per SNMP angesprochen werden.
MRTG einrichten
Dieses Tutorial setzt eine funktionsfähige Installation von MRTG voraus.
Auf der Homepage vom MRTG findet sich dazu reichlich Dokumentation.
Zur Einbindung der m0n0wall in die Konfiguartion vom MRTG leistet das Tool
"cfgmaker" gute Dienste. cfgmaker benötigt als Parameter die SNMP-Community
und die IP-Adresse bzw. den Hostnamen der m0n0wall.
/home/mku/tmp $ cfgmaker secretstring1@10.2.1.1 > monocfg
--base: Get Device Info on secretstring1@10.2.1.1:
--base: Vendor Id:
--base: Populating confcache
--snpo: confcache secretstring1@10.2.1.1: Descr sis0 --> 1
--snpo: confcache secretstring1@10.2.1.1: Descr sis1 --> 2
.
.
--base: Walking ifSpeed
--base: Walking ifAdminStatus
--base: Walking ifOperStatus
So sieht die gekürzte Ausgabe vom cfgmaker aus. Die MRTG-Konfiguartion wird in die
Datei "monocfg" geschrieben. Aus dieser Datei können nun die Eintragungen für
die einzelnen Interface in die aktive MRTG-Konfig (oft mrtg.cfg) übernommen
werden.
### Interface 1 >> Descr: 'sis0' | Name: '' | Ip: '10.0.0.1' | Eth: '' ###
Target[10.2.1.1_1]: 1:secretstring1@10.2.1.1:
SetEnv[10.2.1.1_1]: MRTG_INT_IP="10.0.0.1" MRTG_INT_DESCR="sis0"
MaxBytes[10.2.1.1_1]: 1250000
Title[10.2.1.1_1]: Traffic Analysis for 1 -- m0n0
PageTop[10.2.1.1_1]: <H1>Traffic Analysis for 1 -- m0n0</H1>
<TABLE>
<TR><TD>System:</TD> <TD>m0n0.local in "here"</TD></TR>
<TR><TD>Maintainer:</TD> <TD>"myself"</TD></TR>
<TR><TD>Description:</TD><TD>sis0 </TD></TR>
<TR><TD>ifType:</TD> <TD>ethernetCsmacd (6)</TD></TR>
<TR><TD>ifName:</TD> <TD></TD></TR>
<TR><TD>Max Speed:</TD> <TD>1250.0 kBytes/s</TD></TR>
<TR><TD>Ip:</TD> <TD>10.0.0.1 ()</TD></TR>
</TABLE>
Wer den IndexMaker vom MRTG nutzt, kann nun eine neue Indexseite erstellen.
Beim nächsten Lauf sollte MRTG mit der m0n0wall kommunizieren.
Ein Interface sieht dann in der Tagesübersicht zum Beispiel so aus:
Zur Fehlersuche ist es mitunter praktisch, MRTG von der Kommandozeile zu starten. Dann
werden Fehlermeldungen direkt angezeigt. An der monowall kann das Logging für SNMP-Firewallregel
aktiviert werden.
Weiterführende Informationen
|