Home
ETUDE ET MISE EN Œ UVRE D UN AGENT SNMP SOUS linux
Contents
1. var enseirb This function is called every time the agent gets a request for a scalar variable that might be found within your mib section registered above It is up to you to do the right thing and 8 return the correct value S You should also correct the value of var_len if necessary 8 Please see the documentation for more information about writing x module extensions and check out the examples in the examples and mibII directories wa unsigned char var_enseirb struct variable vp oid name size_t length int exact size_t var_len WriteMethod write_method variables we may use later static long long_ret static unsigned char string SPRINT_MAX_LEN static oid objid MAX OID LEN static struct counter64 c64 if header generic vp name length exact var len write method MATCH FAILED return NULL this is where we do the value assignments for the mib results 174 Jean Philippe VILAIN 36 53 Rapport de Stage ENSEIRB switch vp gt magic case LEDO write method write led0 long ret led0 return unsigned char amp long ret case LEDI write method write ledl long ret ledl return unsigned char amp long ret case LED2 write method write led2 long ret led2 return unsigned char amp long ret case LED3 write method write led3 long ret led3 return unsigned char amp long ret case LED4 write
2. agit pas l d un enjeu capital puisque l on se sert toujours de la version 1 bien que la version 2 soit disponible La simplicit de SNMP est donc plus importante que son aspect s curitaire La distribution En mati re de distribution la politique retenue pour SNMP est la minimisation du nombre et de la complexit des fonctions de gestion et donc de la charge de travail de la machine g r e n ud Ceci a pour cons quences Une r duction des co ts de d veloppement logiciels des agents de gestion n cessaires au support du protocole Une limitation des restrictions des outils de gestion d velopp s sur les stations de gestion Une assimilation rapide par les d veloppeur d ensembles simples de fonctions de gestion 3 1 3 Les particularit s du produit UCD SNMP Pour se familiariser avec le protocole SNMP en utilisant le logiciel UCD SNMP University of California Davis un kit d entrainement est fourni Ce kit permet d utiliser les fonctions SNMP de base mais donne aussi un exemple d extension de l agent dont on doit s inspirer pour r aliser son propre agent 3 1 3 1 Les fonctions SNMP de base snmpget application qui utilise une requ te get pour obtenir une information d une entit distante c est dire obtenir la valeur d un objet pr sent sur un n ud g r La syntaxe est la suivante snmpget machine password objet snmpset application qui utilise une requ te set pour forcer la valeu
3. rations du protocole est cod e dans une syntaxe qui correspond un sous ensemble de la syntaxe normalis e ASN 1 Nous verrons les types d objets utilisables et la structuration de ceux ci regroup s par groupes On notera que le terme objet correspond uniquement des variables informatiques classiques Voici la macro ASN 1 utilis e pour d finir des objets SNMP MODULE IDENTITY MACRO BEGIN TYPE NOTATION LAST UPDATED Value Update UTCTime ORGANISATION Text CONTACT INFO Text DESCRIPTION Text RevisionPart VALUE NOTATION Value VALUE OBJECT IDENTIFIER Access R W Ronly Status optional obsolete RevisionPart Empty Figure 3 d claration d objets SNMP ASN 1 est un m ta langage qui permet de repr senter les types et les structures de donn es Les structures d crites en utilisant ASN 1 seront ensuite cod es suivant des r gles BER Basic Encoding Rules dans le but de les pr parer pour un ventuel envoi sur le r seau Ce codage suit la s quence classique TLV Type Longueur Valeur Les variables que g re SNMP sont regroup es en plusieurs listes SystemGroup liste des informations de configuration InterfacesGroup liste des informations g n riques sur les interfaces AtGroup liste de traduction d adresse IpGroup liste des variables li es au protocole ICMP TCPGroup liste des varia bles li es au protocole TCP UDPGroup liste des varia
4. Ipdata amp tmp outb lpdata lp_base on crit Ipdata sur le port ledi long ret on donne la bonne valeur a ledi send_easy_trap SNMP_TRAP_ENTREPRISESPECIFIC 1 on envoie un trap Jean Philippe VILAIN 16 53 Rapport de Stage ENSEIRB On crit dans ROCESS NNN Port parall le ou Pr Lola fp bo Tmp lt lt 2 old p p e 99 q php long_ret tmp Apr s cette op ration on voit que la led2 est allum e mais en m me temps la led4 est rest e allum e Figure 5 algorithme d criture sur le port parall le led2 de 0 1 led4 allum e 3 2 1 3 Mise en place de l agent sous linux La mise en place de l agent sous linux est on ne peut plus simple En effet il suffit d ex cuter les trois commandes suivantes e configure with mib modules enseirb cette ligne permet de configurer les Makefile de mani re tenir compte du subagent e make pour construire l ex cutable e make instal pour installer le d mon Il ne reste qu ex cuter le programme en tapant snmpd on peut alors utiliser les fonctions SNMP et on peut visualiser toutes les variables de l agent y compris les variables ledi nouvellement impl ment es 3 2 2 Les outils utilis s pendant la phase de d veloppement 3 2 2 1 Le compilateur mib2c L outil mib2c se situe sous le r pertoire root ucd snmp local C est dans ce r pertoire qu il faut copier le fichier MIB On ex cute ensuite l
5. Led 4 connected to bit 4 of the PC parallel port DEFVAL 0 leds 5 led5 OBJECT TYPE SYNTAX Integer32 0 1 MAX ACCESS read write STATUS current DESCRIPTION Led 5 connected to bit 5 of the PC parallel port DEFVAL 0 leds 6 led OBJECT TYPE Jean Philippe VILAIN 31 53 Rapport de Stage ENSEIRB SYNTAX Integer32 0 1 MAX ACCESS read write STATUS current DESCRIPTION Led 6 connected to bit 6 of the PC parallel port DEFVAL 0 leds 7 led7 OBJECT TYPE SYNTAX Integer32 0 1 MAX ACCESS read write STATUS current DESCRIPTION Led 7 connected to bit 7 of the PC parallel port DEFVAL 0 leds 8 END Jean Philippe VILAIN 32 53 Rapport de Stage ENSEIRB Fichier enseirb h This file was generated by mib2c and is intended for use as a mib module for the ucd snmp snmpd agent ifndef _MIBGROUP_ENSEIRB_H define _MIBGROUP_ENSEIRB_H we may use header_generic and header_simple_table from the util_funcs module config require util funcs function prototypes void init enseirb void FindVarMethod var enseirb WriteMethod write led0 WriteMethod write ledl WriteMethod write led2 WriteMethod write led3 WriteMethod write led4 WriteMethod write leds WriteMethod write led6 WriteMethod write led7 endif MIBGROUP ENSEIRB H Jean Philippe VILAIN 33 53 Rapport de Stage ENSEIRB Fichier enseirb c This file was generated by mib2c and
6. UCD SNMP Le package uClinux coldfire La carte d valuation Motorola ColdFire MF5407 en r seau Jean Philippe VILAIN 5 53 Rapport de Stage ENSEIRB 2 4 Planification du projet 19 mars 1 avril 15 avril 23 avril 25 avril 6 mai mise en place de linux sur le apprentissage des fonctions criture du fichier PC SNMP de base ENSEIRB MIB txt en langage ASN 1 mise en place du package apprentissage de la structure UCD SNMP sur le PC du logiciel UCD SNMP utilisation de l outil mib2c pour la g n ration des T che accomplie premi re approche de application de l exemple fichiers C administration de r seau fourni dans le package UCD SNMP fabrication d une plaquette installation du package modification du code servant de test destin e a tre uClinux ColdFire sur le PC l allumage des leds sur le connect e sur le port port parall le du MCF5407 parall le du PC portage de l agent sous uClinux modification de criture du rapport de projet adaptation du fichier diff rents fichier servant a la Tache accomplie enseirb c pour allumer les configuration du noyau leds de la carte de test uClinux Jean Philippe VILAIN 6 53 Rapport de Stage ENSEIRB 3 R alisation du projet 3 1 G n ralit s sur SNMP et le package UCD SNMP 3 1 1 N cessit d une gestion de r seau La premi re question que l on se pose lorsque l on travaille avec un protocole de ge
7. anything done here must be reversable in the UNDO case A led6 long ret break case UNDO Back out any changes made in the ACTION case break case COMMIT Things are working well so it s now safe to make the change Jean Philippe VILAIN 46 53 Rapport de Stage ENSEIRB permanently Make sure that anything done here can t fail break return SNMP_ERR_NOERROR int write led7 int action u char var val u char var val type size t var val len u char statP oid name size_t name_len static long long_ret int size char tmp switch action case RESERVEL if var val type ASN_INTEGER fprintf stderr write to led7 not ASN_INTEGER n return SNMP ERR WRONGTYPE if var val len gt sizeof long ret 1 fprintf stderr write to led7 bad length n return SNMP ERR WRONGLENGTH break case RESERVE2 size var val len long ret long var val break case FREE Release any resources that have been allocated break case ACTION The variable has been stored in long ret for you to use and you have just been asked to do something with Jean Philippe VILAIN 47 53 Rapport de Stage ENSEIRB it Note that anything done here must be reversable in the UNDO case Z led7 long ret break case UNDO Back out any changes made in the ACTION case break case COMMIT Things are working well so it s now safe to make the change permanently Make sur
8. autorisant l criture sur le port parall le Ipdata 0 initialisation de la variable Ipdata 0 outb Ipdata Ip base criture de la valeur Ipdata 0 sur le port parall le les variables sont d clar es juste apr s la d claration des includes Ipdata est un static char lp base est l adresse du port parall le 0x378 Dans la suite du code on trouve deux ensembles de fonctions qui constituent le corps du fichier e Tout d abord la fonction var enseirb qui est appel e chaque fois que l agent envoie un requ te concernant un objet de la MIB alors constitu e La fonction permet alors de retourner la valeur courante de la variable demand e cette valeur est etat variable d clar e en static char e Ensuite les fonctions permettant l criture des valeur des variables par le manager les fonctions write_ledi int action u_char var val u char var val type At tant le num ro de la led allumer size_t var val len u char statP oid name size t name len Cette fonction laisse dans sa partie ACTION la place d effectuer les t che que l on veut imposer l agent dans ce cas il s agit d allumer des leds La fonction r alisant cette op ration est la suivante Ipdata inb Ip base Jon crit la valeur du port dans Ipdata tmp long_ret lt lt i long_ret contient la valeur crire dans le di if tmp si on doit crire 1 Ipdata tmp else si on doit crire 0 imp I lt lt i
9. defines function callbacks and type return information x for the enseirb mib section SE struct variable enseirb variables magic number variable type ro rw callback fn L oidsuffix define LEDO 1 LEDO ASN_INTEGER RWRITE var_enseirb 2 1 1 define LED 2 LED1 ASN_INTEGER RWRITE var_enseirb 2 1 2 define LED2 3 LED2 ASN_INTEGER RWRITE var_enseirb 2 1 3 define LED3 4 LED3 ASN_INTEGER RWRITE var_enseirb 2 1 4 define LED4 5 LED4 ASN_INTEGER RWRITE var_enseirb 2 1 5 define LEDS 6 LEDS 7 ASN INTEGER RWRITE var enseirb 2 1 6 define LED6 7 LED6 ASN INTEGER RWRITE var enseirb 2 1 7 define LED 7 8 LED7 ASN_INTEGER RWRITE var enseirb 2 1 8 AS L length of the oidsuffix init enseirb Initialization routine This is called when the agent starts up At a minimum registration of your variables should take place here Jean Philippe VILAIN 35 53 Rapport de Stage ENSEIRB Za void init enseirb void I register ourselves with the agent to handle our mib tree REGISTER MIB enseirb enseirb variables variable2 enseirb variables oid place any other initialization junk you need here ioperm lp base 1 1 specifique a l agent sous linux lpdata 0 specifique a l agent sous linux outb lpdata 1p base specifique a l agent sous linux
10. faut d abord pour cela construire les d pendances en ex cutant un make dep puis construire l image en effectuant un make Une fois l image compil e il ne reste qu la porter sur la carte d valuation ce qui est facilement possible gr ce la console kermit Jean Philippe VILAIN 22 53 Rapport de Stage ENSEIRB 3 3 2 L hyperterminal Kermit Ce terminal se lance depuis une fen tre xterm par la commande Kermit En pressant la touche c on prend la main sur le terminal avec l invite dBUG A partir de l il faut transf rer l image sur la carte ce qui s effectue avec la commande dn download network En fait deux types de transferts sont possibles un transfert par le r seau ou part le port s rie avec la commande dl download serial C est le transfert par le r seau qui est choisit en raison de sa rapidit 10 Mb s au lieu de 19200b s Une fois le noyau implant sur la carte il faut le lancer c est la commande go qui effectue ce lancement Il wy a plus qu lui donner en argument l addresse de d but de programme qui est pour la carte d valuation du MCF5407 0x00020000 Lorsque le syst me d exploitation est lanc le moniteur fournit l utilisateur une interface conviviale sous forme de r pertoires et de fichier avec une invite de commande tout fait analogue linux 3 3 3 Int gration de l agent Le probl me qui se pose ce stade de la conception c est l absence de p
11. ligne oid enseirb_variables_oid 1 3 6 1 4 1 9362 qui donne l emplacement de l objet dans la MIB On peut remarquer que cet objet se situe dans la liste private enterprises qui est l endroit o doivent tre d clar les nouveau objets Comme ce fichier est g n r par mib2c la d claration des magic numbers se fait ce stade Cette d claration se fait de la mani re suivante Struct variable2 enseirb_variables Magic number variable type ro rw callbackfn L 0idsuffix define LEDO 1 LEDO ASN INTEGER RWRITE var enseirb 2 III P L longueur de oidsuffix Et ainsi de suite pour chaque nouvelle LED d clar e Jean Philippe VILAIN 15 53 Rapport de Stage ENSEIRB Est ensuite donn le corps de la fonction init_enseirb dont le prototype a t d clar dans le fichier header Une seule initialisation y est effectu e par d faut REGISTER MIB enseirb enseirb variables variable2 enseirb_variables_oid Cependant si d autres initialisations sont n cessaires elles doivent tre effectu es dans cette fonction Pour l objet que nous avons cr e il nous a fallu initialiser un certain nombre de variables suivant les utilisations de ce fichier que ce soit sous linux ou i Clinux Sous linux puisque c est l objet de cette partie il a fallut initialiser les variables n cessaires l allumage des leds sur le port parall le du PC Ces initialisations sont ioperm Ip base I 1
12. method write led4 long ret led4 return unsigned char amp long ret case LEDS write method write led5 long ret led5 return unsigned char amp long ret case LED6 write method write led6 long ret led6 return unsigned char amp long ret case LED7 write method write led7 long ret led7 return unsigned char amp long ret default ERROR MSG return NULL Jean Philippe VILAIN 37 53 Rapport de Stage ENSEIRB int write led0 int action u char var val u char var val type size t var val len u char statP oid name size t name len static long long ret int size char tmp switch action case RESERVEI1 if var val type ASN INTEGER fprintf stderr write to led0 not ASN_INTEGER n return SNMP ERR WRONGTYPE if var val len gt sizeof long ret 1 fprintf stderr write to led0 bad length n return SNMP ERR WRONGLENGTH break case RESERVE2 size var val len long ret long var val break case FREE Release any resources that have been allocated break case ACTION The variable has been stored in long ret for you to use and you have just been asked to do something with it Note that anything done here must be reversable in the UNDO case KE lpdata inb lp base specifique a l agent sous sous linux tmp long ret lt lt i if tmp lpdata tmp else Jean Philippe
13. ANCE email kadionik enseirb fr phone 33 5 56 84 65 00 U DESCRIPTION MIB for uClinux remote control by SNMP D enterprises 80 Define typical mib nodes like where the objects are going to lie we ll prefix everything in this mib with ust ucd snmp tutorial leds OBJECT IDENTIFIER enseirb 1 reserved OBJECT IDENTIFIER enseirb 2 Define the sections of the mib them selves 4 LEDs connected to the PC parallel port leds OBJECT IDENTIFIER enseirbObjects 1 LED 0 connected to bit 0 of the PC parallel port led0 OBJECT TYPE SYNTAX Integer32 0 1 Jean Philippe VILAIN 30 53 Rapport de Stage ENSEIRB MAX ACCESS read write STATUS current DESCRIPTION Led 0 connected to bit 0 of the PC parallel port DEFVAL 0 leds 1 ledi OBJECT TYPE SYNTAX Integer32 0 1 MAX ACCESS read write STATUS current DESCRIPTION Led 1 connected to bit 1 of the PC parallel port DEFVAL 0 leds 2 led2 OBJECT TYPE SYNTAX Integer32 0 1 MAX ACCESS read write STATUS current DESCRIPTION Led 2 connected to bit 2 of the PC parallel port DEFVAL 0 leds 3 led3 OBJECT TYPE SYNTAX Integer32 0 1 MAX ACCESS read write STATUS current DESCRIPTION Led 3 connected to bit 3 of the PC parallel port DEFVAL 0 leds 4 led4 OBJECT TYPE SYNTAX Integer32 0 1 MAX ACCESS read write STATUS current DESCRIPTION
14. Interface ASN 1 Abstract Syntax Notation 1 NMS Network Management Station SNMP Simple Network Management Protocol Jean Philippe VILAIN 27 53 Rapport de Stage ENSEIRB 6 Bibliographie Gestion des r seaux ouverts Marshall Rose InterEdition Understanding SNMP MIBS Perkins amp McGinnis Prentice Hall http linas org linux NMS html http www moretonbay com coldfire http www guill net reseaux Snmp html http net snmp sourceforge net http www ensimag imag fr http www enseirb fr kadionik http www csc liv ac uk daves http motorola com Jean Philippe VILAIN 28 53 Rapport de Stage ENSEIRB 7 Annexes Fichier MIB ENSEIRB MIB txt 1 Fichier C enseirb h 2 Fichier C enseirb c 3 Fichier Makefile du r pertoire mypatch 4 1 2 4 Jean Philippe VILAIN 29 53 Rapport de Stage ENSEIRB Fichier MIB ENSEIRB MIB txt ENSEIRB MIB DEFINITIONS BEGIN MIB of the ENSEIRB School of electrical Engineering IMPORTS Include definitions from other mibs here which is always the first item in a MIB file IMPORTS enterprises FROM SNMPv2 SMI MODULE IDENTITY FROM SNMPv2 SMI MODULE COMPLIANCE OBJECT GROUP FROM SNMPv2 CONF A brief description and update information about this mib enseirb MODULE IDENTITY LAST UPDATED 0104010000Z 01 Apr 2001 midnight ORGANIZATION ENSEIRB CONTACT INFO Author Patrice Kadionik ENSEIRB School of Electrical Engineering postal PO Box 99 33402 TALENCE CEDEX FR
15. MIB Il n est pas absolument n cessaire au sens strict mais il peut cependant tre tr s utile et cela pour trois raisons e Il donne une premi re sp cification de ce qui va tre impl ment e Si ce nouveau fichier est lu en m me temps que les autres fichiers MIB l agent int grera le nouvel objet si celui ci fonctionne correctement e L outil mib2c permet partir de ce fichier MIB d obtenir les fichiers c et h n cessaire au nouvel agent la simplicit de codage est totale Ces fichiers MIB sont des fichier de type txt et sont localis s dans le r pertoire ust local share snmp mibs La question qu il reste se poser ce stade est quel nom donner son nouvel objet et o le localiser dans la MIB Ce point est tout a fait interne mais doit tre trait avec lucidit pour que les utilisateurs futurs puissent utiliser ce nouvel objet de la mani re la plus naturelle possible L agent d velopp pour allumer les leds comporte donc un groupe Enseib dans lequel se trouve le groupe Led contenant plusieurs variables correspondant a plusieurs leds 3 2 1 2 Les fichiers C et leurs particularit s Ces fichiers sont localis s dans le r pertoire root ucd snmp agent mibgroup Vous pourrez les consulter en annexes 2 et 3 Je m attarderai tout d abord sur le fichier C header o l on d clare de m me s il est cr e par Toun mib2c trois prototypes de fonctions extern void init_nom_du_fichier
16. ONGLENGTH break case RESERVE2 size var val len long ret long var val break case FREE Release any resources that have been allocated break case ACTION The variable has been stored in long ret for you to use and you have just been asked to do something with it Note that anything done here must be reversable in the UNDO case 14 led5 long_ret break case UNDO Back out any changes made in the ACTION case break case COMMIT Things are working well so it s now safe to make the change permanently Make sure that anything done here can t fail break return SNMP_ERR_NOERROR int write led6 int action u_char var val Jean Philippe VILAIN 45 53 Rapport de Stage ENSEIRB u_char var_val_type size_t var val len u char statP oid name size t name len static long long ret int size char tmp switch action case RESERVEI1 if var val type ASN_INTEGER fprintf stderr write to led6 not ASN_INTEGER n return SNMP ERR WRONGTYPE if var val len gt sizeof long ret 1 fprintf stderr write to led6 bad length n return SNMP ERR WRONGLENGTH break case RESERVE2 size var val len long ret long var val break case FREE Release any resources that have been allocated break case ACTION The variable has been stored in long ret for you to use and you have just been asked to do something with it Note that
17. RS snmplib agent TESTDIRS testing EPP CC E IS srcdir agent mibgroup I IS srcdir DDONT INC STRUCTS DBINDIR S bindir EXTRACPPFLAGS INCS CPP CC E IS srcdir agent mibgroup I IS srcdir DDONT INC STRUCTS DBINDIR S bindir S S EXTRACPPFLAGS INCS INSTALLHEADERS ucd snmp config h srcdir version h all sedscript EXAMPLE conf ucd snmp config h subdirs testr all cd testing S MAKE test sedscript sedscript in config h S srcdir agent mibgroup mibdefs h S CPP DPREFIX S prefix DLIBDIR libdir DDATADIR S datadir sredir sedscript in egrep s sed s REMOVEME g s 9 S 4 g s g s g g gt sedscript ucd snmp config h config h egrep v IN DCD SNMP _ SOURCE SYSTEM _ INCLUDE MACHINE_ INCLUDE mib module config config h gt ucd snmp config h subdirs for i in S SUBDIRS do cd i S MAKE done test all testdirs Jean Philippe VILAIN 50 53 Rapport de Stage ENSEIRB testdirs for i in S TESTDIRS do cd i MAKE done distall srcdir configure srcdir config h install all installdirs for i in S INSTALLDIRS do cd SSi S MAKE install done for i in S INSTALLHEADERS do S INSTALL S Si S includedir I echo install installed i in includedir done installdirs S SHELL S srcdir mkinstalldirs snmplibdir S mibdir S includedir S SHELL S srcdi
18. S 1 Avenue Schweitzer 33400 Talence ETUDE ET MISE EN UVRE D UN AGENT SNMP SOUS linux PUIS INTEGRATION SOUS i Clinux Stage du 19 mars au 15 juin 2001 Jean Philippe VILAIN Ann e Universitaire 2000 2001 15 Juin 2001 Rapport de Stage ENSEIRB Jean Philippe VILAIN 2 53 Rapport de Stage ENSEIRB Table des mati res Le INTRODUCTION BE 4 2 LES OBJECTIFS DE LA MISSION TECHNIQUE eeeeooesssvennnnnnnnensennnnnennnnennnennsnnnnnnnnennnensennnnnenneneeen 5 SR ege EE 5 2 2 CAHIER DES CHARGES FONCTIONNRL sese eee 5 2 3 MOYENS MIS DISPOSITION use ne ann eme ti en OTER ceS lea ananas re nat pan ete ENER 5 24 PEANIFIGATION DU PROJET eege en ete tire en EE 6 3 REALISATION DU PROJET se 7 3 1 G N RALIT S SUR SNMP ET LE PACKAGE UCD SNMP ss 7 3 1 1 N cessit d une gestion de r regn 7 31 2 SNMP Sistema naines scnatarsadessanscacsdeascvabhane diuatsdaedeadanscuaaaabacadbaaas EE Eaa 7 3 12 1 Fonctionnement SNMP ssussesesssnsenennesseninees nseseenennseneatasetenlneseseateeseeunenasescatesetees 7 3122 Qu est ce que la MIB 7 50 arnesi ien riren pr ease rE EE E TEE EN E a ieaiaia 9 3 1 2 3 Structure informationnelle Si nang renyah R rhan R Eara 11 3 1 24 Les propri t s TOHO 1 iiiiinererenereneneneneneneneneneneneneneeenenees 12 3 1 3 Les particularit s du produit UCD ASNMP eee 12 3 1 3 1 Les fonctions SNMP de base sssssssssseeeeeeeeneeerereneneneneneneneeeenees 12 3 1 3 2 L exemple fourni avec le
19. VILAIN 38 53 Rapport de Stage ENSEIRB tmp 1 lt lt i lpdata amp tmp outb lpdata lp base if long ret 1 specifique au portage sous uClinux PADAT amp 0x007f else PADAT 0x0080 led0 long ret break case UNDO Back out any changes made in the ACTION case break case COMMIT Things are working well so it s now safe to make the change permanently Make sure that anything done here can t fail break return SNMP_ERR_NOERROR int write ledl int action u char var val u char var val type size t var val len u char statP oid name size t name len static long long ret int size char tmp switch action case RESERVEI1 if var val type ASN_INTEGER fprintf stderr write to ledl not ASN_INTEGER n return SNMP ERR WRONGTYPE if var val len gt sizeof long ret 1 fprintf stderr write to ledl bad length n return SNMP ERR WRONGLENGTH Jean Philippe VILAIN 39 53 Rapport de Stage ENSEIRB break case RESERVE2 size var val len long ret long var val break case FREE Release any resources that have been allocated break case ACTION The variable has been stored in long ret for you to use and you have just been asked to do something with it Note that anything done here must be reversable in the UNDO case Ef if long ret 1 PADAT amp Ox00bf else PADAT 0x0040 ledl long ret break
20. a commande mib2c enseirb ainsi les deux fichiers C qui restent copier Jean Philippe VILAIN 17 53 Rapport de Stage ENSEIRB sous root ucd snmp agent mibgroup sont cr s Cet outil permet un gain de temps de d veloppement substantiel puisqu il vite au programmeur de devir coder la partie g n rale qui permet l agent de fonctionner Il est noter que cet outil donne un corps de programme qui peut bien s r tre am lior comme le programme contenu dans enseirb c a t adapt 3 2 2 2 Le manager tkmib Cet outil se lance depuis la racine par la commande tkmib et permet de visualiser la MIB de n importe quel agent pr sent sur le r seau de mani re conviviale Il vite donc l utilisation des fonctions SNMP de base qui bien que performante manque de souplesse Cet outil permet de man uvrer au sein du r seau par l interm diaire de la souris ce qui est beaucoup plus rapide que de taper des lignes de commande sous linux LT mc File Mib Options mgmt experimental private L enterprises OID 1 3 6 1 4 1 60 type access status units hint modulelD enums indexes Description Pail J ar getnext RR IS age pap Jean Philippe VILAIN 18 53 Rapport de Stage ENSEIRB Figure 6 le manager tkmib Jean Philippe VILAIN 19 53 Rapport de Stage ENSEIRB 3 2 3 Tests de l agent ainsi compl t Dans un premier temps j ai regard par l interm
21. anagement Station et beaucoup de serveurs chaque agent SNMP le client interrogeant les serveurs pour r cup rer les informations En utilisant les protocoles de la couche UDP SNMP acqui re la transparence vis a vis du support physique cependant en cas de d faillance de la couche transport le protocole ne peut informer l administrateur Chaque agent est plac sur un n ud du r seau qui est dit administrable MN Managed Node Ces n uds peuvent tre soit des h tes stations de travail ou serveurs soit des l ments d interconnexion switchs hubs routeurs soit des supports physiques c bles Les traps permettent aux serveurs d envoyer des infos non demand es par le client pour l informer sur certains v nements erreurs ruptures de ligne Go Management Client administrateur SNMP is Management Server agent SNMP C Hub concentrateur intelligent Routeurs FT Figure 1 Architecture de la gestion de r seau SNMP Jean Philippe VILAIN 8 53 Rapport de Stage ENSEIRB 3 1 2 2 Qu est ce que la MIB Pour se retrouver dans la foule d informations propos es par chaque agent on a d fini une structure particuli re pour les informations appel e SMI Structure of Management Information Chacune des informations de la MIB peut tre retrouv e soit partir de son nom de variable soit partir d un arbre de classification Cela revient parcourir des sous dossiers et dos
22. bles li es au protocole UDP EGPGroup liste obligatoire dans les n uds qui impl mentent EGP TransmissionGroup liste apparue dans la version MIB II Elle regroupe l ensemble des variables qui correspondent aux diff rents types d interfaces token ring loopback SnmpGroup liste apparue dans la version MIB II qui contient les variables se rapportant SNMP Jean Philippe VILAIN 11 53 Rapport de Stage ENSEIRB 3 1 2 4 Les propri t s de SNMP La s curit La conjugaison d un agent SNMP avec un ensemble d entit s d application s appelle une communaut SNMP Chaque communaut SNMP est identifi e par une cha ne d octets le nom de la communaut Pour assurer la s curit des op rations de gestion le protocole SNMP utilise la notion de message authentique qui se d finit comme un message pour lequel on a contr l que l entit d application mettrice est bien membre de la communaut sp cifi e dans ce message Il est clair qu une administration s curis e utilisant des entit s d applications b ties sur SNMP doit disposer de services d authentification capables d identifier les messages SNMP avec un fort taux de cr dibilit Bien s r certaines impl mentations peuvent souhaiter ne supporter qu un service d authentification trivial ce qui revient accepter tous les messages comme authentiques Avec les versions 2 et 3 la s curit a t grandement am lior e mais il ne s
23. case UNDO Back out any changes made in the ACTION case break case COMMIT Things are working well so it s now safe to make the change permanently Make sure that anything done here can t fail break return SNMP_ERR_NOERROR int write_led2 int action u_char var_val u_char var_val_type size_t var_val_len u_char statP oid name Jean Philippe VILAIN 40 53 Rapport de Stage ENSEIRB size t name len static long long ret int size char tmp switch action case RESERVEL if var val type ASN_INTEGER fprintf stderr write to led2 not ASN_INTEGER n return SNMP ERR WRONGTYPE if var val len gt sizeof long ret 1 fprintf stderr write to led2 bad length n return SNMP ERR WRONGLENGTH break case RESERVE2 size var val len long ret long var val break case FREE Release any resources that have been allocated break case ACTION The variable has been stored in long ret for you to use and you have just been asked to do something with it Note that anything done here must be reversable in the UNDO case LA if long_ret 1 PADAT amp 0x00df else PADAT 0x0020 led2 long ret break case UNDO Back out any changes made in the ACTION case break case COMMIT Things are working well so it s now safe to make the change Jean Philippe VILAIN 41 53 Rapport de Stage ENSEIRB permanently Make sure that anything done
24. ch action case RESERVE1 if var val type ASN_INTEGER fprintf stderr write to led4 not ASN_INTEGER n return SNMP ERR WRONGTYPE if var val len gt sizeof long ret 1 fprintf stderr write to led4 bad length n return SNMP ERR WRONGLENGTH break Jean Philippe VILAIN 43 53 Rapport de Stage ENSEIRB case RESERVE2 size var val len long ret long var val break case FREE Release any resources that have been allocated break case ACTION The variable has been stored in long ret for you to use and you have just been asked to do something with it Note that anything done here must be reversable in the UNDO case Kf led4 long ret break case UNDO Back out any changes made in the ACTION case break case COMMIT Things are working well so it s now safe to make the change permanently Make sure that anything done here can t fail break return SNMP ERR NOERROR int write led5 int action u char var val u char var val type size t var val len u char statP oid name size_t name_len static long long_ret int size char tmp switch action Jean Philippe VILAIN 44 53 Rapport de Stage ENSEIRB case RESERVEL if var val type ASN_INTEGER fprintf stderr write to led5 not ASN_INTEGER n return SNMP ERR WRONGTYPE if var val len gt sizeof long ret 1 fprintf stderr write to led5 bad length n return SNMP ERR WR
25. cp mysnmpd conf ROMFS etc config snmpd conf cp mysnmp conf S ROMFS etc config snmp conf Jean Philippe VILAIN 53 53
26. diaire de tkmib si l agent que je lan ais sur le PC contenait bien les nouvelles variables que j avais cod es En effet sous le groupe enterprises appara t le sous groupe enseirb leds contenant les variables ledO led7 Ces variables sont accessibles en criture et leur valeur est soit 0 soit 1 Dans un deuxi me temps j ai r alis sous ARES une petite carte comportant un connecteur DB25 et 8 leds avec leur r sistances de 470 1 Une fois connect e sur le port parall le du PC chaque led correspondant une variable de la MIB la carte donne l tat des variables ledi de la MIB Cette op ration a bien fonctionn Jean Philippe VILAIN 20 53 Rapport de Stage ENSEIRB 3 3 Portage de l agent sous uClinux 3 3 1 Le package uClinux ColdFire Dans un premier temps il faut installer le package sous la racine tar xvfz uClinux coldfire XXXXXXXX tar gz tar xvfz uClinux coldfire tools XXXXXXXX tar gz Ce package contient tout le mat riel n cessaire la compilation d un noyau uClinux destin tre port sur la carte d valuation MCF5407 de Motorola Il faut alors se placer sous le r pertoire uClinux coldfire qui vient d tre cr e et ex cuter un make xconfig Se pr sente alors une fen tre dans laquelle on peut s lectionner la carte d valuation que l on poss de pour que le logiciel configure correctement les Makefile F udinux Coldfire Configuration e EI Target Platform Selection Save and Exi
27. e that anything done here can t fail break return SNMP_ERR_NOERROR Jean Philippe VILAIN 48 53 Rapport de Stage ENSEIRB Makefile du r pertoire mypatch 4 1 2 Generated automatically from Makefile top Makefile in by configure Minimum environment and virtual path setup SHELL bin sh srcdir top_srcdir Paths prefix usr local exec_prefix usr local bindir Sfexec prefix bin sbindir exec prefix sbin libdir S exec_prefix lib datadir S prefix share includedir S prefix include ucd snmp mandir S prefix man manldir S mandir manl man3dir mandir man3 manSdir mandir mans man8dir mandir man8 snmplibdir datadir snmp mibdir snmplibdir mibs persistentdir tmp Programs INSTALL usr bin install c SED sed RANLIB ranlib LN_S in s Compiler arguments CFLAGS g EXTRACPPFLAGS X C LDFLAGS Shared library commands or not SHLIB_CFLAGS SHLIB_EXTENSION a Jean Philippe VILAIN 49 53 Rapport de Stage ENSEIRB SHLIB VERSION SHLIB LDCONFIG CMD SHLIB_LD_CMD ar CT SHLIB_LD_LIBS CC_RUNTIME_ARG Makefile in at the root of ucd snmp TARG bin snmpget bin snmpgetnext bin snmpset bin snmptranslate bin snmpwalk bin snmpbulkwalk bin snmptest bin snmptrapd bin snmpnetstat bin snmpd SUBDIRS snmplib agent SUBDIRS snmplib agent apps local ov man INSTALLDI
28. here can t fail break return SNMP_ERR_NOERROR int write_led3 int action u_char var_val u_char var_val_type size_t var_val_len u_char statP oid name size_t name_len static long long_ret int size char tmp switch action case RESERVEL if var val type ASN_INTEGER fprintf stderr write to led3 not ASN_INTEGER n return SNMP ERR WRONGTYPE if var val len gt sizeof long ret 1 fprintf stderr write to led3 bad length n return SNMP ERR WRONGLENGTH break case RESERVE2 size var val len long ret long var val break case FREE Release any resources that have been allocated break case ACTION The variable has been stored in long ret for you to use and you have just been asked to do something with Jean Philippe VILAIN 42 53 Rapport de Stage ENSEIRB it Note that anything done here must be reversable in the UNDO case Z if long_ret 1 PADAT amp 0x00ef else PADAT 0x0010 led3 long_ret break case UNDO Back out any changes made in the ACTION case break case COMMIT Things are working well so it s now safe to make the change permanently Make sure that anything done here can t fail break return SNMP_ERR_NOERROR int write_led4 int action u_char var_val u_char var_val_type size_t var_val_len u_char statP oid name size t name len static long long ret int size char tmp swit
29. i re suivante Short PADAT 0x10000244 addresse des donn es du port parall le If long_ret I PADAT amp 0x007F valeur courante amp valeur affecter else PADAT 0x0080 On peut remarquer que la led s allume lorsque la valeur lui correspondant dans PADAT est a 0 On peut alors piloter les leds du port parall le par la fonction snmpset de la mani re suivante Snmpset 192 9 200 11 tst ledi 0 i 1 pour allumer la led i Cette op ration peut tre effectu e depuis le manager tkmib Quick time to market High Performance 257MIPS integrated solution for embedded designers Complete Hardware Software solution including tools and documentation Figure 10 carte d valuation motorola MCF5407 Jean Philippe VILAIN 25 53 Rapport de Stage ENSEIRB d Conclusion Ce projet de fin d tude a t pour moi l occasion de tester ce du tait le travail en laboratoire et m a permis de confronter deux exp riences totalement diff rentes dans la m me ann e puisque j ai effectu mon stage de troisi me ann e en entreprise Le premier point de comparaison qui m a frapp est le large panel de moyens mis disposition des chercheurs en laboratoire ce qui n est malheureusement pas toujours le cas en entreprise Le travail demand est aussi plus pr cis et le cahier des charges n volue pas en permanence comme en entreprise o le client trouve toujours une fonctionnalit ajoute
30. is intended for use as a mib module for the ucd snmp snmpd agent ifdef IN UCD SNMP SOURCE If we re compiling this file inside the ucd snmp source tree This should always be included first before anything else include lt config h gt minimal include directives include mibincl h include util funcs h else IN DCD SNMP SOURCE include lt ucd snmp ucd snmp config h gt include lt ucd snmp ucd snmp includes h gt include lt ucd snmp ucd snmp agent includes h gt endif IIN DCD SNMP SOURCE include lt stdlib h gt include lt unistd h gt include lt asm io h gt include my wrapper h specifique au portage sous uClinux include enseirb h define OFF 0 define ON 1 define lp base 0x378 specifique a l agent sous linux static char lp data specifique a l agent sous linux static char led0 OFF static char ledi OFF static char led2 OFF static char led3 OFF static char led4 OFF static char led5 OFF Jean Philippe VILAIN 34 53 Rapport de Stage ENSEIRB static char led6 OFF static char led7 OFF short PADAT 0x10000244 specifique au portage sous uClinux enseirb variables oid S this is the top level oid that we want to register under This S is essentially a prefix with the suffix appearing in the k variable below a oid enseirb variables oid 1 3 6 1 4 1 80 variable enseirb variables N this variable
31. ive ainsi que de son essor actuel dans le domaine de l embarqu J avais donc envie de me familiariser avec cet outil apparemment stable modulable et dont la gratuit entra ne tout un engouement propice son am lioration constante Jean Philippe VILAIN 4 53 Rapport de Stage ENSEIRB 2 Les objectifs de la mission technique 2 1 Sujet de stage Le but de ce projet est de montrer la faisabilit de piloter du mat riel par SNMP Il est pour cela n cessaire de mettre en place un agent SNMP sous linux UCD SNMP pour tudier le protocole SNMP puis de developper un subagent pour piloter des entr es sorties leds connect es sur le port parall le du PC Enfin il faudra r aliser le portage du subagent sur la carte ColdFire Motorola sous uClinux puis adapter le code n cessaire l allumage des leds Ce projet r alis dans le cadre de l ENSEIRB doit permettre de mettre en place des TP pour la fili re Telecom en vue de l tude de l administration de r seau par SNMP 2 2 Cahier des charges fonctionnel Installation et mise en uvre des protocoles SNMP sous linux avec le produit UCD SNMP Cette tape doit aussi permettre de ma triser l environnement RED HAT fonctionnant sous linux D veloppement d un agent SNMP sp cifique subagent sous linux Int gration du subagent sur carte ColdFire MF5407 sous uClinux 2 3 Moyens mis disposition Un micro ordinateur PC sous linux en r seau Le package
32. package UCD SNMP see 13 3 2 D VELOPPEMENT DE L AGENT SOUS ING As 14 3 2 1 Architecture du logiciel UCD SNMP srronennnnnnnnnnnnvnvennnnrrnnnnnnsnvenennrnrrnnnnsnsenennnnrrnsnnsnesvennnnrnnsnnee 14 3 2 1 1 Les fichiers MIB impl mentant les objets 14 3 2 1 2 Les fichiers C et leurs particularit s sii ieo e a a a e e a eaaa aoea 14 3 2 1 3 Mise en place de l agent sous linux 17 3 2 2 Les outils utilis s pendant la phase de d veloppement 17 3 2 9 1 Le Ccompilateurmib2 avarter 17 3 2 2 2 Le Manager e aai een a een inner eee res 18 3 2 3 Tests de Vagent ainsi compl t ses 20 3 3 PORTAGE DE L AGENT SOUS DOLINUX ue OR ATOR aR EO RTK REOT CO Ve r 21 3 3 1 Le package uClinux Cold Fire sise 21 3 3 2 Le moniteur a TTT 23 3 33 ET 23 3 3 3 1 L patch mypatch l2 mm ant in enka 23 3 3 3 2 Le problem de Fatfich ges sussebass 24 4 CONCEUSION PERRIER enr en ee E 26 Bis GLOSSAIRE sine enr tr arkkdaseneeseer teens nan sens dde ne S see node tt ren ent ace ent ide ste ne n ets atomes feed 27 ICC ELLE ENN HUET 28 Ted ANNEXES EE 29 Jean Philippe VILAIN 3 53 Rapport de Stage ENSEIRB 1 Introduction C est mon int r t pour les r seaux informatiques qui m a pouss vers cette tude En effet l heure de l internet information transmise via ce nouveau moyen de communication devient un enjeu aussi bien technique qu conomique Ce m dium rev t une importance toute particuli re pour les entrep
33. r mkinstalldirs S persistentdir apps snmpget apps snmpgetnext apps snmpset apps snmptranslate apps snmpwalk apps snmpbulkwalk apps snmptest apps snmptrapd apps snmpnetstat snmpnetstat agent snmpd makeall depend cd snmplib S MAKE depend cd apps S MAKE depend cd agent S MAKE depend cd testing S MAKE depend nosysdepend cd snmplib S MAKE nosysdepend cd apps S MAKE nosysdepend cd agent S MAKE nosysdepend cd testing S MAKE nosysdepend makefileindepend cd snmplib S MAKE makefileindepend cd apps S MAKE makefileindepend cd agent S MAKE makefileindepend cd testing S MAKE makefileindepend clean for i in S SUBDIRS TESTDIRS do cd i S MAKE clean done rm f EXAMPLE conf sedscript ucd snmp txt Jean Philippe VILAIN 51 53 Rapport de Stage ENSEIRB distclean clean configclean configclean rm f config cache config log config h rm f Makefile snmplib Makefile agent Makefile agent mibgroup Makefile apps Makefile apps snmpnetstat Makefile man Makefile mibs Makefile ov Makefile local Makefile testing Makefile rm f agent dlmods Makefile rm f mibs index rm f mib module config h ucd snmp config h agent mibgroup mib_module_includes h agent mibgroup mib_module_inits h agent mibgroup mib_module_shutdown h agent mibgroup mib_module_dot_conf h rm f core configure configure in aclocal m4 cd srcdir amp amp autoconf echo Please run configure now sh c e
34. r au produit d velopp L tendue des connaissances est aussi plus importante en laboratoire tant donn e la diversit des missions qui doivent y tre accomplies Plus sp cifiquement je suis heureux d avoir pu travailler sur ce sujet En effet ce projet haute teneur en informatique m a permis de me familiariser avec linux un syst me d exlpoitation en pleine expension ainsi qu avec un outil de gestion de r seau SNMP Cette nouvelle exp rience des r seau sera pour moi un atout certain dans ma future carri re et sur un plan plus personnel m a donn une autre id e moins scolaire des applications de l internet Ce projet s il n tait pas forc ment d une grande complexit m a toutefois souvent pos des probl mes dans la mesure o je ne suis pas un informaticien de formation En effet certaines solutions peuvent para tre videntes des sp cialistes alors que pour un n ophite comme moi cela demande une plus longue recherche Je voudrais profiter de cette conclusion pour remercier tout particuli rement Patrice KADIONIK mon tuteur qui m a toujours paul et conseill durant ce stage Jean Philippe VILAIN 26 53 Rapport de Stage ENSEIRB 5 Glossaire IANA Internet Assigned Numbers Authority MIB Management Information Base IP Internet Protocol TCP Transmission Control Protocol EGP Exterior Gateway Protocol UDP User Datagram Protocol API Application Programmer s
35. r d un objet dans la MIB distante si bien s r cet objet est accessible en criture La syntaxe est cette fois l g rement diff rente il faut donner une valeur l objet distant snmpset machine password objet type valeur snmpgetnext cette fonction est analogue snmpget cependant qu elle donne la valeur de l objet suivant dans la MIB si toutefois il en existe un La syntaxe est la m me que pour snmpget Jean Philippe VILAIN 12 53 Rapport de Stage ENSEIRB snmpwalk c est une boucle de snmpgetnext appliqu e sur un groupe de la MIB Cette fonction donne alors l tat de tous les objet pr sents dans le groupe La syntaxe est toujours la m me mis part le fait que l argument objet est remplac par un argument groupe snmptrap cette fonction permet d envoyer des traps depuis un agent un ou plusieurs OID peuvent tre donn s en arguments cependant le type de chaque objet doit tre signifi snmptable cette fonction est analogue snmpwalk pour une table SNMP snmptranslate cette fonction permet de convertir les donn es d identification d un objet Selon les options la conversion se fait du nom vers le chemin dans la MIB ou inversement On peut obtenir de nombreuses autres informations avec cette fonction voir http net snmp sourceforge net D autres fonctions existent mais je ne les ai que tr s rarement utilis es vous pourrez galement trouver ces fonctions ainsi que leur manuel d
36. rises dans la mesure o il autorise l entreprise non seulement de communiquer avec l ext rieur que ce soit par mail par l interm diaire de son site internet mais aussi d assurer toute sa communication interne optimisant ainsi les relations entre la direction et le personnel De ce dernier aspect surgit la n cessit de l administration de r seau puisque le responsable interne doit pouvoir faire face toute une batterie de probl mes potentiels r soudre De plus la s curit devient aussi un enjeu conomique dans la mesure o n importe quel utilisateur ne doit pas pouvoir avoir acc s certaines informations pr sentes sur le r seau interne de l entreprise La s curit est aussi un aspect de l administration des r seaux Mais mes motivations d effectuer mon projet de fin d tude au sein d un laboratoire rattach I ENSEIRB ne r side pas seulement en mon int r t pour l administration de r seau Je voulais aussi pouvoir comparer mon exp rience de d but d ann e scolaire en entreprise avec le travail de laboratoire qui se d roulant dans un environnement tout fait diff rent m a permis de prendre conscience de certains des choix que j aurai effectuer sur le plan professionnel Enfin le dernier point qui m a amen choisir ce projet est l environnement de travail J avais en effet beaucoup entendu parl de linux des comparaisons avec Windows de sa communaut tr s act
37. rogramme de configuration pour int grer le nouvel objet d velopp Cette configuration doit donc se faire manuellement c est le but de l ex cutable mypatch 4 1 2 3 3 3 1 Le patch mypatch 4 1 2 Mypatch 4 1 2 Makefile mib_module_includes h I mb modules inits h ucd snmp config h mypatch 4 1 2 Figure 9 Le r pertoire mypatch 4 1 2 sous uClinux coldfire user ucdsnmp Jean Philippe VILAIN 23 53 Rapport de Stage ENSEIRB Ce r pertoire est construit selon la m me architecture que le r pertoire ucdsnmp c est dire avec un sous r pertoire agent et un sous r pertoire mibgroup La plupart des fichiers pr sents dans ce r pertoire sont pr sent s en annexe Tout d abord le fichier Makefile du r pertoire mypatch 4 1 2 Il y a une erreur la fin de ce fichier puisque son auteur d clare copier les fichiers snmp conf et snmpd conf dans un r pertoire default Or ce r pertoire n existe pas il a donc fallut placer ces fichiers au bon endroit c est dire dans le r pertoire etc config Le fichier my_wrapper h contient les includes n cessaires la compilation du fichier enseirb c En effet certain headers ne sont pas d clar s et le compilateur ne peut fonctionner correctement Les fichiers mysnmp conf mysnmpd conf et ucd snmp config h d coulent simplement de l ex cution du programme de configuration sous linux ce sont donc des copies Ils sont n cessaires pour la configuration de l agent sou
38. s i Clinux Le fichier snmpd conf est particuli rement interressant puisqu il contient les informations de r seau de l agent ainsi que les droits de lecture et d criture Ces droits sont accord s gr ce la fonction com2sec dont Putilisation est la suivante Communaut manager password com2sec local 127 0 0 1 tst com2sec mynetwork 192 9 200 10 tst Gr ce ces quelques lignes on autorise l appareil 192 9 200 10 devenir le manager de l agent qui va tre port En l occurrence cette adresse IP est l adresse de la station qui me permet de manager cet agent Nouss nous trouvons sous le r pertoire uClinux coldfire user ucdsnmp le fichier mypatch 4 1 2 va permettre de copier les bons fichiers aux bons endroits pour que le noyau puisse tre g n r correctement Dans les r pertoires agent et mibgroup se trouvent les fichiers issus de la configuration sous linux qui sont imm diatement exploitables 3 3 3 2 Le probl me de l affichage L affichage s effectue comme sous linux sur des leds connect es au port parall le du microprocesseur Cependant la d marche est assez diff rente En effet on dispose de tous les acc s sur les ports les fonctions d initialisation des droit d criture sont donc dans ce cas inutiles Il suffit de d clarer un pointeur la bonne adresse puis de lui affecter la valeur que l on d sire Jean Philippe VILAIN 24 53 Rapport de Stage ENSEIRB Cela est fait de la man
39. siers d un disque dur Supposons que vous souhaitiez consulter la variable System d un h te vous pouvez soit lui demander la variable System directement soit lui demander la variable ayant pour OID Object IDentification 1 3 6 1 2 1 1 correspondant l arborescence de la variable ISO Identified Organization dod Internet Management MIB2 System Iso 1 Standard Registration authority 1 Member 2 Identified Organisation 3 Dod 6 Internet 1 Nr Directory Management 2 Experimental Private 4 MIB2 1 System 1 Interfaces 2 Adress trans IP 4 Figure 2 architecture g n rale de la MIB II Cela parait tr s lourd premi re vue mais le nombre de variables tant important on ne peut se souvenir de chaque nom Par contre il existe de nombreux logiciels permettant d explorer la MIB de fa on conviviale par exemple tkmib en utilisant cette classification Chaque objet est d fini par un chemin unique dans la MIB il est donc n cessaire de souscrire un num ro identificateur chaque fois que l on d sire cr er un nouvel objet Cette d marche se fait aupr s de l IANA Internet Assigned Numbers Authority par simple mail Jean Philippe VILAIN 9 53 Rapport de Stage ENSEIRB Pour information le num ro assign I ENSEIRB est 9362 Jean Philippe VILAIN 10 53 Rapport de Stage ENSEIRB 3 1 2 3 Structure informationnelle L information de gestion communiqu e par les op
40. stion de r seau est pourquoi a t on besoin de g rer le r seau Le principe de gestion de r seau na t de la n cessit de conna tre l tat du r seau pour son administrateur qui doit Surveiller et r parer les anomalies comme un c ble coup ou autre S occuper de toutes les configurations que ce soit sur les postes ou sur les l ments du r seau G rer toute la s curit du r seau mots de passe firewalls Mesurer et analyser les performances du r seau Cependant plusieurs probl mes se posent ce stade du raisonnement Tout d abord l h t rog n it des quipements ainsi que celle des constructeurs Ce probl me interdit l utilisation d une technologie particuli re un constructeur un protocole de gestion ouvert non propri taire doit donc tre mis en uvre tout comme la technologie d interconnexion ouverte a permis aux interconnexions h t rog nes de devenir une r alit Ensuite la multiplicit des organisations qui g rent certaines portions de l internet et qui n ont pas forc ment les m mes objectifs que ce soit en terme de co ts ou de performances Ce probl me emp che de f d rer la gestion des quipements Cette liste n est bien s r pas exhaustive mais permet de visualiser l essentiel des difficult s rencontr es par un administrateur r seau De cette n cessit d un protocole de gestion ouvert est n SNMP Simple Network Managemen
41. t Quit Vithout Saving Load Configuration from File Store Configuration to File l SS 0X Target Platform Selection Choose a Vendor Product combination Motorola M5407 Vendor Product Help Z zw Y n Default all settings lose changes Help M w n Customize Kemel Settings Help y x n Customize Vendor User Settings Help y w n Update Default Vendor Settings Help Main Menu li Figure 7 fen tres apparaissant l appel de xconfig Jean Philippe VILAIN 21 53 Rapport de Stage ENSEIRB Pour utiliser le logiciel UCD SNMP il faut valider l option UCD SNMP dans la fen tre de make xconfig See UClinux Coldfire User Configuration O X Compulsory Configuration Network Applications lt Save and Exit Core Applications Miscellaneous Applications Quit Without Saving Force library building Normally built when required Games Load Configuration from File Filesystem Applications Store Configuration to File SH DS Network Applications y w H telnet Help Ivy en ung Help vy en thttpd Help v N n traceroute Help i vn ucd snmpd Help v Y en zebra Help v NE E vom P Main Menu Next 3 Figure 8 fen tres ou l on dicte l utilisation d UCD SNMP La compilation peut alors tre lanc e mais il
42. t Protocol 3 1 2 SNMP 3 1 2 1 Fonctionnement SNMP Le protocole SNMP Simple Network Management Protocol a t d velopp dans les ann es 80 pour permettre l administrateur du r seau d interroger les l ments de son r seau sans se d placer Le principe de SNMP est tr s simple sur chacune des machines on installe un petit programme l agent SNMP Cet agent enregistre en permanence des informations relatives la machine Il stocke ces informations dans une MIB Management Information Base c est dire une base de donn es Ainsi de son ordinateur l administrateur peut interroger chacune de ses machines et obtenir les informations qu il souhaite comme par exemple le nombre d octets re us et envoy s Il peut aussi modifier certaines informations Le manager peut donc op rer de deux mani res diff rentes sur le r seau request commun ment appel e get request qui permet au manager de scruter la MIB d un agent particulier set ou set request qui autorise le manager fixer la valeurs de certains objets g r s C est d ailleurs cette propri t que nous utiliserons pour piloter du mat riel distance par SNMP Jean Philippe VILAIN 7153 Rapport de Stage ENSEIRB Le protocole SNMP fonctionne au niveau 7 du mod le OSI mais se situe directement au dessus d UDP Il fonctionne sur un mod le client serveur o il ny a qu un seul client la station d administration NMS Network M
43. utilisation sur http net snmp sourceforge net 3 1 3 2 L exemple fourni avec le package UCD SNMP Dans cet exemple on apprend comment ajouter un objet dans la MIB existante d agent L objet ajout dans ce cas est une simple cha ne de caract res mais toute la m thodologie de synth se est identique celle que jai utilis e pour d velopper mon agent sp cifique Jean Philippe VILAIN 13 53 Rapport de Stage ENSEIRB 3 2 D veloppement de l agent sous linux 3 2 1 Architecture du logiciel UCD SNMP Reconnu comme l un des meilleur packages existants il contient un agent extensible une librairie SNMP des outils de requ tes get ou set pour interroger l agent des outils pour g n rer des traps un navigateur de MIB tkmib Il est de plus portable sur une grande majorit de syst mes d exploitation L avantage essentiel de ce package est qu il permet le d veloppement d un nouvel objet tr s rapidement En effet une fois le code crit en langage ASN 1 le compilateur mib2c cr e la trame des fichiers c et h qui doivent tre utilis s un temps substantiel est ainsi gagn Ensuite le package poss de un programme de configuration qui lui permet d int grer simplement le subagent dans sa MIB 3 2 1 1 Les fichiers MIB impl mentant les objets Vous pourrez consulter ce fichier en annexe page 1 Le premier fichier n cessaire lorsque l on impl mente un nouvel objet dans la MIB est le fichier
44. void extern FindVarMethod var nom du fichier extern writeMethod write varName uniquement lorsque l on veut impl menter un objet accessible en criture Ce fichier est aussi utilis par le compilateur de sorte que l on y d finit les d pendances avec les autres fichier header La syntaxe est config_require util_funcs Jean Philippe VILAIN 14 53 Rapport de Stage ENSEIRB Ce fichier permet aussi d inclure le fichier MIB impl ment dans l agent qui va tre r alis par la commande config_add_mib HOST RESOURCES MIB Le dernier l ment classique pr sent dans ce fichier est le jeu de magic numbers Il en existe un pour chaque objet d fini Ce n est cependant pas le principe utilis par mib2c qui pr f re les d clarer dans le fichier de code Structure du fichier de code donn par mib2c INCLUDES DEFINITIONS DU MODULE INITIALISATIONS DU MODULE VARIABLES UTILES FONCTIONS NECESSAIRES EN LECTURE FONCTIONS D ECRITURE NECESSAIRES POUR UN OBJET ACCESSIBLE EN ECRITURE Figure 4 structure du fichier de code Ce fichier est lui aussi obtenu l aide de l outil mib2c Certains INCLUDES sont si fr quemment utilis s qu ils sont ins r s par d faut Ce sont les fichiers config h dont mib2c note qu il doit toujours tre inclus avant tout ainsi que mibincl h et util_funcs h il est aussi n cessaire d inclure le fichier enseirb h sp cialement dit pour cet objet Ensuite appara t la
45. xit 2 autoheader might not change config h in so touch a stamp file config h in stamp h in stamp h in configure in acconfig h cd srcdir amp amp autoheader echo timestamp gt srcdir stamp h in config h stamp h stamp h config h in CONFIG FILES echo timestamp gt srcdir stamp h touchit touch configure config h in touch config h touch stamp h stamp h in touch Makefile Makefile Makefile in CONFIG HEADERS config status configure config status recheck EXAMPLE conf sedscript EXAMPLE conf def S SED f sedscript S srcdir EXAMPLE conf def gt EXAMPLE conf TAGS Jean Philippe VILAIN 52 53 Rapport de Stage ENSEIRB find S srcdir name ch print etags version if test xS VERSION x then echo you need to supply a VERSION string exit 2 fi agent mibgroup versiontag VERSION reverse tag agent mibgroup versiontag VERSION tag tar agent mibgroup versiontag S VERSION tar dist version tag tar FAQ html local FAQ2HTML FAQ If we re installing the UCD SMNP daemon add it to etc inittab We also must provide a default configuration file build romfs echo snmp unknown bin snmpd s P var log snmpd pid gt gt S ROMFS etc inittab echo snmp unknown bin snmpd s P var log snmpd pid c etc snmpd conf gt gt S ROMFS etc inittab cp ucdsnmpd default ROMFS etc snmpd conf cp ucdsnmp default ROMFS etc snmp conf
Download Pdf Manuals
Related Search
Related Contents
Betriebssystem für die Modicon Micro SPS LTR20071001, Rev. B 3/5/07 Samsung SMX-F50BP Vartotojo vadovas texte Mostrar - Siemens ENCART TABLEAU - Institut Upsa de la Douleur Petit Roi Gianduja IMB and Barco Series-2 Projector Field Installer Manual Nikon Coolpix S9900 Quick Start Guide Le Mag 4309 2:Doc10 Copyright © All rights reserved.
Failed to retrieve file