Création d`une Mib et d`un agent Interrogation de la mib

Transcription

Création d`une Mib et d`un agent Interrogation de la mib
TP Administration réseau
février 07
Création d’une Mib et d’un agent
Interrogation de la mib
Installer le programme j2sdk.exe le AgentTollkit.exe téléchargés depuis
Turing : /users/prof/guterl/Agent
On veut définir un SMI pour un objet "Stage" avec les caractéristiques suivantes:
– un nœud stockant l ’adresse IP
– un noeud info avec 2 instances
z nom de l ’objet
z Uptime (TimeTicks)
– un noeud table de routage avec 3 colonnes:
z destination (type AdresseIP)
z type de lien (1=Débit, 2=Coût,3=securite)
z prochain saut (type AdresseIP)
oid: 1.3.6.1.4.1.100
1. Définition du SMI
Sur papier mettre en place le SMI correspond
2. Création de la Mib à partir du fichier SMI.
Exécuter SNMP Agent / MibEditor
A partir du SMI de l’exercice précédent créer une mib Stage
•
Menu File / Create Mib
‰ Module Name: Stage
‰ Module Directory : mibs\
‰ SMIversion :
SMIv2
‰ Root OID:
enterprises
‰ Valider par OK
• Sélectionner Enterprises /ModuleIdentity ; Menu Operations / Modify
Node
‰ MODULE-IDENTITY : stage
‰ Sub ID : 100
[enterprises : 1.3.6.1.4.1]
‰ Remplir les autres champs (facultitif)
‰ Valider par "Save Node"
•
Développer Stage.enterprises.stage
‰
Ajouter les différents nœuds du SMI (Menu Add : Bouton droit souris sur le nœud)
¾ Variable feuille : Scaler Object (OBJECT-TYPE)
P.GUTERL ULP/MASTER INFO
1/5
TP Administration réseau
février 07
¾ nœud intermédiaire : Objet-identity
¾ Table : Table Object
¾ DefVal indique une valeur par défaut lors de l’initialisation sauf IpAdress
⇒ Pour les variables dest, policy valider le champ Index dans le formulaire de saisie.
⇒ Après la création de la variable next , créer une variable avec un nom (object-type)
test de syntaxe Rowstatus , valider par "Add to Module" et supprimer la variable
test
•
Menu File / Save Mib (Sauvegarder )
•
Cliquer sur l’onglet File View (fenêtre droite)
Comparer le code généré avec votre SMI
•
Quitter le programme
P.GUTERL ULP/MASTER INFO
2/5
TP Administration réseau
février 07
3. Création de l’agent à partir de la mib Stage
•
Exécuter le programme MibCompiler
‰
Valider OK pour le nom du projet par défaut
‰
Menu MIB / Load mib : charge la mib qu’on vient de créer (stage)
‰
Menu Build / Generate Source
‰
Menu Build / Compile Source
‰
Menu File / Exit Fermeture du programme pour modifier le fichier routeTable
‰
Avec le programme Rechercher localiser le fichier RouteTable.xml
Ouvrir avec Wordpad et rajouter les donnée ci-dessous au format xml :
•
•
Policy
Next
120.10.12.0
1
130.79.6.254
196.20.30.0
1
130.79.6.120
196.20.30.0
3
130.79.7.50
150.50.30.0
2
130.79.50.2
Exécuter le programme MibCompiler
‰
•
Desination
Menu Build / Start agent
Exécuter le programme MibBrowser
‰
Développer l’arborescence et choisir une variable (adresse, nom )
‰
Lecture de la valeur de la variable (Menu Operation / get)
‰
Lire la variable info. Est ce le résultat ? et pourquoi ?
Lecture de la table routeTable
‰
Quel est l’opérateur le plus adapté pour la lecture de routeTable. Après la lecture de
la première ligne, déterminer dans la variable affichée dans Object ID le champ préfix,
index et les valeurs associées.
•
Opération set
‰
Modifier la variable adresse dans le champ Set Value et affecter la valeur
P.GUTERL ULP/MASTER INFO
3/5
TP Administration réseau
février 07
4. Opération sur l’agent en mode client / serveur
On considère le programme AdventNet comme le serveur snmp de l’agent. On interroge la mib à
partir d’un programme client indépendant. On utilisera le logiciel du domaine public ucd-snmp.
On réalisera les interrogations de la mib et l’écriture avec les programmes snmpget
snmpgetnext snmpset snmpbulkget.
On travaillera avec une fenêtre de commande ms-dos. (Accessoire / Invite de commande)
•
•
•
Déterminer à partir de la SMI l’arborescence complète pour chaque variable :
- en mode texte, en mode oid
Copier le repertoire ucd sous c:\
Créer un fichier env.bat sous c:\ucd pour créer les variables d’environnement
‰PATH=%PATH%;c:\ucd\usr\bin
•
‰
set MIBDIRS=c:\ucd\usr\mibs
‰
Fermer et exécuter le programme env.bat
Exécuter la commande snmpget (voir annexe pour la syntaxe)
‰
‰
•
Lire les valeurs des variables scalaires par un adressage oid
Exécuter la commande snmpget en mode texte. Que constate t on et pourquoi ?
Copier le fichier Stage créer avec AdventNet Toolkit dans le répertoire c:\ucd\mibs
‰
Supprimer dans le fichier stage les lignes
enterprises OBJECT IDENTIFIER ::= ...
‰Rajouter
dans le fichier env.bat
set PREFIX=.iso.org.dod.internet.private.enterprises.stage
set MIBS=Stage (Stage correspond à la définition du module)
‰
Fermer et exécuter le programme env.bat
•
Exécuter la commande snmpget en mode texte. Que constate t on maintenant ?
•
Exécuter la commande snmpset pour modifier des variables ?
•
Lecture de la table routeTable avec la commande snmpgetnext
Déterminer le point d’entrée dans routeTable ,pour permettre à la commande
snmpgetnext de lire la première ligne du tableau.
‰
‰
•
Exécuter snmpnextget pour lire le tableau
Lecture de la table routeTable avec la commande snmpbulkget
‰ La commande snmpbulkget permet de ramener une partie du tableau avec les variable
non-repeat et max-repeat. On veut lire la variable Uptime et le tableau routeTable. On
ramène le tableau routeTable par lot de 3 lignes.
‰
Exécuter la commande snmpbulkget pour réaliser cette fonction.
P.GUTERL ULP/MASTER INFO
4/5
TP Administration réseau
février 07
5. Interaction avec le code généré Java
En consultant le code généré par le programme Advennet Toolkit, localiser la partie du code
permettant d’affecter à la variable nom le nom réel de votre PC de manière dynamique. on ne
modifiera pas la variable par une affectation statique mais bien par interaction avec le système.
ANNEXE
Le serveur AdventNet utilise le port 8001 pour communiquer (option –p 801)
L’adresse du serveur est l’adresse locale de la machine 127.0.0.1
oid peut être de la forme stage.adresse ou 1.3.6.1.4.1. ....
Les commandes snmp :
Oid représente la variable que vous voulez adresser
snmpget –p 8001 127.0.0.1 public oid [oid …]
snmpgetnext –p 8001 127.0.0.1 public oid [oid …]
snmpset -p 8001 127.0.0.1 public oid type valeur
type :
i: INTEGER, u: unsigned INTEGER, t: TIMETICKS, a: IPADDRESS
o: OBJID, s: STRING, x: HEX STRING, d: DECIMAL STRING, b: BITS
U: unsigned int64, I: signed int64, F: float, D: double
snmpbulkget -v2c -p 8001 -B n m 127.0.0.1 public oid oid …
n= non-repeat, m= max repeat
P.GUTERL ULP/MASTER INFO
5/5

Documents pareils