SNMP Treiber Konfiguration
Bevor Sie das SNMP-Feature verwenden können, müssen Sie den SNMP-Manager und die SNMP-Agents über die SNMP-Parametrierpanels parametrieren (Manager DP und Agent DP, der zu dem Manager DP gehört, erstellen).
Das Kapitel beschreibt die SNMP-Parametrierpanels für die Manager und Agent-Parametrierung. Öffnen Sie das SNMP-Parametrierpanel über System Management > Treiber > SNMP.
Das Panel zeigt die Agents für jeden SNMP-Manager. Zusätzlich können Sie neue SNMP-Manager und Agents erstellen.
SNMP-Manager
Die Agents "SNMPAgent1" und "SNMPAgent2" (siehe Abbildung oberhalb) gehören zu dem Manager mit der Nummer 1.
Ein SNMP-Manager kann aus der Combobox ausgewählt werden und die zu dem ausgewählten Manager gehörenden Agents, werden in der Tabelle angezeigt. Neue Manager können über die Neu-Schaltfläche erstellt werden. Es können Managers mit der Nummer im Bereich von 1 bis 255 erstellt werden. Die Managernummer 1 existiert standardmäßig.
Der ausgewählte Manager kann über Löschen-Schaltfläche gelöscht werden.
SNMP Agents
SNMP-Agents werden von den SNMP-Managern abgefragt. Neue SNMP-Agents können über Neu-Schaltfläche erstellt werden. Die neuen Agents werden über das folgende Panel erstellt.
- SNMP Manager
-
Zeigt an, für welchen Manager ein Agent angelegt wird.
- Agent DP-Typ
-
Dieser Eintrag wird aus der Config-Datei gelesen und gibt den Namen für SNMP-Agent-Datenpunkt an. Es muss der Config-Eintrag "agentDPName" oder im Falle von SNMPv3 der Eintrag "v3entityDPName" gesetzt werden. Siehe [snmpdrv].
- Version
-
Definiert die SNMP-Version. Zur Auswahl stehen V1/V2 und V3.
- SNMP Agent ID
-
Kann zwischen 1 und 255 ausgewählt werden, d.h. ein Manager kann maximal 255 Agents abfragen. Dieses Limit kann mit Hilfe des Config-Eintrages [snmpdrv] maxAgents neu gesetzt werden.
Um einen Agent zu löschen, selektieren Sie einen Agent aus der Tabelle und klicken Sie mit der rechten Maustaste auf die Tabelle. Der Manager kann über das Kontextmenü gelöscht werden.
Das SNMP-Parametrierungspanel wird über das Kontextmenü (Rechtsklick auf die Tabelle) oder über einen Doppelklick auf einen Agent in der Tabelle geöffnet.
Agent/Entity
Name unter dem der Agent in der Agent Liste aufgelistet wird.
- Erstellen:
- Erstellt einen neuen SNMP-Agent.
- Entfernen:
- Löscht den ausgewählten SNMP-Agent.
Einstellungen
- SNMP-Version
- Zeigt welches SNMP-Protokoll verwendet wird.
- Treibernummer
- Die Nummer des Treibers dem der Agent zugeordnet ist.
- AgentId
- Die ID des Agents.
- Konfiguration
-
Mit der Checkbox kann ein redundanter Agent aktiviert werden (siehe Redundanter SNMP-Agent für eine nähere Beschreibung). Wird ein redundanter Agent aktiviert, erscheint unten eine zusätzliche Registerkarte "Zweiter Agent/Entity". Über Wechsel bei wird das Redundanzumschaltverhalten definiert.
-
bei keepAlive-Fehler (KeepAlive-Überprüfung schlägt fehl)
-
bei lese/schreibe Fehler, d.h. wenn bei einem Read- oder Write-Request der TIMEOUT Status zurückgeliefert wird
-
alive/lese/schreibe Fehler, d.h. bei Timeout oder KeepAlive-Fehler
-
- Timeout
- Das Timeout in 1/100s, bis ein SNMP-Telegramm beantwortet werden muss. Der Defaultwert ist 100, was bei längeren Strecken oder langsameren Netzen/Agents evt. erhöht werden muss. Gültige Werte sind 100 - 1000 (entspricht 1 - 10s).
- Retries
- Wiederholungen, bevor ein SNMP-Protokoll Fehler ausgegeben wird. Im Falle eines Timeouts (s.o.) wird das Telegramm wiederholt. Der Standardwert ist 1, maximal 10 Wiederholungen sind parametrierbar.
Erster Agent/Entity / Zweiter Agent/Entity
- IP-Adresse
-
Die IP-Adresse des Agents, z.B. 192.168.1.13, oder ein Rechnername, z.B. eiwrk068. Wenn keine IP-Adresse eingetragen wird bzw. diese wieder gelöscht wird (Leerstring), wird der Agent automatisch deaktiviert und der interne DPE Status.Timeout (siehe interne Datenpunkte) auf FALSE gesetzt, unabhängig davon in welchem Status sich dieser vorher befand.
- Port
-
Definiert die Portnummer über die der SNMP-Manager sich zu dem hier parametrierten Agent verbindet. Der default WinCC OA Pmon Agent-Port ist 4700. Die Portnummern für den SNMP Pmon- Agent und für den Live Agent können auch über Config-Einträge festgelegt werden.
- Read/Write Community String
-
Erlaubt den Lese/Schreib-Zugriff auf den Agent. Die Community Strings sind wie ein Passwort. Die CommunityStrings werden mit der SNMP-Anforderung gesendet. Wenn der String richtig ist, sendet der SNMP-Agent eine Antwort (die angeforderte Information) an den Manager. Wird für die Agents verwendet, mit welchen sich das WinCC OA System verbindet.
Anmerkung: Um die Zugriffsparameter des SNMP Treibers zu verschlüsseln bzw. entschlüsseln kann die Funktion snmpcrypt_setAccessPassPhrase() verwendet werden. Hierbei wird auch die Anzeige der Werte innerhalb des Konfigurationspanels verschlüsselt.
SNMP Live Agents
Der Live Agent stellt Datenpunktspezifische Daten aus der DP-Tabelle der ETM MIB zur Verfügung. Der SNMP Pmon-Agent dient als Proxy für den SNMP Live-Agent. Dadurch stehen Daten den externen SNMP-Managern zur Verfügung. Die Registerkarte Live Agents zeigt die Live Agents, die für das WinCC OA Projekt parametriert sind.
SNMP Live-Agents können über die Neu-Schaltfläche angelegt werden. Es wird ein Subpanel zum Anlegen geöffnet:
Es können Agents vom 1 bis 10 erstellt werden. Die Nummer kann aus der Combobox ausgewählt werden.
Das Panel SNMP Live Agent Parametrierung dient zur Parametrierung der WinCC OA DP-Elemente, die über SNMP abgefragt werden können (die DPEs werden vom SNMP Live-Agent zur Verfügung gestellt). Durch markieren des angelegten Agents in der Tabelle, dann mit der rechten Maustaste ein Kontextmenü öffnen und ”Param” auswählen bzw. Doppelklick auf den Agent öffnet sich das Parametrierpanel für den Agent. Hier kann man mittels Datenpunktselektor die DPE auswählen, die der Live-Agent SNMP-Managern zur Verfügung stellen soll.
Eine eindeutige Nummer (Agent Nr.) sowie der Name werden im oberen Teil des Panels angezeigt.
Die DP-Tabelle zeigt die Datenpunkte, die über SNMP abgefragt werden. Die Datenpunkte werden über die bekannten WinCC OA Schaltflächen selektiert und über die Übernehmen Schaltfläche zu der Tabelle hinzugefügt. Die Datenpunkte enthalten einen Index, der verwendet wird um mit den Datenpunkten über MIB (z.B. (1.3.6.1.4.1.13828.2.1.20.1.2.idx)) zu kommunizieren. Die abgefragte Datenpunkt-Information wird auf den anderen Datenpunkten, zu denen eine Peripherieadresse hinzugefügt wurde, präsentiert.
Ein Traptext kann im unteren Teil des Panels festgelegt werden. Der Traptext wird
auf dem DPE _LiveAgentNr_SNMPLiveAgent.specificTrap (Text) abgebildet. Der Trap wird an alle
konfigurierten Managern gesendet, wenn auf die Schaltfläche geklickt wird. Um Traps zu senden, muss der
Config-Eintrag enableUserTraps = "Yes"
gesetzt werden.
Da der Pmon Agent als Proxy für den Live-Agent dient, werden die Traps über den Pmon-Agent gesendet. Der default SNMP Live Agent-Port ist 4701.
SNMPv3 Entities
WinCC OA unterstützt SNMPv3. Das bedeutet, dass über den WinCC OA Manager (WCCOAsnmp) auf eine Einheit, die SNMPv3 unterstützt, mittels GET und SET Services zugegriffen werden kann. Zudem können SNMPv3 Traps empfangen werden. In SNMPv3 gibt es keine Unterscheidung zwischen Manager und Agent mehr. Es gibt nun mehr SNMP-Entities.
SNMPv3 bietet jetzt wichtige Sicherheitsfunktionen:
-
Nachrichtenintegrität um sicherzustellen, dass ein Paket nicht während der Übermittlung verfälscht worden ist
-
Authentifikation um zu prüfen, dass die Nachricht von einer sicheren Quelle stammt
-
Verschlüsselung von Paketen um das Spionieren durch unbefugten Personen zu verhindern
Für die SNMPv3 gibt es einige zusätzliche optionale Config-Einträge. Zudem wurde das SNMP-Parametrierpanel sowie das _address-Konfig-Panel für den SNMP-Treiber modifiziert. Es können jetzt SNMPv3-Entities parametriert und der Agenttyp im Address-Panel gesetzt werden. Die Config-Einträge und die Parametrier- und address-Panels werden im Folgenden beschrieben.
Im obigen Panel findet die Parametrierung der V3-Entity statt.
Erster Agent/Entity / Zweiter Agent/Entity
- IP-Adresse
-
Die IP-Adresse der Entity, z.B. 192.168.1.13, oder ein Rechnername, z.B. eiwrk068. Wenn keine IP-Adresse eingetragen wird bzw. diese wieder gelöscht wird (Leerstring), wird die Entity automatisch deaktiviert und der interne DPE Status.Timeout (siehe interne Datenpunkte) auf FALSE gesetzt, unabhängig in welchem Status sich dieser vorher befand.
- Port
-
Definiert die Portnummer über die der SNMP-Manager sich zu der hier parametrierten Entity verbindet.
- SecurityName
-
Der SecurityName bezeichnet den User/das Programm, das Zugriff auf Daten fordert. Der SecurityName muss pro SNMP-Manager eindeutig sein.
- ContextName
-
Der anzusprechende Kontextname auf dem Zielrechner. Der Kontext beinhaltet bestimmte MIB-Objekte.
Pro Entity kann nur ein Kontextname angegeben werden. Sollen auf einer Entity mehrere Kontext-Bereiche abgefragt werden, so müssen mehrere Datenpunkte angelegt werden.
Die Management Information Base ist der Baum, an dessen Blätter die eigentlichen Daten vorhanden sind. Sie können jetzt in SNMP V3 den Benutzerzugriff auf einen Bereich der MIB einschränken z.B. alles unter dem Knoten 1.3.6.2.1.1. Dann hat der entsprechende Benutzer z.B. keinen Zugriff auf alles andere.
- SecurityLevel
-
Das SecurityLevel beschreibt, welche Sicherungsmaßnahmen beim Datenaustausch zu ergreifen sind.
-
noAuthNoPriv (1) keine Authentifizierung und keine Datenverschlüsselung
-
authNoPriv (2) Authentifizierung, aber keine Datenverschlüsselung
-
authPriv (3) Authentifizierung und Datenverschlüsselung
Defaultwert ist (1).
-
- ContextEngineID
-
Die EngineID des Zielrechners. Wird diese nicht angegeben, dann wird sie im Zuge der Datenabfrage bestimmt.
- AuthProtocol
-
Für die Authentifizierung der SNMP User stehen zwei Protokolle zur Verfügung.
-
none (1) kein Authentifizierungsprotokoll
-
HMAC_MD5 (2) MD5 Authentifizierung
-
HMAC_SHA (3) SHA Authentifizierung
-
HMAC_SHA2_224 (4) SHA2 Authentifizierung
-
HMAC_SHA2_256 (5) SHA2 Authentifizierung
-
HMAC_SHA2_384 (6) SHA2 Authentifizierung
-
HMAC_SHA2_512 (7) SHA2 Authentifizierung
Defaultwert ist (1).
Ein Authentifizierungsprotokoll kann nur ausgewählt werden, wenn das SecurityLevel "authNoPriv" oder "authPriv" ausgewählt wurde.
-
- AuthPasswd
-
Das Passwort, das für die Authentifizierung zu verwenden ist. Dieses kann nur dann definiert werden, wenn das SecurityLevel "authNoPriv" oder "authPriv" ausgewählt wurde.
- PrivProtocol
-
Die verschickten Daten können zur Erhöhung der Sicherheit auch verschlüsselt werden. Für diese Verschlüsselung muss ein Protokoll ausgewählt werden.
-
none (1) keine Verschlüsselung
-
DES (2) Data Encryption Standard Verschlüsselung (wird nicht empfohlen, stattdessen sollte AES-Verschlüsselung verwendet werden)
- IDEA (9) IDEA-Verschlüsselung (International Data Encryption Algorithm)
-
AES128 (4) Advanced Encryption Standard Verschlüsselung mit 128 bit Schlüssel.
-
AES192 (20) Advanced Encryption Standard Verschlüsselung mit 192 bit Schlüssel
-
AES256 (21) Advanced Encryption Standard Verschlüsselung mit 256 bit Schlüssel
Default ist (1).
Ein Verschlüsselungsprotokoll kann nur ausgewählt werden, wenn das SecurityLevel "authPriv" ausgewählt wurde.
-
- PrivPasswd
-
Das Passwort, das für die Verschlüsselung zu verwenden ist. Dieses kann nur dann definiert werden, wenn das SecurityLevel "authPriv" ausgewählt wurde.
Anmerkung: Um die Zugriffsparameter des SNMP Treibers zu verschlüsseln bzw. entschlüsseln kann die Funktion snmpcrypt_setAccessPassPhrase() verwendet werden. Hierbei wird auch die Anzeige der Werte innerhalb des Konfigurationspanels verschlüsselt.