5 votes

Existe-t-il un moyen de soumettre un lot de commandes à un routeur Cisco et de les faire exécuter à partir du routeur ?

Je dois modifier la configuration du Cisco 871 (IOS 12.4.15T) d'un client distant (6 heures de route) à partir de mon emplacement en raison d'un nouveau service Internet à son emplacement. Pour être plus précis, je dois changer la route par défaut, l'adresse IP de l'interface extérieure (Fa4) et désactiver la configuration PPPoE à cet endroit. Malheureusement, si je fais tout cela, la connexion au routeur sera (évidemment) interrompue. Je n'ai pas de modem de gestion hors bande (je sais, je sais).

Existe-t-il un moyen d'entrer les commandes que je dois exécuter et de les faire s'exécuter l'une après l'autre, à partir d'un fichier sur flash: ? Je n'ai jamais rien essayé de tel auparavant. Un fichier batch de type DOS est exactement ce dont j'ai besoin. Il ne semble rien y avoir de tel, à part l'utilisation de kron pour exécuter des commandes CLI, mais c'est spécifié aquí comme ne prenant que les commandes EXEC, et non les commandes de configuration. Y a-t-il de l'espoir ou dois-je voyager ?

4voto

rrichter Points 2273

Je crois qu'il est possible de copier un fichier de flash : vers running-config, mais je ne suis pas sûr à 100%. Vous feriez mieux de copier le fichier running-config existant dans un fichier known-good-startup Pour ce faire, il est nécessaire d'utiliser un logiciel de gestion des configurations, de copier la configuration souhaitée sur la configuration de démarrage, puis de recharger le routeur (avec, idéalement, quelqu'un sur place à qui l'on peut montrer comment récupérer un mot de passe, si la nouvelle configuration est interrompue).

Alternativement, si la configuration pertinente peut être confortablement contenue dans une seule trame TCP, vous pourriez écrire du code pour émettre un reload in 10 puis une commande config t et terminer par toutes les commandes de configuration pertinentes, séparées par des CR NL, dans un seul cadre.

Editer : Ensuite, soit vous vous connectez manuellement au routeur, soit vous envoyez une deuxième trame contenant suffisamment de commandes pour annuler le rechargement (la commande IOS correspondante est la suivante reload cancel ).

4voto

HampusLi Points 3378

Vous pouvez le faire avec une macro tclsh.

Créer une macro

router#tclsh
router(tcl)# set foo {
+>conf t
+>int f0/1
+>ip addr.....
+>no ip route 0.0.0.0 .....
+>ip route 0.0.0.0 .....
+>exit  
+>exit  
+>}     

Exécutez et quittez tclsh :

router(tcl)#eval $foo
...
router(tcl)#tclq

Testez ceci dans un laboratoire pour vous familiariser avec tclsh dans les routeurs Cisco.

2voto

Android Eve Points 883

Si vous avez un tftp accessible au routeur, vous pouvez y modifier votre configuration, puis charger la configuration à partir du serveur tftp.

Il suffit d'être très prudent et de prévoir un plan de secours. Si quelque chose ne va pas, vous serez hors ligne et devrez vous rendre sur place ou trouver quelqu'un d'autre pour vous aider.

1voto

joeqwerty Points 106914

Avez-vous un accès telnet au routeur ? Vous pouvez vous connecter au routeur par telnet, copier la configuration en cours dans le bloc-notes, effectuer les modifications nécessaires et recoller le contenu du bloc-notes dans le routeur à partir du mode configuration, ce qui devrait suffire.

Il se peut que vous perdiez temporairement votre connexion telnet, mais le routeur continuera à coller la configuration téléchargée et, en supposant que la nouvelle configuration fonctionne, vous pourrez vous connecter à nouveau par telnet et l'enregistrer dans la configuration de démarrage.

1voto

philip Points 11

Si vous utilisez un IOS récent, vous pouvez utiliser IOS.sh . Une fois que vous l'avez fait term shell vous pouvez séparer les commandes par des points-virgules sur une ligne, et elles seront exécutées de manière séquentielle, comme dans la commande bash ou similaire.

Voici un exemple de one-liner, dans lequel j'ai modifié un itinéraire :

LAB-6807#show run | incl 111.111
ip route 172.31.111.111 255.255.255.255 Loopback0
LAB-6807#term shell
LAB-6807#conf t; no ip route 172.31.111.111 255.255.255.255 Loopback0; ip route 172.31.111.111 255.255.255.255 Null0; end
Enter configuration commands, one per line.  End with CNTL/Z.
LAB-6807#
*May 18 22:33:27.772: %SYS-5-CONFIG_I: Configured from console by hunter on vty1 (x.x.x.x)
LAB-6807#show run | incl 111.111
ip route 172.31.111.111 255.255.255.255 Null0
LAB-6807#

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X