EnglischFranzösischSpanisch

Ad


OnWorks-Favicon

cfgmaker – Online in der Cloud

Führen Sie cfgmaker im kostenlosen Hosting-Anbieter OnWorks über Ubuntu Online, Fedora Online, den Windows-Online-Emulator oder den MAC OS-Online-Emulator aus

Dies ist der Befehl cfgmaker, der beim kostenlosen Hosting-Anbieter OnWorks mit einer unserer zahlreichen kostenlosen Online-Workstations wie Ubuntu Online, Fedora Online, dem Windows-Online-Emulator oder dem MAC OS-Online-Emulator ausgeführt werden kann

PROGRAMM:

NAME/FUNKTION


cfgmaker – Erstellt mrtg.cfg-Dateien (für mrtg-2.17.4)

ZUSAMMENFASSUNG


cfgmaker [Optionen] [community@]router [[Optionen] [community@]router ...]

OPTIONAL


--ifref=name Schnittstellenreferenzen nach Schnittstellenname (Standard)
--ifref=ip ... nach IP-Adresse
--ifref=eth ... nach Ethernet-Nummer
--ifref=descr ... nach Schnittstellenbeschreibung
--ifref=nr ... nach Schnittstellennummer
--ifref=type ... nach Schnittstellentyp
Sie können auch mehrere durch Kommas getrennte Optionen verwenden.
In diesem Fall wird die erste verfügbare verwendet:
zB --ifref=ip,name,nr

--ifdesc=nr Schnittstellenbeschreibung verwendet Schnittstellennummer (Standard)
--ifdesc=ip ... verwendet IP-Adresse
--ifdesc=eth ... verwendet Ethernet-Nummer
--ifdesc=descr ... verwendet die Schnittstellenbeschreibung
--ifdesc=name ... verwendet den Schnittstellennamen
--ifdesc=catname ... verwendet den CatOS-Schnittstellennamen
--ifdesc=ppname ... verwendet den Passport-Portnamen
--ifdesc=alias ... verwendet Schnittstellenalias
--ifdesc=type ... verwendet den Schnittstellentyp
Sie können auch mehrere durch Kommas getrennte Optionen verwenden.
In diesem Fall wird die erste verfügbare verwendet:
zB --ifdesc=catname,ppname,descr,alias,ip,name,nr

--if-filter=f Testen Sie jede Schnittstelle gegen Filter f, um zu entscheiden, ob
oder nicht, diese Schnittstelle in die Sammlung aufzunehmen.
Derzeit wird f als Perl-Ausdruck ausgewertet
und sein Wahrheitswert wird verwendet, um das abzulehnen oder zu akzeptieren
Schnittstelle.
(Experimentell, in der Entwicklung, kann sich ändern)

--if-template=Vorlagendatei
Ersetzen Sie die normalen Zieleinträge für die Schnittstellen
mit einem Eintrag, der durch den Inhalt der Datei angegeben wird
Vorlagendatei. Die Datei soll Perl enthalten
Code, der ausgeführt werden soll, um die Zeilen für die zu generieren
Ziel in der Konfigurationsdatei.
(Experimentell, in der Entwicklung, kann sich ändern)

--host-template=Vorlagendatei
Zusätzlich zum Erstellen von Zielen für die Schnittstellen eines Hosts
Erstellen Sie wie angegeben auch Ziele für den Host selbst
durch den Inhalt in der Datei templatefile. Die Datei ist
Soll Perl-Code enthalten, der zum Generieren ausgeführt werden soll
die Zeilen für die hostbezogenen Ziele (z. B. CPU,
Ping-Antwortzeitmessungen usw.) in der Konfiguration
uration-Datei.
(Experimentell, in der Entwicklung, kann sich ändern)

--global „x: a“ fügt globale Konfigurationseinträge hinzu

--no-down prüft nicht den Admin- oder Opr-Status von Schnittstellen

--show-op-down zeigt Schnittstellen an, die operativ ausgefallen sind

--zero-speed=spd verwendet diese Geschwindigkeit in Bits pro Sekunde als Schnittstelle
Geschwindigkeit für alle Schnittstellen, die eine Geschwindigkeit von 0 zurückgeben
über ifSpeed/ifHighSpeed. 100 Mbit/s = 100000000

--subdirs=format Geben Sie jedem Router ein eigenes Unterverzeichnis und benennen Sie jedes nach
„Format“, in dem HOSTNAME und SNMPNAME vorliegen
durch die Werte dieser Elemente ersetzt – zum Beispiel
--subdirs=HOSTNAME oder --subdirs="HOSTNAME (SNMPNAME)"

--noreversedns führt keine umgekehrte Suche nach IP-Nummern durch

--community=cmty Setzt die Standard-Community-Zeichenfolge auf „cmty“ statt
"öffentlich".

--enable-ipv6 Aktiviert die IPv6-Unterstützung, wenn die erforderlichen Bibliotheken vorhanden sind
gegenwärtig. Numerische IPv6-Adressen müssen eingeschlossen sein
in eckigen Klammern, z. B. public@[2001:760:4::1]:161

--use-16bit 16-Bit-SNMP-Anfrage-IDs verwenden, um alle Router abzufragen.

--snmp-options=:[ ][:[ ][:[ ][:[ ][: ]]]]

Geben Sie Standard-SNMP-Optionen an, die an alle angehängt werden sollen
Router folgen. Einzelne Felder können leer sein.
Folgende Router überschreiben möglicherweise einige oder alle davon
Optionen für --snmp-options.

--dns-domain=Domäne
Gibt eine Domäne an, die an den Namen aller angehängt werden soll
Router folgen.

--nointerfaces Keine Konfigurationszeilen für Schnittstellen generieren,
Überspringen Sie den Schritt des Sammelns von Schnittstelleninformationen und
Führen Sie keinen Schnittstellenvorlagencode aus.

--interfaces Erzeugt Konfigurationszeilen für Schnittstellen (dies ist die
Standard). Der Hauptzweck dieser Option besteht darin, zu negieren
ein --nointerfaces erscheint früher in der Befehlszeile.

--help kurze Hilfenachricht
--man vollständige Dokumentation
--version gibt die Version von cfgmaker aus

--output=file Ausgabedateiname ist standardmäßig STDOUT

BESCHREIBUNG


Cfgmaker erstellt MRTG-Konfigurationsdateien basierend auf Informationen, die von einem Router oder abgerufen werden
ein anderes SNMP-verwaltbares Gerät.

[community@]Router

Gemeinschaft ist der Community-Name des Geräts, für das Sie eine Konfiguration erstellen möchten. Wenn
nicht angegeben, der Standardwert ist 'Öffentlichkeit'; Vielleicht möchten Sie dies zuerst versuchen, wenn Sie dies nicht tun
Kennen Sie den Community-Namen eines Geräts. Wenn Sie den falschen Community-Namen verwenden, wird dies der Fall sein
Bekomme keine Antwort vom Gerät.

Router ist der DNS-Name oder die IP-Nummer eines SNMP-verwaltbaren Geräts. Dem Namen folgen
Sie können 6 weitere, durch Doppelpunkte getrennte Optionen angeben. Die vollständige Syntax sieht so aus:

Router[:[prt][:[tmout][:[retr][:[Backoff][:zu]]]]]

Von besonderem Interesse dürfte der letzte Parameter sein, zu. Wenn Sie dies auf „2“ setzen, dann ist Ihr
Das Gerät wird mit SNMP-Version-2-Anfragen abgefragt. Dadurch können Sie das 64-Bit abfragen
Traffic-Zähler im Gerät und funktionieren daher deutlich besser mit schnellen Schnittstellen (Nr
mehr Zählerüberlauf). Beachten Sie, dass die Reihenfolge, in der die Router angegeben sind, auf der
Die Befehlszeile ist von Bedeutung, da beim Generieren der Konfigurationsdatei dieselbe Reihenfolge verwendet wird.
Für den ersten angegebenen Router werden zuerst die Konfigurationszeilen generiert, gefolgt von
Leitungen, die zum nächsten Router gehören usw.

Beachten Sie, dass die erste Zeile der generierten CFG-Datei die gesamte Befehlszeile enthält
Optionen, die Sie zum Generieren verwendet haben. Dies soll eine einfache „Regeneration“ für den Fall ermöglichen
Sie möchten neue Hosts hinzufügen oder eine andere globale Änderung vornehmen.

Konfiguration
Mit Ausnahme der --Ausgabe und - global Optionen, alle Optionen wirken sich nur auf die Router aus
Folgen Sie ihnen in der Befehlszeile. Wenn eine Option zuvor in der Befehlszeile angegeben wurde
Wenn ein Befehl später mit einem anderen Wert in der Befehlszeile erneut angezeigt wird, überschreibt der neue Wert den alten
Wert für die verbleibenden Router. Auf diese Weise können Optionen maßgeschneidert werden
Gruppen von Routern oder für einzelne Router.

See --Ausgabe und - global wie ihr Verhalten dadurch beeinflusst wird, wo oder wie oft
Sie erscheinen in der Befehlszeile.

Siehe die Beispiele Nachfolgend erfahren Sie, wie Sie eine Option für mehrere Router unterschiedlich festlegen.

--help
Drucken Sie eine kurze Hilfenachricht und beenden Sie das Programm.

--Mann
Druckt die Handbuchseite und wird beendet.

--Version
Drucken Sie die Version von cfgmaker. Dies sollte mit der Version von MRTG für diese Konfiguration übereinstimmen
Dateien werden erstellt.

--ifref nr|ip|eth|beschr|Name
Wählen Sie die Methode zur Schnittstellenidentifizierung aus. Standard ist nr welches den Router identifiziert
Schnittstellen nach ihrer Nummer. Leider ist das Schnittstellennummerierungsschema in einem SNMP
Baum kann sich verändern. Einige Router ändern ihre Nummerierung, wenn neue Schnittstellen hinzugefügt werden.
andere ändern ihre Nummerierung bei jedem Vollmond nur zum Spaß.

Um dieses traurige Problem zu umgehen, kann MRTG Schnittstellen anhand von vier weiteren Eigenschaften identifizieren.
Nichts davon funktioniert für alle Schnittstellen, aber Sie sollten in der Lage sein, eine zu finden, die das tut
gut für dich. Beachten Sie, dass insbesondere Ethernet-Adressen problematisch sein können
Router haben auf den meisten ihrer Schnittstellenkarten dieselbe Ethernet-Adresse.

Auswählen ip um die Schnittstelle anhand ihrer IP-Nummer zu identifizieren. Verwenden eth um das Ethernet zu nutzen
Adresse zur Identifizierung. Verwenden beschr um die Schnittstellenbeschreibung zu verwenden. Oder verwenden Name zu
Verwenden Sie den Schnittstellennamen.

Sie können bei Bedarf mehrere Eigenschaften angeben, getrennt durch Kommas. In diesem Fall,
cfgmaker verwendet das erste Element in der Liste, das eine eindeutige Identifizierung ermöglichen kann.
Auf diese Weise können Sie beispielsweise angeben, dass die IP-Adresse verwendet werden soll, und wenn dies der Fall ist, verwenden Sie ifName
ist nicht definiert:
--ifref IP,Name

Wenn die von Ihnen gewählte Methode keine eindeutige Schnittstellenidentifizierung auf dem von Ihnen verwendeten Gerät zulässt
fragen nach, cfgmaker werde dir davon erzählen.

--ifdesc nr|ip|eth|beschr|Name|tippe|alias
Wählen Sie aus, was als Beschreibung der Schnittstelle verwendet werden soll. Die Beschreibung erscheint in
die Eigenschaft „Title[]“ für das Ziel sowie den Textheader im HTML-Code
definiert im „PageTop[]“ des Ziels. Standardmäßig wird verwendet nr Das ist nur die Schnittstelle
Zahl, die für den Betrachter der Diagramme nicht immer nützlich ist.

Es gibt 6 weitere Eigenschaften, die genutzt werden könnten. Verwenden ip wenn Sie das verwenden möchten
IP-Adresse der Schnittstelle. Verwenden eth wenn Sie die Ethernet-Adresse der Schnittstelle verwenden möchten.
Wenn Sie eine bessere Beschreibung wünschen, können Sie beides verwenden beschr, Name or alias. Genau
Was diese Funktionen jeweils bewirken, variiert je nach Ausrüstung, sodass Sie dies möglicherweise tun müssen
Experiment. Zum Beispiel für eine serielle Schnittstelle auf einem Cisco-Router, auf dem IOS läuft
Name könnte dazu führen, dass „S0“ die Schnittstellenbeschreibung ist. beschr könnte dazu führen
„Serial0“ und alias könnte zu „Link to HQ“ führen (vorausgesetzt, dies wird als verwendet).
(siehe „Beschreibung“ der Schnittstelle in der Konfiguration des Routers).

Wenn Sie schließlich die Schnittstelle anhand ihres B-Typs (z. B. „ethernetCSMA“) beschreiben möchten,
„propPointtoPoint“ usw.), die Sie verwenden können tippe.

Sie können bei Bedarf mehrere Eigenschaften angeben, getrennt durch Kommas. In diesem Fall,
cfgmaker verwendet das erste Element in der Liste, das für diese Schnittstelle verfügbar ist.
Auf diese Weise können Sie beispielsweise angeben, welche der verschiedenen Aliase der Reihe nach verwendet werden sollen
der Präferenz.

--if-filter 'Filterausdruck'
Zunächst einmal befindet sich dies in der Entwicklung und ist experimentell.

Verwenden Sie dies, wenn Sie eine bessere Kontrolle darüber haben möchten, in welche Schnittstellen eingebunden wird
die Konfiguration. Der Filterausdruck wird als Teil des Perl-Codes ausgewertet und ist
Es wird erwartet, dass ein Wahrheitswert zurückgegeben wird. Wenn wahr, schließen Sie die Schnittstelle ein und wenn falsch,
Schließen Sie die Schnittstelle aus.

Weitere Informationen zur Funktionsweise dieser Filter finden Sie im Abschnitt „Details zu
Filter“ unten.

--if-Vorlage Vorlagendatei
Zunächst einmal befindet sich dies in der Entwicklung und ist experimentell.

Verwenden Sie diese Option, wenn Sie steuern möchten, wie die Linie für jedes Ziel im aussehen soll
Konfigurationsdatei. Der Inhalt der Datei Vorlagendatei wird als bewertet
Perl-Programm, das die Zeilen mithilfe bestimmter Variablen für die Ein- und Ausgabe generiert.

Weitere Informationen zur Funktionsweise dieser Vorlagen finden Sie im Abschnitt „Details zu
„Vorlagen“ unten.

--host-template Vorlagendatei
Zunächst einmal befindet sich dies in der Entwicklung und ist experimentell.

Verwenden Sie diese Option, wenn Sie zusätzliche Ziele im Zusammenhang mit dem Host selbst haben möchten, z. B. die CPU
Auslastung, Ping-Antwortzeit zum Host, Anzahl der ausgelasteten Modems usw. Der Inhalt
der Datei Vorlagendatei wird einmal pro Host als Perl-Programm ausgewertet
generiert die Zeilen unter Verwendung bestimmter Variablen für die Ein- und Ausgabe.

Weitere Informationen zur Funktionsweise dieser Vorlagen finden Sie im Abschnitt „Details zu
„Vorlagen“ weiter unten.

--Gemeinschaft Community-String
Hiermit legen Sie die Community für die in der Befehlszeile folgenden Router fest
Community-String. Einzelne Router können diesen Community-String überschreiben, indem sie verwenden
die Syntax community@router.

--enable-ipv6
Diese Option aktiviert die IPv6-Unterstützung. Es erfordert die entsprechenden Perl-Module; wenn sie
nicht gefunden werden, ist IPv6 deaktiviert (siehe IPv6-Dokumentation).

cfgmaker verwendet je nach Ziel IPv6 oder IPv4. Wenn das Ziel eine Zahl ist
Adresse, das Protokoll hängt von der Art der Adresse ab. Wenn das Ziel ein Hostname ist,
cfgmaker wird versuchen, den Namen zunächst in eine IPv6-Adresse und dann in eine IPv4-Adresse aufzulösen
Adresse.

Numerische IPv6-Adressen müssen in eckigen Klammern angegeben werden.

Beispielsweise:

cfgmaker --enable-ipv6 [2001:760:4::1]:165:::2

Wenn das Ziel sowohl eine IPv6-Adresse als auch eine IPv4-Adresse mit demselben Hostnamen hat,
cfgmaker fragt das Ziel zunächst über IPv6 ab und greift auf IPv4 zurück, wenn dies fehlschlägt. Das
ist nützlich für Ziele, die SNMP über IPv6 nicht unterstützen.

--use-16bit
Diese Option erzwingt die Verwendung von 16-Bit-SNMP-Anfrage-IDs. Bei einigen defekten SNMP-Agenten ist dies nicht der Fall
Akzeptieren Sie 32-Bit-Anfrage-IDs. Versuchen Sie, diese Option so weit wie möglich zu vermeiden, beschweren Sie sich bei
Stattdessen wenden Sie sich an Ihren Agentenanbieter.

--snmp-options :[port ][:[Timeout][:[versucht es erneut][:[Backoff][:Version]]]]
Verwenden Sie dies, um die Standard-SNMP-Optionen für alle Router festzulegen, die dem Befehl folgen
Linie. Einzelne Werte sowie nachfolgende Doppelpunkte können weggelassen werden. Beachten Sie, dass
Router können einzelne (oder alle) von angegebenen Werte überschreiben --snmp-options durch die Nutzung
die Syntax

Router[:[port ][:[Timeout][:[versucht es erneut][:[Backoff][:Version]]]]]

- global "bla: ABC"
Verwenden Sie dies, um der generierten Konfigurationsdatei globale Optionen hinzuzufügen. Du kannst anrufen - global
mehrmals, um mehrere Optionen hinzuzufügen. Die Zeile wird einfach in der Konfiguration angezeigt
bevor die Konfiguration für den nächsten Router in der Befehlszeile erscheint.

--global „Arbeitsverzeichnis: /home/mrtg“

Wenn Sie einige Standardoptionen wünschen, können Sie diese festlegen

--global „Optionen[_]: Growright,Bits“

Angeben - global Nach dem letzten Router in der Befehlszeile wird eine Zeile erstellt
die Konfigurationsdatei, die nach allen Routern erscheint.

--noreversedns
Versuchen Sie nicht, IP-Nummern umgekehrt nachzuschlagen ... ein Muss für DNS-freie Umgebungen.

--no-down
Normalerweise enthält cfgmaker keine Schnittstellen, die mit etwas anderem gekennzeichnet sind
administrativ und operativ UP. Mit diesem Schalter bekommen Sie sie alle.

--show-op-down
Schließen Sie Schnittstellen ein, die operativ ausgefallen sind.

--nullgeschwindigkeit Geschwindigkeit
Weisen Sie diese Geschwindigkeit in Bits pro Sekunde allen Schnittstellen zu, die für ifSpeed ​​und 0 zurückgeben
ifHighSpeed. Einige Schalter, insbesondere Gießereigeräte, geben eine Geschwindigkeit von Null zurück
einige Schnittstellen. Um beispielsweise alle Schnittstellen, die Null melden, auf 100 Mbit/s zu setzen,
Verwenden Sie --zero-speed=100000000.

--subdirs Format
Geben Sie jedem Router ein eigenes Unterverzeichnis für die HTML- und Grafikdateien (oder .rrd-Dateien). Der
Der Verzeichnisname ist der angegebene Format Zeichenfolge mit ein paar Musterersetzungen. Der
Die Zeichenfolge „HOSTNAME“ wird durch den Hostnamen des Routers (wie auch immer Sie angegeben haben) ersetzt
spezifizierte es auf der cfgmaker Befehlszeile – es kann ein tatsächlicher Hostname oder nur eine IP sein
Adresse) und „SNMPNAME“ wird durch die Idee des Geräts für seinen eigenen Namen ersetzt (die
derselbe Name, der auf der rechten Seite der „Titel“-Zeilen erscheint). Zum Beispiel ein Anruf
mögen:

cfgmaker --subdirs=HOSTNAME__SNMPNAME [E-Mail geschützt]

würde dazu führen, dass Linien erzeugt werden, die etwa so aussehen:

Directory[10.10.0.18_1]: 10.10.0.18__fp2200-bothrip-1.3

--Ausgabe Datei
Schreiben Sie die Ausgabe von cfgmaker in die Datei Datei. Standardmäßig wird „STDOUT“ verwendet.
--Ausgabe Es wird erwartet, dass es nur einmal in der Befehlszeile erscheint. Bei mehrmaliger Verwendung
die vom letzten angegebene Datei --Ausgabe werden verwendet.

--nointerfaces
Generieren Sie keine Konfigurationszeilen für Schnittstellen.

Dadurch überspringt cfgmaker alle Schritte im Zusammenhang mit Schnittstellen, was bedeutet, dass dies nicht der Fall ist
Jede Abfrage des Routers zum Abrufen von Schnittstelleninformationen, die die Geschwindigkeit beschleunigt
Ausführung von cfgmaker und es werden keine Schnittstellenvorlagen ausgeführt.

--Schnittstellen
Dadurch generiert cfgmaker Konfigurationszeilen für Schnittstellen (Standard).
Verhalten).

Der Hauptzweck dieser Option besteht darin, ein --nointerfaces zu negieren, das früher auf dem erscheint
Befehlszeile.

SNMP V3 Optionen
Cfgmaker unterstützt SNMP V3 mit dem Netz:SNMP Perl-Modul. Es gibt optionale Parameter
Auswirkungen auf den SNMP-Betrieb haben.

--enablesnmpv3 {ja|nein}
Das --enablesnmpv3 Option ist ein optionales Flag, um das Vorhandensein von zu überprüfen
Net::SNMP Bibliotheken. Cfgmaker wird versuchen festzustellen, ob dieses Flag erforderlich ist und
stellt die Werte automatisch ein.

SNMPv3 Argumente

Ein SNMP-Kontext ist eine Sammlung von Verwaltungsinformationen, auf die eine SNMP-Entität zugreifen kann. Ein
Verwaltungsinformationen können in mehr als einem Kontext und einer SNMP-Entität vorhanden sein
hat möglicherweise Zugriff auf viele Kontexte. Die Kombination aus einer contextEngineID und einer
contextName identifiziert eindeutig einen Kontext innerhalb einer Verwaltungsdomäne. In einem
SNMPv3-Nachricht, contextEngineID und contextName sind als Teil der ScopedPDU enthalten.
Alle Methoden, die eine SNMP-Nachricht generieren, akzeptieren optional eine --contextengineid und
--contextname Argument zum Konfigurieren dieser Felder.

Kontext-Engine-ID
Das --contextengineid Das Argument erwartet eine hexadezimale Zeichenfolge, die das gewünschte darstellt
contextEngineID. Die Zeichenfolge muss 10 bis 64 Zeichen (5 bis 32 Oktette) lang sein und kann
ein optionales „0x“ vorangestellt werden. Sobald die --contextengineid angegeben ist bleibt es bestehen
mit dem Objekt, bis es erneut geändert oder durch Übergabe des auf den Standardwert zurückgesetzt wird
undefinierter Wert. Standardmäßig ist die contextEngineID so eingestellt, dass sie mit der übereinstimmt
authoritativeEngineID der autorisierenden SNMP-Engine.

Kontextname
Der contextName wird als Zeichenfolge übergeben, die eine Länge von 0 bis 32 Oktetten haben muss
--contextname Streit. Der contextName bleibt beim Objekt, bis er geändert wird.
Der contextName ist standardmäßig eine leere Zeichenfolge, die den „Standard“-Kontext darstellt.

Benutzerbasiert Sicherheit Modell Argumente

Das von SNMPv3 verwendete benutzerbasierte Sicherheitsmodell (USM) erfordert, dass ein securityName vorhanden ist
angegeben mit --Nutzername Streit. Die Erstellung eines Net::SNMP-Objekts mit dem
Die auf SNMPv3 eingestellte Version schlägt fehl, wenn die --Nutzername Argument ist nicht vorhanden. Der --Nutzername
Das Argument erwartet eine Zeichenfolge mit einer Länge von 1 bis 32 Oktetten.

Das benutzerbasierte Sicherheitsmodell ermöglicht verschiedene Sicherheitsstufen, die Folgendes adressieren:
Authentifizierungs- und Datenschutzbedenken. Ein SNMPv3-Ziel leitet die Sicherheitsstufe ab
(securityLevel) basierend darauf, welches der folgenden Argumente angegeben wird.

Standardmäßig wird ein securityLevel von „noAuthNoPriv“ angenommen. Wenn die --Authentifizierungsschlüssel or
--authpassword Wenn Argumente angegeben werden, wird securityLevel zu „authNoPriv“. Der
--authpassword Das Argument erwartet einen String, der mindestens 1 Oktett lang ist. Optional,
--Authentifizierungsschlüssel Das Argument kann verwendet werden, so dass kein Klartext-Passwort erforderlich ist
in einem Skript angegeben. Der --Authentifizierungsschlüssel Das Argument erwartet eine hexadezimale Zeichenfolge, die von erzeugt wird
Lokalisieren des Passworts mit der maßgeblichen EngineID für das spezifische Ziel
Gerät. Dazu kann das Dienstprogramm „snmpkey“ verwendet werden, das in der Net::SNMP-Distribution enthalten ist
Erstellen Sie die hexadezimale Zeichenfolge (siehe snmpkey).

Durch SNMPv3 werden zwei verschiedene Hash-Algorithmen definiert, die von der Security verwendet werden können
Modell zur Authentifizierung. Diese Algorithmen sind HMAC-MD5-96 „MD5“ (RFC 1321) und
HMAC-SHA-96 „SHA-1“ (NIST FIPS PUB 180-1). Der vom Modul verwendete Standardalgorithmus ist
HMAC-MD5-96. Dieses Verhalten kann mithilfe von geändert werden --authprotocol Streit. Das
Das Argument erwartet, dass entweder die Zeichenfolge „md5“ oder „sha“ übergeben wird, um den Hash zu ändern
Algorithmus.

Durch Angabe der Argumente --privkey or --privpassword das securityLevel, das mit verbunden ist
Das Objekt wird zu „authPriv“. Laut SNMPv3 erfordert der Datenschutz die Verwendung von
Authentifizierung. Wenn also eines dieser beiden Argumente vorhanden ist und die --Authentifizierungsschlüssel
or --authpassword Fehlen Argumente, schlägt die Erstellung des Objekts fehl. Der --privkey
und --privpassword Argumente erwarten die gleiche Eingabe wie die --Authentifizierungsschlüssel und --authpassword
Argumente bzw.

Das in RFC 3414 beschriebene benutzerbasierte Sicherheitsmodell definiert ein einzelnes Verschlüsselungsprotokoll
zur Privatsphäre genutzt werden. Dieses Protokoll, CBC-DES „DES“ (NIST FIPS PUB 46-1), wird von verwendet
default oder wenn die Zeichenfolge „des“ an übergeben wird --privprotocol Streit. Durch die Zusammenarbeit mit
das Extended Security Options Consortium http://www.snmp.com/eso/, das Modul auch
unterstützt zusätzliche Protokolle, die in Entwurfsspezifikationen definiert wurden. Der Entwurf
http://www.snmp.com/eso/draft-reeder-snmpv3-usm-3desede-00.txt definiert die Unterstützung von
CBC-3DES-EDE „Triple-DES“ (NIST FIPS 46-3) im benutzerbasierten Sicherheitsmodell. Das
Das Protokoll kann über ausgewählt werden --privprotocol Argument mit der Zeichenfolge „3desede“. Der
Lüftung http://www.snmp.com/eso/draft-blumenthal-aes-usm-04.txt beschreibt die Verwendung von
CFB128-AES-128/192/256 „AES“ (NIST FIPS PUB 197) im USM. Die drei AES-Verschlüsselungen
Protokolle, die sich durch ihre Schlüsselgrößen unterscheiden, können durch Übergabe von „aescfb128“ ausgewählt werden.
'aescfb192' oder 'aescfb256' zum -privprotocol Argument.

Details on Filter
Der Zweck der Filter besteht darin, zu entscheiden, welche Schnittstellen akzeptiert werden und welche Schnittstellen verwendet werden sollen
ablehnen. Diese Entscheidung wird für jede Schnittstelle getroffen, indem der Filterausdruck als ausgewertet wird
Stück Perl-Code und Untersuchung des Ergebnisses der Auswertung. Wenn das stimmt, akzeptieren Sie das
Schnittstelle andernfalls ablehnen.

Denken Sie bei der Arbeit mit Filtern daran, dass Perl seine eigene Vorstellung davon hat, was wahr und falsch ist
Ist. Der leere String „“ und der String „0“ sind falsch, alle anderen Strings sind wahr. Das
Impliziert außerdem, dass jeder ganzzahlige Wert von 0 ebenso falsch ist wie jeder Undef-Wert. Es auch
impliziert, dass alle Referenzen als wahr angesehen werden.

Da der Filter als Perl-Ausdruck ausgewertet wird, gibt es in Perl mehrere nützliche Konstrukte
erwähnenswert:

Ausdrücke können mithilfe von Klammern „()“ gruppiert werden. Ausdrücke können kombiniert werden
mit booleschen Operatoren wie den folgenden:

"und" (entspricht "&&")
Das boolesche „und“ der beiden Ausdrücke ist nur dann wahr, wenn beide Ausdrücke wahr sind.
Beispiel: Ausdruck1 und Ausdruck2

"or" (entspricht "||")
Das boolesche „oder“ der beiden Ausdrücke ist wahr, wenn einer oder beide Ausdrücke wahr sind.
Beispiel: Ausdruck1 or Ausdruck2

"nicht" (entspricht "!")
Boolesche Negation eines einzelnen Ausdrucks. Beispiel: nicht Ausdruck . Noch ein anderer
Beispiel: !Ausdruck

(Für weitere Einzelheiten hierzu empfehle ich ein Buch über Perl)

Vordefiniert Filter Variablen

Zur Vereinfachung stehen im Filter eine Reihe vordefinierter Werte zur Verfügung.
Beachten Sie, dass diese Variablen auch verfügbar sind, wenn Vorlagenschnittstellen ausgewertet werden (aber
keine Host-Vorlagen).

Vorsichtsmaßnahme: Alle Namen dieser Variablen beginnen mit einem Dollarzeichen ($), einem syntaktischen Zeichen
Anforderung für skalare Variablen in Perl. Die Gefahr besteht darin, dass das Dollarzeichen bei vielen auftritt
Shells ist ein aktives Zeichen (wird oft für Shell-Variablen verwendet, genau wie in Perl).
Variablen), daher ist es wichtig sicherzustellen, dass der Perl-Ausdruck nicht von ausgewertet wird
Befehlszeilen-Shell als Shell-Code, bevor er als Befehlszeile an cfgmaker übergeben wird
Argumente. In Shells wie der Bourne-Shell, der KSH-Shell oder der Bash-Shell wird das Ganze platziert
Ausdruck innerhalb einzelner Anführungszeichen vermeidet eine solche versehentliche Auswertung:

'--if-filter=($default_iftype && $if_admin)'

$if_type
Dies ist eine Ganzzahl, die den Schnittstellentyp gemäß den SNMP-Standards und als angibt
vom abgefragten Gerät gemeldet. Eine vollständige Liste der Schnittstellentypen wäre
Dies ist für dieses Dokument unpraktisch, es gibt jedoch unten eine Reihe vordefinierter Variablen.
Normalerweise fügt cfgmaker diesen iftype-Wert in Klammern in den PageTop des Ziels ein
nach dem Namen des Schnittstellentyps. (z. B. „propPointToPointSerial (22)“).

Hier ist eine Liste einiger der häufigsten Schnittstellentypen nach Nummer:

6 EthernetCsmacd
7 iso88023Csmacd
9 iso88025TokenRing
15 fddi
19 E1
20 BasisISDN
21 primärISDN
22 propPointToPointSerial
23 ppp
24 SoftwareLoopback
30 ds3
32 Frame-Relay
33 rs232
37 atm
39 Sonet
44 FrameRelayService
46 HSSI
49 aal5
53 propVirtual
62 Fast Ethernet (100BaseT)
63 ISDN und X.25
69 Vollduplex-Fast-Ethernet (100BaseFX)
94 Asymetric Digital Subscriber Loop (ADSL)
117 Gigabit Ethernet
134 ATM-Subschnittstelle

$Standard
True, wenn und nur dann, wenn cfgmaker normalerweise die Schnittstelle basierend auf akzeptieren sollte
Verwaltungs- und Betriebszustand der Schnittstellen (Übernahme der Flaggen). --no-down und
--show-op-down berücksichtigen) und den Typ (und ein paar andere Dinge).

$default_ifstate
Wahr, wenn und nur dann, wenn cfgmaker die Schnittstelle basierend darauf akzeptiert hätte
Betriebs- und Verwaltungszustände (auch unter Berücksichtigung der Anwesenheit der
Fahnen --no-down und --show-op-down).

$default_iftype
Wahr, wenn und nur wenn cfgmaker die Schnittstelle basierend auf ihrem Typ akzeptiert hätte (und
ein paar typspezifische Details zusätzlich).

$if_admin
True genau dann, wenn sich die Schnittstelle in einem administrativen Up-Zustand befindet.

$if_oper
True genau dann, wenn sich die Schnittstelle in einem betriebsbereiten Zustand befindet.

Außerdem sind eine Reihe von Variablen vordefiniert, um leicht zu entscheiden, ob eine Schnittstelle zu einer gehört
bestimmte Kategorie oder nicht. Nachfolgend sind alle Variablen zusammen mit if_type aufgeführt
Zahlen, für die jede Variable wahr ist. Beachten Sie, dass einige Variablen auf andere Variablen verweisen
.

$if_is_ethernet
Gilt für Ethernet-Schnittstellen (Nr. 6, 7, 26, 62, 69 und 117).

$if_is_isdn
Gilt für verschiedene ISDN-Schnittstellentypen (Nr. 20, 21, 63, 75, 76 und 77)

$if_is_dialup
Gilt sowohl für Einwahlschnittstellen wie PPP als auch ISDN. (Nr. 23, 81, 82 und 108 in
Ergänzung zu den Zahlen von $if_is_isdn).

$if_is_atm
Gilt für verschiedene ATM-bezogene Schnittstellentypen (Nr. 37, 49, 107, 105, 106, 114 und
134).

$if_is_wan
Gilt für WAN-Schnittstellen Punkt-zu-Punkt, Frame Relay und High Speed ​​Serial (
22,32,44,46)

$if_is_lan
Gilt für LAN-Schnittstellen (8, 9, 11, 15, 26, 55, 59, 60 und 115 zusätzlich zu
Anzahl von $if_is_ethernet).

$if_is_dsl
Gilt für ADSL, RDSL, HDSL und SDSL (Nr. 94, 95, 96, 97)

$if_is_loopback
Gilt für Software-Loopback-Schnittstellen (Nr. 24)

$if_is_ciscovlan
Gilt für Cisco-VLAN-Schnittstellen (Schnittstellen mit dem Wort „Vlan“ oder „VLAN“ in ihrem Namen).
ifdescs)

$if_vlan_id
Gibt die VLAN-ID zurück, die einem bestimmten Port auf Cisco Catalyst-Switches zugeordnet ist
sowohl Catalyst OS und IOS als auch 3Com-Switches. Wenn es sich nicht um eine VLAN-Schnittstelle handelt, wird dies der Fall sein
Rückkehr undef.

$if_cisco_trunk
Gibt den Trunking-Status eines bestimmten Ports auf Cisco Catalyst-Switches unter beiden zurück
Catalyst OS und IOS. Gibt „1“ zurück, wenn die Schnittstelle ein Trunk ist, andernfalls undef.

$if_MTU
Gibt die maximale Übertragungseinheit zurück, die einem bestimmten Port zugeordnet ist.

Darüber hinaus können Sie auch die unten für Vorlagen definierten Variablen verwenden. Weiter alles
Die in cfgmaker verfügbaren Variablen stehen den Skripten auch dann zur Verfügung, wenn sie verwendet werden
Funktionen wird nicht empfohlen. Es wird weitere „Verknüpfungen“ in Form von Variablen und Funktionen geben
stattdessen künftig zur Verfügung gestellt werden.

Beispiele on Filter

Der folgende Filter hat keinen Einfluss darauf, welche Schnittstellen ein- oder ausgeschlossen werden
Sorgen Sie dafür, dass sich cfgmaker normal verhält.

'--if-filter=$default'

Der folgende Filter bewirkt, dass cfgmaker PPP (23)-Schnittstellen ausschließt:

'--if-filter=$default && $if_type!=23'

Der folgende Filter sorgt dafür, dass sich cfgmaker wie gewohnt verhält, außer dass er Folgendes berücksichtigt
Der Betriebszustand einer Schnittstelle ist irrelevant, lehnt aber dennoch alle Schnittstellen ab, die es sind
administrativ nach unten.

'--if-filter=$if_admin && $default_iftype'

Details on Template
Der Inhalt der Vorlagedateien wird als Perl-Programm ausgewertet. Eine Zahl oder Perl
Variablen stehen dem Programm zum Lesen zur Verfügung und andere werden zum Schreiben verwendet.

Da viele der vordefinierten Variablen Werte haben, die in verwendet werden sollen
Einige HTML-Codes haben eine „HTML-escaped“-Variante, z. B. $html_syslocation ist der HTML-Code
entkommene Variante von $syslocation. Das HTML-Escape bedeutet, dass die Zeichen „<“, „>“ und „&“
durch „<“, „>“ und „&“ ersetzt werden und dass Zeilenumbrüche in die Zeichenfolge eingebettet werden
vorangestellt mit „ " und mit einem Leerzeichen angehängt (wenn ein Zeilenumbruch an letzter Stelle steht).
Saite, die nicht berührt wird).

Beschreibbar Template Variablen

Dies sind die verfügbaren Variablen zum Speichern der Konfigurationszeilen. Einige davon sind es
werden vor der Auswertung der Vorlage initialisiert, bei solchen Inhalten handelt es sich jedoch normalerweise um Kommentare
zur Aufnahme in die endgültige Konfigurationsdatei, damit diese Variablen auf die zurückgesetzt werden können
Leere Zeichenfolge im Vorlagencode, um die Kommentare zu entfernen. Andersherum geht es auch
Nach Möglichkeit kann der Inhalt dieser Variablen um weitere Informationen erweitert werden
Verschiedene Gründe wie Debugging usw.

Sobald die Vorlage ausgewertet wurde, geschieht Folgendes: Wenn die Vorlage eine ist
Die Schnittstellenvorlage und die eigentliche Schnittstelle werden aus irgendeinem Grund abgelehnt und müssen daher abgelehnt werden
Alle Zeilen in der Variablen werden auskommentiert $target_lines werden in Kommentare umgewandelt von
Fügen Sie am Anfang ein Rautezeichen („#“) hinzu. Dann alle Variablen $head_lines,
$problem_lines , $target_lines und $separator_lines werden miteinander verkettet, um die zu bilden
Zeilen, die der Konfigurationsdatei hinzugefügt werden sollen.

$target_lines
Diese Variable ist der Platzhalter für die von der Vorlage erstellten Konfigurationszeilen.
$target_lines ist voreingestellt, leer zu sein, wenn der Vorlagencode ausgewertet wird.

$head_lines
Diese Variable soll als Platzhalter für die gerade erscheinende Kommentarzeile dienen
vor dem Ziel in der Konfigurationsdatei. Es wird mit dieser Kommentarzeile initialisiert
vor der Auswertung des Vorlagencodes und wenn sich die Vorlage nicht ändert
$head_lines Während der Auswertung sieht der Kommentar wie gewohnt in der Konfigurationsdatei aus.

$problem_lines
Diese Variable soll als Platzhalter für die Kommentarzeilen dienen, die beliebige beschreiben
Probleme, die möglicherweise beim Versuch, das Ziel hinzuzufügen, aufgetreten sind
Aufbau. Für Host-Vorlagen wird es normalerweise nicht verwendet, für solche jedoch schon
als leere Zeichenfolge vordefiniert. Für Schnittstellenvorlagen $problem_lines ist vordefiniert
mit den Fehlerbeschreibungskommentaren, die cfgmaker normalerweise für abgelehnt verwenden würde
Schnittstellen oder als leere Zeichenfolge für akzeptierte Schnittstellen.

Es ist möglich, dagegen zu testen $problem_lines um herauszufinden, ob eine Schnittstelle vorhanden sein wird
aufgenommen oder abgelehnt werden, dies wird jedoch nicht empfohlen. Test gegen $if_ok stattdessen.

$separator_lines
Diese Variable ist der Platzhalter für die Zeichenfolge, die als Trennzeichen zwischen verwendet werden soll
Code für einzelne Ziele. Der Inhalt dieser Variablen wird nach jedem Ziel eingefügt
(daher erscheinen die Zeilen auch nach dem Ende des letzten Ziels in der Konfiguration).

Vordefiniert Template Variablen

Alle unten aufgeführten Variablen stehen für die Verwendung durch Schnittstellenvorlagen zur Verfügung. Für Host-Vorlagen:
Es sind nur die unter „Host- und Systemvariablen“ aufgeführten verfügbar.

Für Schnittstellenvorlagen gelten auch die unter „Vordefinierte Filtervariablen“ aufgeführten Variablen
erhältlich.

Gastgeber und System Variablen

$routername
Dies ist der vollständig qualifizierte Name für den Router. Es ist von Folgendem betroffen
Elemente in der Befehlszeile: der Routername selbst und --dns-domain.

$router_connect
Dies ist die Referenzzeichenfolge für den abgefragten Router. Es steht auf dem Formular
community@router, möglicherweise gefolgt von einigen SNMP-Optionen. Es ist betroffen von der
Folgende Elemente in der Befehlszeile: der Routername selbst, --Gemeinschaft,
--snmp-options und --dns-domain. (Es ist keine HTML-Escape-Variante verfügbar)

$Verzeichnisname
Diese Variable sollte den Verzeichnisnamen enthalten, den cfgmaker normalerweise verwenden würde
Wert für die Direktive „Directory[]“. Der Wert wird durch die bestimmt --subdirs
Befehlszeilenoption. Wenn --subdirs ist nicht angegeben $Verzeichnisname wird das Leere sein
Zeichenfolge. (Es ist keine HTML-Escape-Variante verfügbar)

$syscontact
Diese Variable ist der SNMP-sysContact-Wert des Routers. (HTML-Escape-Variante:
$html_syscontact)

$ sysname
Diese Variable ist der SNMP-sysName-Wert des Routers. (Keine HTML-Escape-Variante verfügbar)

$syslocation
Diese Variable ist der SNMP-Systemstandortwert des Routers. (HTML-Escape-Variante:
$html_syslocation)

$sysdescr
Diese Variable ist der SNMP-sysDescr-Wert des Routers. Es wird normalerweise nicht verwendet
cfgmaker, könnte aber in einer Vorlage nützlich sein. (HTML-Escape-Variante: $html_sysdescr)

Schnittstelle Target Verbunden Variablen

$target_name
Dies ist, was cfgmaker normalerweise als Namen des Ziels verwenden würde. Das Ziel
Der Name steht in den eckigen Klammern „[]“ für Zielanweisungen.
(Es ist keine HTML-Escape-Variante verfügbar)

$if_ref
Dies ist die Referenzzeichenfolge für die Schnittstelle. Es wird erwartet, dass es in der verwendet wird
„Target[xyz]“-Direktive, um zu unterscheiden, welche Schnittstelle verwendet werden soll. Der Wert davon
Variable wird von der beeinflusst --ifref Befehlszeilenoption. Es wird normalerweise zusammen verwendet
mit $router_connect. (Es ist keine HTML-Escape-Variante verfügbar)

$if_ok
Diese Variable ist wahr, wenn die Schnittstelle in die Konfiguration einbezogen werden soll
Datei, sonst falsch. Testen Sie nicht gegen andere Variablen, z $problem_lines zu
Finden Sie heraus, ob eine Schnittstelle abgelehnt wird oder nicht. Verwenden Sie dies $if_ok stattdessen.

$default_target_lines
Diese Variable enthält alle Zielzeilen, die cfgmaker hierfür standardmäßig ausgibt
Schnittstelle. Dies ist nützlich, wenn Sie das „Standardziel“ haben möchten, aber einige hinzufügen möchten
Fügen Sie mithilfe einer Vorlage zusätzliche Zeilen hinzu.

Standardmäßig verwendet cfgmaker die folgenden Anweisungen für jedes generierte Ziel: Target[],
SetEnv[], MaxBytes[], Title[], PageTop[] und wenn ein Verzeichnis angegeben ist, auch das
Directory[]-Direktive.

Um die Erstellung von Vorlagen zu erleichtern, die ähnliche Zielkonfigurationen generieren
Im Gegensatz zur Standardzeile gibt es für jede der oben genannten Direktivenzeilen eine entsprechende
Variable, die die Zeile enthält, da cfgmaker sie standardmäßig ausgegeben hätte.

Beachten Sie, dass keine davon über eine HTML-Escape-Variante verfügt. Der darin enthaltene Text ist HTML-Escape-Variante
erforderlich. Beachten Sie auch, dass sie am Ende keinen Zeilenumbruch haben.

$default_target_directive
Diese Variable enthält die Standardzeichenfolge für die Target[]-Anweisungszeile.

$default_setenv_directive
Diese Variable enthält die Standardzeichenfolge für die SetEnv[]-Anweisungszeile.

$default_directory_directive
Diese Variable enthält die Standardzeichenfolge für die Directory[]-Anweisungszeile, die
bedeutet, dass es sich um eine leere Zeichenfolge (ohne Zeilenumbruch) handelt, wenn kein Verzeichnis vorhanden ist.

$default_maxbytes_directive
Diese Variable enthält die Standardzeichenfolge für die MaxBytes[]-Anweisungszeile.

$default_title_directive
Diese Variable enthält die Standardzeichenfolge für die Direktivenzeile Title[].

$default_pagetop_directive
Diese Variable enthält die Standardzeichenfolge für die PageTop[]-Anweisungszeilen.

Schnittstelle Netzwerk Konfiguration Variablen

$if_ip
Diese Variable sollte die IP-Adresse der Schnittstelle enthalten, sofern eine zugewiesen wurde
dazu. (Es ist keine HTML-Escape-Variante verfügbar)

$ifindex
Diese Variable ist der SNMP-ifIndex für die Schnittstelle, die per Definition immer eine ist
ganze Zahl. (Es ist keine HTML-Escape-Variante verfügbar)

$if_index
Äquivalent mit $ifindex.

$if_eth
Enthält die Ethernet-Adresse der Schnittstelle, falls vorhanden. (Es gibt kein HTML-Escapezeichen
Variante verfügbar)

$if_speed
Diese Variable ist die Geschwindigkeit in Bytes/Sekunde (mit Präfixen). (Es gibt kein HTML-Escapezeichen
Variante verfügbar)

$if_speed_str
Bei dieser Variablen handelt es sich um eine Beschreibung der Geschwindigkeit, die entweder in Bits oder Bytes vorliegt
davon, ob die Bits-Option aktiv ist oder nicht, und auch mit dem richtigen Präfix für die
Geschwindigkeit (k, M, G usw.). (Keine HTML-Escape-Variante verfügbar)

$if_type_desc
Diese Variable ist eine Textbeschreibung des Schnittstellentyps. (HTML-Escape-Variante:
$html_if_type_desc)

$if_type_num
Diese Variable ist der ganzzahlige Wert, der dem Schnittstellentyp entspricht (für eine Auflistung für).
Den Wert für die gebräuchlicheren Schnittstellentypen finden Sie im Abschnitt DETAILS ZU FILTERN
über). (Keine HTML-Escape-Variante verfügbar)

$if_dns_name
Dies ist der DNS-Name für die Schnittstelle. (Keine HTML-Escape-Variante verfügbar)

Schnittstelle Benennen, Beschreibung und Alias Variablen

Bei beidem mag es verwirrend wirken Name und Vorname, Beschreibung und Alias in diesem Zusammenhang und zu einigen
inwieweit es ist. Name und Vorname und Beschreibung werden normalerweise auf den meisten Geräten unterstützt, aber wie sie
verwendet werden, variiert sowohl zwischen den Herstellern als auch zwischen den verschiedenen Kategorien
Geräte vom gleichen Hersteller. Der Alias wird zumindest von Cisco IOS unterstützt, und
Diese Variable enthält alles, was in der IOS-Anweisung namens „Beschreibung“ für verwendet wird
Schnittstelle (nicht zu verwechseln mit den SNMP-Variablen für Beschreibung).

Für eine bessere Steuerung über die Befehlszeile sollten Sie Folgendes in Betracht ziehen $if_title_desc welche Inhalte sind
gesteuert von der --if-descr Befehlszeilenoption.

$if_snmp_descr
Diese Variable sollte die „rohe“ Beschreibung der Schnittstelle enthalten, wie sie von bestimmt wurde
die SNMP-Abfrage des Routers. (HTML-Escape-Variante: $html_if_snmp_descr)

$if_snmp_name
Der „rohe“ Name für die Schnittstelle, wie er von der SNMP-Abfrage bereitgestellt wird. (HTML-Escape-Variante:
$html_if_snmp_name)

$if_snmp_alias
Der „rohe“ ifAlias ​​für die Schnittstelle, wie er von der SNMP-Abfrage bereitgestellt wird. (HTML maskiert
Variante: $html_if_snmp_alias)

$if_cisco_descr
Der „rohe“ CiscolocIfDescr für die Schnittstelle, wie durch SNMP-Abfrage bereitgestellt. (HTML
entkommene Variante: $html_if_cisco_descr)

$if_description
Dies ist die „gekochte“ Beschreibungszeichenfolge für die Schnittstelle unter Berücksichtigung der
Für RDescr, ifAlias ​​und CiscolocIfDescr der Schnittstelle gefundene SNMP-Werte. (HTML
entkommene Variante: $html_if_description)

$if_title
Die vollständige Zeichenfolge, die cfgmaker standardmäßig für die Title[]-Direktive in verwendet hätte
Konfiguration sowie den Inhalt des obersten H1-Tags im PageTop[]. Ist
zusammengesetzt aus dem Inhalt von $desc_prefix, $if_title_desc und $ sysname.

As $if_title hängt $if_title_desc, ist eine indirekte Steuerung möglich $if_title
mithilfe der Befehlszeilenoption --if-descr.

(HTML-Escape-Variante: $html_if_title)

$if_port_name
Wenn der Host ein Cisco Catalyst LAN-Switch ist, ist diese Variable der Name dieses Ports.
(Keine HTML-Escape-Variante verfügbar)

$if_pp_port_name
Wenn der Host ein Nortel Passport LAN-Switch ist, ist diese Variable der Name dieses Ports.
(Keine HTML-Escape-Variante verfügbar)

$desc_prefix
Diese Variable ist ein Präfix der Beschreibung dessen, was das Ziel im verwenden soll
„Title[]“-Direktive und im H1-Abschnitt von „PageTop[]“. Der Standardwert ist „Verkehr“.
Analyse für ". (HTML-Escape-Variante: $html_desc_prefix)

$if_title_desc
Dies ist die Beschreibung der Schnittstelle, die normalerweise von cfgmaker als Teil verwendet wird
Variable $if_title. Letzterer wird als vollständiger String in der Direktive „Title[]“ verwendet
und der H1-Abschnitt im PageTop[].

$if_title_desc wird durch die Befehlszeilenoption gesteuert --if-descr was indirekt
steuert den Inhalt von $if_title

(HTML-Escape-Variante: $html_if_title_desc)

Hilfe Funktionen für Template

Die folgenden Funktionen erleichtern das Schreiben von Host- und Schnittstellenvorlagen.

html_escape(Schnur)
html_escape() Nimmt eine Zeichenfolge als Argument und gibt eine neue Zeichenfolge zurück, wobei die
Folgende Ersetzungen wurden vorgenommen: Die Zeichen „<“, „>“ und „&“ werden durch ersetzt
„<“, „>“ und „&“ und dass in die Zeichenfolge eingebettete Zeilenumbrüche vorangestellt werden
" " und mit einem Leerzeichen angehängt (Zeilenumbrüche am Ende der Zeichenfolge sind nicht der Fall).
berührt).

oid_pick($router_connect,$v3opt,"oid1",oid2"...)
Diese Funktion versucht, jedes der angegebenen OIDs abzufragen, bis es erfolgreich ist oder
hat keine Oids mehr. Es wird der Name des ersten OID zurückgegeben, das funktioniert hat, oder undef if
es ist nicht erfolgreich

Beispiel Template Mappen

Vorlagenbeispiel 1: Verhindern, dass abgelehnte Ziele angezeigt werden

Diese Vorlagendatei generiert pro Schnittstelle genau den gleichen Konfigurationscode wie cfgmaker
tut dies standardmäßig, mit der Ausnahme, dass alle Zeilen entfernt werden (sowohl Kommentare als auch
Konfigurationscode) für eine Schnittstelle, falls die Schnittstelle abgelehnt wird.

if(not $problem_lines)
{
$target_lines .= <

Ziel[$target_name]: $if_ref:$router_connect
SetEnv[$target_name]: MRTG_INT_IP="$if_ip" MRTG_INT_DESCR="$if_snmp_descr"
ECHO

if ($directory_name) {
$target_lines .= "Verzeichnis[$target_name]: $directory_name\n";
}

$target_lines .= <
MaxBytes[$target_name]: $if_speed
Titel[$target_name]: $html_desc_prefix$html_if_title_desc – $sysname
Seitenanfang[$target_name]: $html_desc_prefix$html_if_title_desc – $sysname



System:
$sysname in $html_syslocation


Betreuer:
$html_syscontact


Beschreibung:
$html_if_description


ifType:
$html_if_type_desc ($if_type_num)


ifName:
$html_if_snmp_name

ECHO

$target_lines .= <

Portname:
$if_port_name

ECHO

$target_lines .= <

Portname:
$if_pp_port_name

ECHO

$target_lines .= <

Höchstgeschwindigkeit:
$if_speed_str

ECHO

$target_lines .= <

IP:
$if_ip ($if_dns_name)

ECHO

$target_lines .= <


ECHO
} Else {
$head_lines="";
$problem_lines="";
$target_lines="";
$separator_lines="";
}

Template Beispiel 2: Einfacher Version of Beispiel 1

Beispiel 1 sollte teilweise zeigen, wie die Generierung der Schnittstelle angepasst werden kann
Ziele, sondern auch, um einen Hinweis darauf zu geben, wie die Variablen in der „Standard“-Vorlage verwendet werden
was man annehmen könnte, dass cfgmaker normalerweise verwendet.

Wenn Sie nur an der einfachsten Möglichkeit interessiert sind, diese Ablehnungen vollständig zu beseitigen
Schnittstellen würde die folgende Vorlage ebenfalls die Aufgabe erfüllen $default_target_lines.

if($if_ok) {
$target_lines = $default_target_lines;
} Else {
$head_lines="";
$problem_lines="";
$target_lines="";
$separator_lines="";
}

Template Beispiel 3: Erstellen CPU Targets für Hosts

Unten finden Sie ein Beispiel für eine Host-Vorlage.

$head_lines .= <
#---------------------------------------------------------------- --------------------
ECHO

mein $target_name = $router_name . ".CPU";

$target_lines .= <

YLegend[$target_name]: Prozentuale CPU-Auslastung
ShortLegend[$target_name]: %
Legend1[$target_name]: CPU-Auslastung in %
Legende2[$target_name]:
Legend3[$target_name]: Max. beobachtete CPU-Auslastung
Legende4[$target_name]:
LegendI[$target_name]: CPU-Last:
LegendO[$target_name]:
WithPeak[$target_name]: ywm
MaxBytes[$target_name]: 100
Optionen[$target_name]: Growright, Gauge, Nopercent
Titel[$target_name]: $router_name CPU-Auslastung
Ziel[$target_name]: 1.3.6.1.4.1.9.2.1.58.0&1.3.6.1.4.1.9.2.1.58.0:$router_connect
Seitenanfang[$target_name]: $router_name CPU-Auslastung



System:
$router_name in $html_syslocation


Betreuer:
$html_syscontact


Beschreibung:
$html_sysdescr


Ressource:
CPU.



ECHO

Beispiele:


Das erste Beispiel erstellt eine Konfigurationsdatei für router.place.xyz: Der Router hat das
Community-Name Öffentlichkeit. Schnittstellen werden anhand ihrer IP-Nummer identifiziert. Zwei globale Optionen
werden zur Konfigurationsdatei hinzugefügt. Die Konfigurationsdatei wird umgeleitet mrtg.conf. Der '\'
Zeichen am Ende der Zeile bedeuten, dass dieser Befehl in einer einzigen Zeile geschrieben werden sollte.

cfgmaker --global "WorkDir: /home/tobi" \
--global „Optionen[_]: wachsenrecht,bits“ \
--ifref=ip \
[E-Mail geschützt] > mrtg.cfg

Hinweis: Wenn sich cfgmaker nicht in Ihrem Pfad befindet, Sie sich jedoch in dem Verzeichnis befinden, in dem sich cfgmaker befindet
gespeichert, können Sie es mit ./cfgmaker starten

Das nächste Beispiel erstellt eine Konfigurationsdatei für vier Geräte: router1.place.xyz,
router2.place.xyz, switch1.place.xyz und switch2.place.xyz alles mit der Community Öffentlichkeit.

Die beiden Router werden haben --ifref einstellen beschr während die beiden Schalter verwendet werden --ifref
einstellen Name. Als nächstes werden die Router verwendet --ifdesc einstellen alias und switch1.place.xyz
wird benutzen --ifdesc einstellen beschr indem switch2.place.xyz - Name stattdessen.

Abschließend werden zwei Optionszeilen in die Konfiguration eingefügt: Eine befindet sich im
beginnend, während der andere nach den Zeilen eingefügt wird, die sich auf die beiden Router beziehen
aber vor den Zeilen, die sich auf die Schalter beziehen.

cfgmaker --global "WorkDir: /home/tobi" \
--global „Optionen[_]: wachsenrecht,bits“ \
--ifref=descr \
--ifdesc=alias \
[E-Mail geschützt] \
[E-Mail geschützt] \
--global „Optionen[_]: Growright“ \
--ifref=Name \
--ifdesc=descr \
[E-Mail geschützt] \
--ifdesc=Name \
[E-Mail geschützt] > mrtg.cfg

Das nächste Beispiel zeigt die Verwendung von --Gemeinschaft, --snmp-options und --dns-domain
um die Befehlszeile einfacher zu machen. Die gesamte Ausrüstung wird von der Community genutzt versteckt, außer
für den PPP-Server, der die Community nutzt Zugang. Alle Geräte nutzen diese SNMP-Optionen: 1s
Timeout, 1 wiederholen und SNMP Version 2 (Backoff und port ist nicht spezifiziert, was bedeutet, dass sie verwenden
die Standardwerte). Die Ausnahme ist wiederum der verwendete PPP-Server SNMP Version 1.
Schließlich ist die gesamte Ausrüstung Teil der Domäne place.xyz, mit Ausnahme des PPP-Servers
welches Teil der Domäne ist remote.place.xyz. Beachten Sie, dass Letzteres einfach durch erreicht wird
Angabe des Namens des PPP-Servers PPP-Server.entfernt .

cfgmaker --global "WorkDir: /home/tobi" \
--global „Optionen[_]: wachsenrecht,bits“ \
--dns-domain=place.xyz \
--community=hidden \
--snmp-options=::1:1::2 \
router1 \
router2 \
router3 \
router4 \
router5 \
Schalter1 \
Schalter2 \
Schalter3 \
Schalter4 \
Schalter5 \
Schalter6 \
Schalter7 \
[E-Mail geschützt] :::::1 > mrtg.cfg

Nutzen Sie cfgmaker online über die Dienste von onworks.net


Kostenlose Server & Workstations

Laden Sie Windows- und Linux-Apps herunter

Linux-Befehle

Ad