Les fichiers de configuration du logiciel Cisco IOS® sont des fichiers texte qui contiennent la configuration à envoyer aux routeurs. Dans le cas des modems câble Cisco, la configuration envoyée contient généralement des listes d’accès, des noms d’hôte, des chaînes de communauté SNMP, des mots de passe ou une configuration de routage qui diffèrent de la configuration de pontage par défaut. Pour envoyer un fichier de configuration Cisco IOS, il est nécessaire d'incorporer le fichier dans le fichier de configuration DOCSIS (Data-over-Cable Service Interface Specifications) que les modems câble utilisent dans la partie TFTP de leur processus d'initialisation.
Il existe deux façons de télécharger un fichier de configuration Cisco IOS sur les modems câble Cisco.
La première, qui est la méthode la plus courante, consiste à utiliser un outil de configuration CPE DOCSIS. Reportez-vous au configurateur CPE DOCSIS Cisco (clients enregistrés uniquement). Le document Création de fichiers de configuration DOCSIS 1.0 à l'aide de Cisco DOCSIS Configurator (clients enregistrés uniquement) contient une explication détaillée sur la manière de procéder.
La deuxième façon d'effectuer la même tâche consiste à utiliser l'interface de ligne de commande (CLI) de Cisco IOS du système de terminaison de modem câble (CMTS).
Ce document explique en détail la deuxième façon de télécharger un fichier de configuration IOS sur les modems câble Cisco sans avoir besoin d'utiliser un outil de configuration DOCSIS. Pour cela, nous utilisons une version améliorée de la configuration tout-en-un qui permet à Cisco CMTS d'être configuré en tant que serveurs DHCP, ToD et TFTP, ainsi que pour configurer un fichier de configuration DOCSIS sur le CMTS lui-même.
Lorsque nous voulons envoyer un fichier de configuration aux modems câble à l'aide de l'interface de ligne de commande pour configurer le fichier de configuration DOCSIS, nous devons ajouter une option DHCP appelée DHCP Vendor Specific Information Option, également appelée option 43.
L'avantage principal de la configuration des modems câble est que tout peut être fait à partir du CMTS de Cisco, et aucun autre serveur (comme DHCP, TFTP ou ToD) et logiciel (comme l'outil de configuration CPE DOCSIS) n'est nécessaire pour envoyer avec succès une configuration Cisco IOS aux modems câble Cisco et les rendre opérationnels avec une configuration personnalisée.
Pour plus d'informations sur les conventions des documents, référez-vous aux Conventions utilisées pour les conseils techniques de Cisco.
Le lecteur doit avoir une compréhension de base des éléments suivants :
Le protocole DOCSIS
Interface de ligne de commande (CLI) de Cisco IOS sur les routeurs de la gamme uBR
UNIX
DHCP (Dynamic Host Configuration Protocol)
Reportez-vous à la section Configuration de tous dans une configuration, y compris DHCP Option 43 ci-dessous.
L'option 43 est une option DHCP utilisée par les clients et les serveurs pour échanger des informations spécifiques au fournisseur.
Cette option est généralement mise en forme dans un style Type-Length-Value où différentes informations peuvent être représentées par différents types de sous-options. La signification du champ « Valeur » est définie par le fabricant du périphérique final. La figure 1 présente une représentation graphique de l'option 43.
Type | Longueur | Valeur | Type | Longueur | Valeur | ||||
T1 | n | d1 | d2 | ......... | T2 | n | D1 | D2 | ....... |
Figure 1 - Structure Type-Length-Value des données envoyées dans l'option 43.
Pour télécharger les fichiers de configuration Cisco IOS sur les modems câble Cisco, nous utilisons deux sous-options, à savoir ID du fournisseur et Option d'informations spécifiques au fournisseur (VSIF).
La sous-option ID fournisseur a le type 8. L'identifiant unique d'organisation (OUI) à trois octets du fournisseur correspond généralement aux trois premiers octets de l'adresse MAC du modem câble. Cette valeur est généralement exprimée sous la forme d'un nombre hexadécimal. Ce champ doit être 00:00:0C (en hexadécimal) pour l'équipement Cisco Systems. La figure 2 ci-dessous indique les nombres hexadécimaux de la sous-option ID fournisseur.
Type | Longueur | Valeur |
08 | 03 | 00:00:00 C |
Figure 2 - ID fournisseur de sous-option (valeur hexadécimale)
La deuxième sous-option utilisée est le champ Informations spécifiques au fournisseur (VSIF). Cette sous-option a le type 128 et contient toutes les valeurs arbitraires définies par le fabricant du modem câble. Le modem câble Cisco utilise ce champ pour identifier le nom du fichier de configuration Cisco IOS qui doit être téléchargé (le cas échéant) sur un routeur.
Vous pouvez également spécifier des commandes Cisco IOS arbitraires dans ce champ. Ce champ est généralement représenté en notation décimale à point. La notation décimale à point est la représentation décimale des lettres selon ASCII dans laquelle chaque lettre a une valeur décimale. Les points sont utilisés entre les représentations décimales pour faciliter la compréhension.
Dans ce document, nous montrerons comment télécharger un fichier de configuration Cisco IOS appelé ios.cf. Le nom de ce fichier est converti d'ASCII en notation décimale à point.
Pour savoir quelle est la traduction entre ASCII et décimal à point, l'homme de commande UNIX ascii peut être utilisé comme indiqué ci-dessous. Cette commande donne plusieurs tables de conversion. Nous devons rechercher la table Décimale - Caractères.
sj-cse-494% man ascii Reformatting page. Wait... done ASCII(5) Headers, Tables, and Macros ASCII(5) NAME ASCII - map of ASCII character set .... (skip the beginning) Decimal - Character | 0 NUL| 1 SOH| 2 STX| 3 ETX| 4 EOT| 5 ENQ| 6 ACK| 7 BEL| | 8 BS | 9 HT | 10 NL | 11 VT | 12 NP | 13 CR | 14 SO | 15 SI | | 16 DLE| 17 DC1| 18 DC2| 19 DC3| 20 DC4| 21 NAK| 22 SYN| 23 ETB| | 24 CAN| 25 EM | 26 SUB| 27 ESC| 28 FS | 29 GS | 30 RS | 31 US | | 32 SP | 33 ! | 34 " | 35 # | 36 $ | 37 % | 38 & | 39 ' | | 40 ( | 41 ) | 42 * | 43 + | 44 , | 45 - | 46 . | 47 / | | 48 0 | 49 1 | 50 2 | 51 3 | 52 4 | 53 5 | 54 6 | 55 7 | | 56 8 | 57 9 | 58 : | 59 ; | 60 < | 61 = | 62 > | 63 ? | | 64 @ | 65 A | 66 B | 67 C | 68 D | 69 E | 70 F | 71 G | | 72 H | 73 I | 74 J | 75 K | 76 L | 77 M | 78 N | 79 O | | 80 P | 81 Q | 82 R | 83 S | 84 T | 85 U | 86 V | 87 W | | 88 X | 89 Y | 90 Z | 91 [ | 92 \ | 93 ] | 94 ^ | 95 _ | | 96 ` | 97 a | 98 b | 99 c |100 d |101 e |102 f |103 g | |104 h |105 i |106 j |107 k |108 l |109 m |110 n |111 o | |112 p |113 q |114 r |115 s |116 t |117 u |118 v |119 w | |120 x |121 y |122 z |123 { |124 | |125 } |126 ~ |127 DEL|
Par conséquent, la représentation en notation décimale à point de ios.cf est 105.111.115.46.99.102 comme illustré à la Figure 3.
i | o | s | . | c | f |
105 | 111 | 115 | 46 | 99 | 192 |
Figure 3 - Représentation en décimale à point du nom de fichier ios.cf.
Le VSIF étant un format Type- Length-Value, la représentation entière en notation décimale à point du fichier de configuration Cisco IOS nommé ios.cf est 128.6.105.111.115.46.99.192. Comme vous pouvez le voir, 128.6 a été ajouté à la représentation décimale à point de ios.cf illustrée à la Figure 3. Rappelez-vous que « 128 » est le type et « 6 » la longueur.
128.6.105.111.115.46.99.192 est la valeur entrée dans le champ VSIF de l'onglet Informations sur le fournisseur de l'outil de configuration CPE DOCSIS V3.2, comme illustré à la Figure 4 ci-dessous.
Figure 4 - Champ Informations sur le fournisseur de l'outil de configuration CPE DOCSIS.
Cependant, lorsque vous exécutez cette fonction dans Cisco IOS en utilisant l'option DHCP 43, les informations TLV (Type-Length-Value) doivent être exprimées en valeurs hexadécimales. Ce document se concentre sur cette expression hexadécimale.
Pour connaître la représentation hexadécimale des caractères ASCII, utilisez la commande Unix :
echo -n "ios.cf" | od -t x1 | cut -s -d' ' -f2- | tr ' ' ':' sj-cse-494% echo -n "ios.cf" | OD -t x1 | cut -s -d' ' -f2- | tr ' ' ':' 69:6f:73:2e:63:66
Vous pouvez également utiliser l'homme de commande UNIX précédent ASCII et trouver la table « Hexadécimal - Caractère ».
sj-cse-494% man ASCII Reformatting page. Wait... done ASCII(5) Headers, Tables, and Macros ASCII(5) NAME ASCII - map of ASCII character set .... (skip the beginning) Hexadecimal - Character | 00 NUL| 01 SOH| 02 STX| 03 ETX| 04 EOT| 05 ENQ| 06 ACK| 07 BEL| | 08 BS | 09 HT | 0A NL | 0B VT | 0C NP | 0D CR | 0E SO | 0F SI | | 10 DLE| 11 DC1| 12 DC2| 13 DC3| 14 DC4| 15 NAK| 16 SYN| 17 ETB| | 18 CAN| 19 EM | 1A SUB| 1B ESC| 1C FS | 1D GS | 1E RS | 1F US | | 20 SP | 21 ! | 22 " | 23 # | 24 $ | 25 % | 26 & | 27 ' | | 28 ( | 29 ) | 2A * | 2B + | 2C , | 2D - | 2E . | 2F / | | 30 0 | 31 1 | 32 2 | 33 3 | 34 4 | 35 5 | 36 6 | 37 7 | | 38 8 | 39 9 | 3A : | 3B ; | 3C < | 3D = | 3E > | 3F ? | | 40 @ | 41 A | 42 B | 43 C | 44 D | 45 E | 46 F | 47 G | | 48 H | 49 I | 4A J | 4B K | 4C L | 4D M | 4E N | 4F O | | 50 P | 51 Q | 52 R | 53 S | 54 T | 55 U | 56 V | 57 W | | 58 X | 59 Y | 5A Z | 5B [ | 5C \ | 5D ] | 5E ^ | 5F _ | | 60 ` | 61 a | 62 b | 63 c | 64 d | 65 e | 66 f | 67 g | | 68 h | 69 i | 6A j | 6B k | 6C l | 6D m | 6E n | 6F o | | 70 p | 71 q | 72 r | 73 s | 74 t | 75 u | 76 v | 77 w | | 78 x | 79 y | 7A z | 7B { | 7C | | 7D } | 7E ~ | 7F DEL|
La figure 5 ci-dessous résume la représentation décimale à point ainsi que hexadécimale du champ d'informations spécifiques au fournisseur (VSIF).
Type | Longueur | Valeur | |
Décimale à point | 128 | 6 | 105.111.115.46.99.102 |
Hexadécimal | 80 | 06 | 69:6F:73:2E:63:66 |
Figure 5 - Sous-option VSIF en notation décimale à point et hexadécimale.
Cette configuration a été développée et testée à l'aide des versions logicielle et matérielle ci-dessous.
Cisco uBR10012 exécutant 12.2(2)XF
Cisco CVA120 exécutant 12.2(2)XA
Les informations présentées dans ce document ont été créées à partir de périphériques dans un environnement de laboratoire spécifique. All of the devices used in this document started with a cleared (default) configuration. Si vous travaillez sur un réseau en direct, assurez-vous de bien comprendre l'impact potentiel de toute commande Cisco IOS avant de l'utiliser.
La première étape de la configuration de l'option 43 consiste à connaître la valeur hexadécimale requise de l'ID de fournisseur et la valeur hexadécimale nécessaire des sous-options VSIF de l'option 43 DHCP.
Le tableau ci-dessous résume ces valeurs qui ont été abordées en détail dans la section Informations spécifiques au fournisseur.
Sous-option ID fournisseur | Sous-option VSIF | |||||
TLV | Type | Longueur | Valeur | Type | Longueur | Valeur |
Hexadécimal | 08 | 03 | 00:00:00 C | 80 | 06 | 69:6F:73:2E:63:66 |
Signification | Type d'ID fournisseur | Longueur de l'ID fournisseur | ID Cisco | Type VSIF | Longueur VSIF | (nom du fichier) ios.cf |
Figure 6
Une fois que nous avons identifié la valeur que nous allons saisir, nous devons utiliser l'interface de ligne de commande du CMTS de Cisco pour générer toutes les propriétés nécessaires au fichier de configuration DOCSIS, y compris l'option DHCP 43.
Pour créer le fichier de configuration DOCSIS, nous devons entrer la commande globale cable config-file DOCSIS-file-name. Le résultat suivant montre la création du fichier de configuration DOCSIS nommé platinum.cm. Tous les paramètres de platinum.cm sont expliqués ci-dessous.
Note: !--- Comments are in blue. cable config-file platinum.cm !--- Name of the DOCSIS config file is platinum.cm service-class 1 priority 2 !--- The Upstream Channel priority is 2 service-class 1 max-upstream 128 !--- The Maximum upstream value is 128Kbps service-class 1 guaranteed-upstream 10 !--- The Guaranteed Upstream is 10 Kbps service-class 1 max-downstream 10000 !--- The Maximum Downstream is 10Mbps service-class 1 max-burst 1600 !--- The Maximum Upstream Transmit burst is 1600 bytes cpe max 10 !--- The Maximum number of CPE's is 10 timestamp !--- Enable timestamp generation option 43 hex 08:03:00:00:0C:80:06:69:6F:73:2E:63:66 !--- Using option 43 to send the IOS Configuration file named "ios.cf" !--- to cable modems.
Attention : La commande cable config-file a été introduite dans Cisco IOS version 12.1(2)EC1 pour uBR7200 et uBR7100, et sur Cisco IOS version 12.2(1)XF1 pour uBR10K.
Remarque : Assurez-vous que vous avez correctement entré les données TLV lors de l'utilisation de l'option hexadécimale. Les données entrées de manière incorrecte peuvent entraîner la réinitialisation, la mise hors ligne ou le blocage des CM, nécessitant un cycle d'alimentation avant de pouvoir continuer.
Une fois que nous avons créé le fichier de configuration DOCSIS platinum.cm, nous devons configurer le CMTS en tant que serveur DHCP et configurer les options nécessaires à la fonctionnalité DHCP. Reportez-vous au service DHCP (Dynamic Host Configuration Protocol) de Cisco IOS sur un CMTS, qui explique la signification de chacune des commandes que nous utilisons pour la création du pool dhcp. Nous allons ici résumer la configuration et en donner une brève description.
La configuration du pool DHCP est la suivante :
ip dhcp pool surf !--- name of the dhcp pool. This scope is for the cable modems attached !--- to interface cable 5/0/0 network 10.1.4.0 255.255.255.0 !--- pool of addresses for scope from interface c5/0/0 bootfile platinum.cm !--- DOCSIS config file name associated with this pool next-server 10.1.4.1 !--- IP address of TFTP server which sends bootfile default-router 10.1.4.1 !--- default gateway for cable modems, necessary to get DOCSIS files option 7 ip 10.1.4.1 !--- Log Server DHCP option option 4 ip 10.1.4.1 !--- ToD server IP address option 2 hex ffff.8f80 !--- Time offset for ToD, in seconds, HEX, from GMT, -28,000 = PST = ffff.8f80 lease 7 0 10 !--- lease 7 days 0 hours 10 minutes !
La troisième étape consiste à configurer le CMTS en tant que serveur TFTP. Pour ce faire, vous devez :
Utilisez la commande tftp-server
Indiquez au serveur TFTP où se trouve le fichier ios.cf
Pour cela, utilisez la commande tftp-server disk0:ios.cf alias ios.cf . Notez que cette commande place le fichier ios.cf dans disk0.
tftp-server server !--- enable the cmts to act as a tftp server tftp-server disk0:ios.cf alias ios.cf !--- get the IOS config file called ios.cf that is pre-downloaded to disk0 !--- this IOS config file was built with a text editor and tftp to disk0
Pour placer le fichier ios.cf dans votre flash ou disk0 (pour uBR10012), vous devez tftp le fichier qui a été créé à l'aide d'un éditeur de fichier texte. Pour ce faire, assurez-vous d'abord que vous pouvez envoyer une requête ping au serveur tftp sur lequel se trouve la configuration Cisco IOS.
Ensuite, la commande globale copy tftp <device> doit être entrée pour placer le fichier dans le CMTS. Généralement, la mémoire flash est utilisée pour uBR7200 ou uBR7100 ou uBR10K. Cependant, cet exemple montre comment utiliser disk0 pour uBR10012.
schooner#copy tftp disk0 Address or name of remote host []? 172.16.30.2 Source filename []? ios.cf Destination filename [ios.cf]? Accessing tftp://172.16.30.2/ios.cf... Loading ios.cf from 172.16.30.2 (via FastEthernet0/0/0): ! [OK - 173/4096 bytes] 173 bytes copied in 0.152 secs
Pour vous assurer que le fichier de configuration IOS est stocké sur le CMTS, exécutez la commande dir.
schooner#dir Directory of disk0:/ 3 -rw- 11606084 Sep 17 2001 13:31:38 ubr10k-k8p6-mz.122-2.XF.bin 2839 -rw- 173 Oct 01 2001 23:29:44 ios.cf 47890432 bytes total (36274176 bytes free)
Pour afficher les commandes configurées dans le fichier ios.cf, la commande more <filename> peut être utilisée dans le CMTS comme suit :
schooner#more ios.cf hostname SUCCEED service linenumber enable password cisco interface ethernet 0 load 30 no shut interface cable 0 load 30 no shut line vty 0 4 password cisco end
Pour configurer ToD sur un CMTS Cisco, seules deux commandes globales sont nécessaires service udp-small-servers max-servers no-limit et cable time-server. La configuration ressemble à :
service udp-small-servers max-servers no-limit !--- supports a large number of modems / hosts attaching quickly cable timeserver !--- permits cable modems to obtain Time of Day (ToD) from uBR10012
La configuration complète du uBR10012 est indiquée ci-dessous. Toutes les commandes en gras sont les commandes pertinentes à l'objectif de ce document.
Schooner#show run Building configuration... Current configuration : 3522 bytes ! version 12.2 no parser cache no service single-slot-reload-enable no service pad service timestamps debug uptime service timestamps log uptime no service password-encryption service udp-small-servers max-servers no-limit ! hostname schooner ! logging rate-limit console all 10 except critical enable secret 5 $1$cM7F$ryXH7z/Ly6QCnD2LQ.gZs/ ! no cable qos permission create no cable qos permission update cable qos permission modems cable timeserver ! cable config-file platinum.cm service-class 1 priority 2 service-class 1 max-upstream 128 service-class 1 guaranteed-upstream 10 service-class 1 max-downstream 10000 service-class 1 max-burst 1600 cpe max 10 timestamp option 43 hex 08:03:00:00:0C:80:06:69:6F:73:2E:63:66 ! redundancy main-cpu auto-sync standard facility-alarm intake-temperature major 49 facility-alarm intake-temperature minor 40 facility-alarm core-temperature major 53 facility-alarm core-temperature minor 45 card 1/0 1oc12pos-1 card 1/1 2cable-tccplus card 2/0 1gigethernet-1 card 5/0 2cable-mc28 card 7/0 2cable-mc28 ip subnet-zero no ip domain-lookup ! ip dhcp pool surf network 10.1.4.0 255.255.255.0 bootfile platinum.cm next-server 10.1.4.1 default-router 10.1.4.1 option 7 ip 10.1.4.1 option 4 ip 10.1.4.1 option 2 hex ffff.8f80 lease 7 0 10 ! interface FastEthernet0/0/0 ip address 172.16.30.50 255.255.255.192 ! interface POS1/0/0 no ip address crc 32 pos report all POs flag j0 1 ! interface GigabitEthernet2/0/0 no ip address negotiation auto ! interface Cable5/0/0 ip address 10.1.4.1 255.255.255.0 cable downstream annex B cable downstream modulation 64qam cable downstream interleave-depth 32 cable upstream 0 frequency 40000000 cable upstream 0 power-level 0 no cable upstream 0 shutdown cable upstream 1 shutdown cable upstream 2 shutdown cable upstream 3 shutdown ! ip classless ip route 0.0.0.0 0.0.0.0 172.16.30.1 no ip http server ! no cdp run snmp-server community public RO snmp-server community private RW snmp-server trap-source Cable5/0/0 snmp-server packetsize 2048 snmp-server enable traps cable snmp-server host 172.16.30.8 public cable snmp snmp-server manager tftp-server server tftp-server ios.cf alias ios.cf ! alias exec scm show cable modem ! line con 0 line aux 0 line vty 0 4 ! end schooner#
D'autres fournisseurs de systèmes CMTS peuvent ne pas être en mesure de configurer tous ces éléments à l'aide de leurs commandes CMTS, alors qu'il est possible de le faire entièrement dans Cisco IOS.
Pour que les modems câble utilisent les commandes spécifiées dans le fichier de configuration Cisco IOS appelé ios.cf, il est nécessaire de redémarrer les modems câble en question. Pour ce faire, utilisez la commande clear cable modem <adresse ip/adresse MAC> reset à partir de l'interface de ligne de commande du CMTS.
Schooner#clear cable modem 10.1.4.4 reset
Attention : Si vous avez un réseau de grande taille et souhaitez envoyer un fichier de configuration différent à tous les modems câble de votre usine, il est recommandé de le faire par étapes. Cela minimisera l'impact des milliers de modems câble qui tentent de s'interconnecter en même temps.
Pour vérifier la configuration, effacez le modem câble à l'aide de la commande clear cable modem. Lorsque le modem câble revient en ligne, établissez une connexion Telnet avec lui pour examiner la configuration.
Schooner#show cable modem MAC Address IP Address I/F MAC Prim RxPwr Timing Num BPI State Sid (db) Offset CPEs Enbld 0004.27ca.0e9b 10.1.4.6 C5/0/0/U0 online 1 *0.00 2820 0 no 0090.9600.703d 10.1.4.2 C5/0/0/U0 online 2 -0.75 2816 0 no 0003.e38f.f9b5 10.1.4.3 C5/0/0/U0 online 3 *0.00 2822 0 no 0001.64ff.e4b5 10.1.4.4 C5/0/0/U0 online 4 *0.00 2812 0 no !--- CVA120 0020.4086.2704 10.1.4.5 C5/0/0/U0 online 5 -0.50 2808 0 no 0020.4086.3324 10.1.4.7 C5/0/0/U0 online 6 -0.50 2808 0 no 0020.4079.feb4 10.1.4.8 C5/0/0/U0 online 7 0.00 2805 0 no 0020.4085.d06a 10.1.4.9 C5/0/0/U0 online 8 -0.50 2807 0 no
Dans cet exemple, notez que le fichier ios.cf commande aux modems câble d'avoir un nom d'hôte SUCCEED, et en effet, c'est le nom de fichier qui apparaît lorsque nous établissons une connexion Telnet au modem câble.
Schooner#telnet 10.1.4.4 Trying 10.1.4.4 ... Open SUCCEED line 1 User Access Verification Password: SUCCEED>en Password: SUCCEED#
Pour vérifier que le fichier de configuration Cisco IOS a été téléchargé correctement sur le modem câble, utilisez la commande show version. Le résultat ci-dessous montre les informations relatives au fichier ios.cf en gras.
SUCCEED#show version Cisco Internetwork Operating System Software IOS (tm) 120 Software (CVA120-K8V4Y5-M), Version 12.2(2)XA, EARLY DEPLOYMENT RELEASE SOFTWARE (fc1) TAC:Home:SW:IOS:Specials for info Copyright (c) 1986-2001 by cisco Systems, Inc. Compiled Wed 27-Jun-01 02:02 by hwcheng Image text-base: 0x800100A0, data-base: 0x80782844 ROM: System Bootstrap, Version 12.0(20001010:025045) [spaulsen-blue-3105 3108], DEVELOPMENT SOFTWARE ROM: 120 Software (CVA120-K8V4Y5-M), Version 12.2(2)XA, EARLY DEPLOYMENT RELEASE SOFTWARE (fc1) SUCCEED uptime is 3 days, 3 hours, 21 minutes System returned to ROM by reload at 05:52:09 - Sat Jan 1 2000 System restarted at 05:58:30 - Sat Oct 6 2001 System image file is "flash:cva120-k8v4y5-mz.122-2.XA.bin" Host configuration file is "tftp://10.1.4.1/ios.cf" cisco CVA122 CM (MPC850) processor (revision 3.r) with 32256K/1024K bytes of memory. Processor board ID SAD043708GK Bridging software. 1 Ethernet/IEEE 802.3 interface(s) 1 Cable Modem network interface(s) 1 Universal Serial Bus (USB) interface(s) 8192K bytes of processor board System flash (Read/Write) 7296K bytes of processor board Boot flash (Read/Write) Configuration register is 0x2
La configuration du CVA120 est présentée ci-dessous. Notez que les commandes en gras correspondent aux lignes du fichier ios.cf.
SUCCEED#show run Building configuration... Current configuration : 1429 bytes ! ! Last configuration change at 11:22:22 - Tue Oct 9 2001 ! version 12.1 no service single-slot-reload-enable no service pad service timestamps debug uptime service timestamps log uptime no service password-encryption service linenumber service internal ! hostname SUCCEED ! no logging buffered no logging buffered logging rate-limit console 10 except errors enable password cisco ! clock timezone - -8 ip subnet-zero no ip routing no ip finger ! interface Ethernet0 ip address 10.1.4.11 255.255.255.0 no ip route-cache no ip mroute-cache load-interval 30 bridge-group 59 bridge-group 59 spanning-disabled ! interface cable-modem0 ip address docsis no ip route-cache no ip mroute-cache load-interval 30 cable-modem boot admin 2 cable-modem boot oper 5 cable-modem downstream mode annex-b cable-modem Mac-timer t2 40000 bridge-group 59 bridge-group 59 spanning-disabled ! interface USB0 ip address 10.1.4.11 255.255.255.0 no ip route-cache no ip mroute-cache arp timeout 0 bridge-group 59 bridge-group 59 spanning-disabled ! ip classless no ip http server no ip http cable-monitor ! snmp-server packetsize 4096 snmp-server chassis-id snmp-server manager ! voice-port 0 input gain -2 ! voice-port 1 input gain -2 ! mgcp modem passthrough voaal2 mode no mgcp timer receive-rtcp ! mgcp profile default ! line con 0 transport input none line vty 0 4 password cisco login ! end
Il semble que la commande option pour cable config-file est cassée car on peut s’attendre à ce que les commandes ci-dessous donnent une configuration valide.
option 43 instance 8 hex 00:00:0c option 43 instance 128 ASCII ios.cf
Bien que ces commandes soient acceptées, elles ne génèrent pas le fichier de configuration Cisco IOS correct. Ce n'est PAS un bug ! Le problème ici est comment le terme « instance » a été interprété comme une « sous-option », ce qu'il n'était jamais censé être.
L'implémentation de l'« instance » permet seulement la répétition de la même option plusieurs fois, comme lorsque vous avez plusieurs instances de l'option 43 pour différents fournisseurs! Voici un exemple :
option 43 instance 1 hex 08:03:00:00:0C:80:07:69:6F:73:2E:63:66:67 !--- Config file cisco CM option 43 instance 2 hex 08:03:11:22:33:80:07:69:6F:73:2E:63:66:67 !--- Some option for other CM
Notez que 11:22:33 est un ID de fournisseur aléatoire d'une société fictive. Toute correspondance avec un véritable ID de fournisseur est une pure coïncidence.
Puisque le terme « instance » est censé refléter les champs de sous-option TLV, et que vous avez en effet des champs de sous-option TLV, vous devrez entrer la chaîne entière en hexadécimal.