juin 2009 Archives
19-06-2009 17:51:50
Posté par Philippe Latu | permalien | dans : Enseignement, Networking Academy, Cisco | | | Read it in english with Google
Installation Cisco SDM et formation CCNA Exploration
Autant le dire d'emblée, cet article pourrait très bien s'intituler
«Chronique d'une abominable galère !». En effet, le logiciel
Security Device Manager est très
difficile à exploiter dans des conditions nominales avec une
infrastructure de travaux pratiques usuelle. Après avoir consacré
une grande quantité d'énergie à essayer d'installer et d'utiliser
cet outil dans des contextes très divers et variés, il apparaît
qu'il n'est utilisable que dans des conditions pour le moins
«singulières».
Chère lectrice, cher lecteur, qui souriez ironiquement à la lecture de la phrase précédente, nous allons évacuer rapidement le poncif habituel sur le thème : «encore un utilisateur Linux qui se plaint ; il l'a bien cherché !». Dans ce cas précis, la principale objection tient dans le paradoxe suivant : «pour que SDM fonctionne sur un système GNU/Linux, encore faudrait-il qu'il fonctionne correctement sur Windows XP™ !
D'après la documentation officielle, SDM peut être installé soit sur un routeur, soit sur un PC, ou bien encore sur les deux. La lecture des mille et un messages postés sur les forums ne nous avance guère. L'expérience montre que ce logiciel n'est exploitable que s'il est installé directement sur le routeur. C'est ce mode d'installation qui est décrit dans la première partie de l'article.
Côté utilisation, le tableau n'est pas brillant non plus. Il faut disposer d'un machine Java en retard d'au moins 10 révisions et corrections de bugs et d'un navigateur 32 bits. En conséquence, il suffit de disposer d'un poste de travail à jour sur le plan sécurité pour que l'accès à SDM soit impossible. La seconde partie de l'article est consacrée à l'installation et à la configuration d'une version 32 bits de Firefox associée à une machine virtuelle Java extraite des archives. Ces opérations sont réalisées sans l'aide d'un gestionnaire de paquets puisqu'un processus d'assurance qualité correct ne permet pas la diffusion de logiciels contenant des vulnérabilités connues et corrigées (CVE-2006-2426).
Les routeurs 1841 fournis dans le bundle sont d'excellentes machines qui permettent de faire les manipulations des curriculas CCNA et CCNP BSCI dans des conditions très confortables.
Sur ces modèles, le système d'exploitation (IOS) est stocké sur une mémoire de type CompactFlash. Dans le contexte de cet article, la capacité de stockage est limitée à 32Mo, ce qui ne permet pas de faire cohabiter le système d'exploitation et SDM sur la même carte.
Heureusement, il existe une astuce assez répandue qui consiste à télécharger le fichier image du système d'exploitation à partir d'un serveur TFTP lors de l'initialisation du routeur. De cette façon, on économise l'espace de stockage du système et on peut implanter les fichiers nécessaires au fonctionnement de SDM à la place.
Pour la mise en œuvre d'un serveur TFTP, il est possible de consulter la section correspondante de l'article Gestion des équipements réseau avec GNU/Linux. Ici, on considère que le service TFTP est disponible.
Du point de vue de l'organisation des travaux pratiques, ce mode de fonctionnement impose une connexion particulière lors de la mise sous tension des routeurs en début de séance. Il faut que le port FastEthernet fa0/0 soit raccordé à un commutateur qui permette de joindre le service TFTP de la salle. Dans le cas de l'architecture STRI, la passerelle de la salle joue justement ce rôle.i
Une fois la phase d'initialisation du système d'exploitation achevée, il est possible de rebrasser et reconfigurer les interfaces réseau suivant les besoins des questions de travaux pratiques.
Autre contrainte, en fin de séance il est nécessaire de restaurer une configuration minimale contenant les instructions nécessaires au rechargement du système via TFTP lors de la remise sous tension suivante du routeur.
Voici les opérations de préparation d'un routeur 1841 en fonction des éléments énoncés.
Dans l'exemple qui suit, l'adresse IP du routeur est 192.168.1.3 et celle du serveur TFTP est 192.168.1.1.
- Paramètres ROMMON
-
Pour que le routeur puisse accéder au serveur TFTP avant l'initialisation de son système d'exploitation complet, il doit utiliser une image «minimum» baptisée ROMMON lui permettant de communiquer avec ce serveur. Les paramètres de communication réseau doivent être stockés en NVRAM pour être réutilisés lors des remise sous tension suivantes.
rommon 10 > FE_PORT=0 rommon 11 > FE_SPEED_MODE=3 rommon 12 > IP_ADDRESS=192.168.1.3 rommon 13 > IP_SUBNET_MASK=255.255.255.0 rommon 14 > DEFAULT_GATEWAY=192.168.1.1 rommon 15 > TFTP_SERVER=192.168.1.1 rommon 16 > TFTP_FILE=c1841-ipbasek9-mz.124-24.T.bin rommon 17 > sync rommon 18 >
On accède au mode ROMMON en utilisant une séquence de break. On tape ALT+F dans minicom.
- Test téléchargement TFTP
-
Une fois les paramètres mémorisés, on effectue un test de téléchargement du système d'exploitation et d'initialisation du système à l'aide de la commande ROMMON tftpdnld.
rommon 20 > tftpdnld -r IP_ADDRESS: 192.168.1.3 IP_SUBNET_MASK: 255.255.255.0 DEFAULT_GATEWAY: 192.168.1.1 TFTP_SERVER: 192.168.1.1 TFTP_FILE: c1841-ipbasek9-mz.124-24.T.bin TFTP_MACADDR: 00:14:f2:75:4b:26 TFTP_VERBOSE: Progress TFTP_RETRY_COUNT: 18 TFTP_TIMEOUT: 7200 TFTP_CHECKSUM: Yes FE_PORT: 0 FE_SPEED_MODE: 100MB/FD ...... Receiving c1841-ipbasek9-mz.124-24.T.bin from 192.168.1.1 !!!!!!! <snipped/> - Configuration minimale
-
On applique ici les commandes de configuration nécessaires à l'initialisation du système via TFTP.
Router>en Router#conf t Enter configuration commands, one per line. End with CNTL/Z. Router(config)#no boot system Router(config)#boot system tftp://192.168.1.1/c1841-ipbasek9-mz.124-24.T.bin Router(config)#config-register 0x010F Router(config)#^Z Router# Router#reload System configuration has been modified. Save? [yes/no]: yes Building configuration... [OK] Proceed with reload? [confirm]
Au redémarrage, le routeur doit recharger son image système à partir du réseau avant de s'initialiser avec cette même image.
Dans certains cas, la manipulation ci-dessus ne suffit pas et une image système doit nécessairement être présente sur la mémoire flash avant le téléchargement réseau. Il s'agit probablement d'un problème de gestionnaire de démarrage (boot loader) qui se bloque sur l'absence d'image système en mémoire flash. Il est donc nécessaire de placer une image système la plus petite possible de façon à répondre à l'objectif initial : installer SDM.
Voici un extrait du processus d'initialisation en trois étapes.
Router#reload
Proceed with reload? [confirm]
*Jun 16 07:09:22.619: %SYS-5-RELOAD: Reload requested by console. Reload Reason: Reload Command.
System Bootstrap, Version 12.4(13r)T5, RELEASE SOFTWARE (fc1)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 2007 by cisco Systems, Inc.
PLD version 0x10
GIO ASIC version 0x127
c1841 platform with 131072 Kbytes of main memory
Main memory is configured to 64 bit mode with parity disabled
Upgrade ROMMON initialized
program load complete, entry point: 0x8000f000, size: 0xcb80
program load complete, entry point: 0x8000f000, size: 0xcb80
program load complete, entry point: 0x8000f000, size: 0xc7d244
Self decompressing the image : ######<snipped/>################# [OK]
Smart Init is enabled
smart init is sizing iomem
ID MEMORY_REQ TYPE
Unable to read eeprom
0X003AA110 public buffer pools
0X00211000 public particle pools
0X0013 0X00035000 Card in slot 1
If any of the above Memory Requirements are
"UNKNOWN", you may be using an unsupported
configuration or there is a software problem and
system operation may be compromised.
Allocating additional 8246951 bytes to IO Memory.
PMem allocated: 117440512 bytes; IOMem allocated: 16777216 bytes
%Error opening tftp://192.168.1.1/c1841-ipbasek9-mz.124-24.T.bin (Timed out)
Retrying...
Loading c1841-ipbasek9-mz.124-24.T.bin from 192.168.1.1 (via FastEthernet0/0): !!
<snipped/>!!!!!!!!!!!!!!!!!!!!!!!!!
[OK - 27542552 bytes]
program load complete, entry point: 0x8000f000, size: 0x1a44278
Self decompressing the image : ######<snipped/>################# [OK]
- Validation de l'initialisation système via TFTP
-
La commande rituelle show version, doit permettre de retrouver la version de l'IOS en cours d'exécution ainsi que son origine.
Router#sh ver Cisco IOS Software, 1841 Software (C1841-IPBASEK9-M), Version 12.4(24)T, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2009 by Cisco Systems, Inc. Compiled Wed 25-Feb-09 16:11 by prod_rel_team ROM: System Bootstrap, Version 12.4(13r)T5, RELEASE SOFTWARE (fc1) ROM: Cisco IOS Software, 1841 Software (C1841-IPBASE-M), Version 12.3(11)YZ2, RELEASE SOFTWARE (fc2) Router uptime is 59 minutes System returned to ROM by reload at 07:09:22 UTC Tue Jun 16 2009 System image file is "tftp://192.168.1.1/c1841-ipbasek9-mz.124-24.T.bin" - Copie des fichiers SDM en mémoire flash
-
On utilise à nouveau le service TFTP pour transférer les fichiers nécessaires au fonctionnement de SDM.
Router#copy tftp://192.168.1.1/common.tar flash: Destination filename [common.tar]? Accessing tftp://192.168.1.1/common.tar... Loading common.tar from 192.168.1.1 (via FastEthernet0/0): !!!!!! [OK - 1505280 bytes] <snipped>
Une fois que les transferts sont terminés, on obtient la liste des fichiers suivants en mémoire flash.
Router#sh flash: -#- --length-- -----date/time------ path 1 1505280 Jun 16 2009 07:05:40 common.tar 2 512000 Jun 16 2009 07:05:56 dg_sdm.tar 3 931840 Jun 16 2009 07:06:14 es.tar 4 1038 Jun 16 2009 07:06:22 home.shtml 5 112640 Jun 16 2009 07:06:34 home.tar 6 6389760 Jun 16 2009 07:07:10 sdm.tar 7 13095908 Jun 16 2009 07:08:10 c1841-ipbase-mz.123-11.YZ2.bin 9240576 bytes available (22560768 bytes used)
Le routeur est maintenant prêt. Il reste à traiter le volet interface utilisateur sur le poste de travail.
La principale difficulté rencontrée lors de l'utilisation de SDM vient de son intégration sur le poste de travail. Côté routeur, Cisco™ a une «bonne maîtrise du système». Dès que l'on sort du châssis de l'équipement réseau, c'est une autre affaire.
Tout comme dans la section précédente, on a recours à une astuce pour utiliser un navigateur 32 bits et une machine virtuelle Java ancienne. Les opérations présentées ci-après sont effectuées sur un poste de travail installé et configuré avec une distribution Debian GNU/Linux AMD64. Normalement, n'importe quelle installation de distribution doit faire l'affaire dans la mesure où la configuration mise en œuvre ne dépend pas du gestionnaire de paquets.
Au risque de paraître «lourd», il faut rappeler que ce qui suit n'est pas du tout conforme à une bonne pratique d'administration système qui veut que le gestionnaire de paquets ne propose que des paquets contenant les derniers correctifs de sécurité.
- Installation Firefox 32 bits dans l'arborescence utilisateur
-
On commence par créer l'arborescence d'installation. Dans cet exemple, le répertoire
~/cna/sdm.:~$ mkdir -p ~/cna/sdm
Dans ce répertoire, on télécharge la version Linux 32 bits de Firefox à partir de l'adresse : http://www.mozilla-europe.org/fr/firefox/. On extrait ensuite l'arborescence de l'archive.
:~/cna/sdm$ ls firefox-3.0.11.tar.bz2 :~/cna/sdm$ tar xf firefox-3.0.11.tar.bz2 :~/cna/sdm$ ls firefox firefox-3.0.11.tar.bz2
Avant de lancer l'exécution de ce navigateur, il faut contrôler l'installation des paquets de bibliothèques 32 bits fournies par la distribution.
:~/cna/sdm$ dpkg -l ia32* | grep ^ii ii ia32-libs 2.7 ia32 shared libraries for use on amd64 and ia64 systems ii ia32-libs-gtk 2.7 GTK+ ia32 shared libraries ii ia32-libs-xulrunner 1.8.1.3-0.2 xulrunner ia32 shared libraries :~/cna/sdm$ dpkg -l lib32* | grep ^ii ii lib32asound2 1.0.20-2 shared library for ALSA applications (32 bit) ii lib32gcc1 1:4.4.0-6 GCC support library (32 bit Version) ii lib32ncurses5 5.7+20090523-1 shared libraries for terminal handling (32-bit) ii lib32nss-mdns 0.10-3 NSS module for Multicast DNS name resolution ii lib32stdc++6 4.4.0-6 The GNU Standard C++ Library v3 (32 bit Version) ii lib32z1 1:1.2.3.3.dfsg-13 compression library - 32 bit runtime
Les bibliothèques 32 bits étant présentes sur le système, on peut lancer le navigateur et contrôler l'état des plugins installés.
:~/cna/sdm/firefox/firefox
- Installation Machine Virtuelle Java JRE 6u4
-
Dans la même arborescence d'installation, on télécharge la machine virtuelle Java à partir de l'adresse du site d'archives : http://java.sun.com/products/archive/. Si on se réfère à la documentation officielle, c'est le paquet baptisé JRE 6u4 qu'il faut installer. On sélectionne ensuite l'archive auto-extractible.
Une fois l'archive présente dans le répertoire
~/cna/sdm, on procède de la même façon qeu pour le navigateur. On extrait l'arborescence et on met en place le lien symbolique d'accès au plugin Java.:~/cna/sdm$ sh ./jre-6u4-linux-i586.bin :~/cna/sdm$ ls firefox firefox-3.0.11.tar.bz2 jre1.6.0_04 jre-6u4-linux-i586.bin :~/cna/sdm$ cd firefox/plugins/ :~/cna/sdm/firefox/plugins$ ln -s ../../jre1.6.0_04/plugin/i386/ns7/libjavaplugin_oji.so :~/cna/sdm/firefox/plugins$ cd ~/cna/sdm :~/cna/sdm$ firefox/firefox
Il ne reste plus qu'à valider l'installation du plugin Java et sa version.
L'installation du navigateur est maintenant complète et il est possible de placer un raccourci sur le bureau de son gestionnaire graphique favori.
Une fois la validation terminée, il est possible de constituer une archive de sauvegarde de cette configuration de navigation dans l'arborescence utilisateur.
:~/cna$ tar cjf sdm-firefox.tar.bz2 sdm/ :~/cna$ ls -sh sdm-* 66M sdm-firefox.tar.bz2
Voilà ! Si vous êtes arrivés jusque là vous disposez d'une interface d'utilisation de Security Device Manager fonctionnelle. Il ne reste plus qu'à implanter le navigateur «local» sur l'image maître des postes de la salle de travaux pratiques. Pour les quatre routeurs 1841 du bundle, il est possible d'implanter un fichier de configuration type à recharger depuis le serveur TFTP.
Le mode d'exploitation présenté ici est certainement critiquable en bien des points. Si vous avez d'autres propositions, n'hésitez pas à en faire part !
Merci d'avoir eu le courage de lire ces lignes jusqu'à la fin.
Ce document est disponible en version imprimable au format PDF : sdm-ccna.pdf.
$Id: sdm-ccna.xml 1405 2009-06-19 15:50:48Z latu $
04-06-2009 20:43:34
Posté par Philippe Latu | permalien | dans : KVM, Enseignement, Debian | | | Read it in english with Google
Anatomie d'un hyperviseur Linux
Alors que j'avance très laborieusement dans la révision de l'article Virtualisation système et enseignement, un article d'une qualité autrement supérieure vient d'être publié sur le site IBM developerWorks sur les caractéristiques d'un hyperviseur pour le noyau Linux : Anatomy of a Linux hypervisor
D'une manière générale, les articles de la série Anatomy of ... sont tous d'une grande qualité. À lire absolument.




