Synchroniser la console

Voici deux petits pense-bêtes pour bien utiliser la console sur du matériel Cisco:

  • logging synchronous : cette directive permet de synchroniser la sortie terminal et la ligne de commande. Par exemple, si vous tapez une ligne de commande et que le routeur affiche un message dans le terminal, votre texte va alors se réafficher.
  • exec-timeout 0 0 : ceci permet de désactiver le timeout en ligne de commande. Ceci peut être utile dans le cas d'un laboratoire de test.

En situation:

Router(config)#line console 0
Router(config-line)#logging synchronous
Router(config-line)#exec-timeout 0 0

Comment rendre une interface up lorsqu'elle n'est pas branchée :

Dans ce premier exemple, on voit que l'interface est down:

Router(config)# interface ethernet 0
Router(config-if)# ip address 10.0.0.1 255.255.255.0
Router(config-if)# no shutdown
Router#show ip interface brief
Interface              IP-Address      OK? Method Status                Protocol
Ethernet0              10.0.0.1        YES manual administratively down down

En utilisant la commande no keepalive:

Router(config)# interface ethernet 0
Router(config-if)# ip address 10.0.0.1 255.255.255.0
Router(config-if)# no shutdown
Router(config-if)# no keepalive
Router#show ip interface brief
Interface              IP-Address      OK? Method Status                Protocol
Ethernet0              10.0.0.1        YES manual up                    up

Configurer ses bannières

  • Bannière avant le login
Router(config)# banner login #
Ma bannière....
....
#
  • Bannière après le login
Router(config)# banner exec #
Ma bannière....
....
#

A noter que les caractères # permettent de délimiter la zone de saisie, il est possible d'utiliser n'importe quel autre délimiteur.

Utiliser des alias

Ces alias très pratiques sont à configurer en mode configuration. Voici un exemple:

R1(config)# alias exec sib show ip int brief
R1(config)# alias exec sir show ip route

Pour visualiser les alias:

R1# show alias
Exec mode aliases:
  h                     help
  lo                    logout
  p                     ping
  r                     resume
  s                     show
  u                     undebug
  un                    undebug
  w                     where
  sib                   show ip int brief
  sir                   show ip route

Pour supprimer un alias:

R1(config)# no alias exec sib

Modifier plusieurs interfaces simultanément

A la suite de la commande interface, il est possible d'utiliser range.

Switch(config)#interface range fastethernet0/1 - 20
Switch(config-if-range)#speed 100
Switch(config-if-range)#duplex full

On peut aussi définir plusieurs range:

Switch(config)#interface range fastethernet0/1 - 4 , fastethernet0/10 - 15

Cette commande peut être utilisée avec des interfaces vlan, port-channel, fastethernet et gigabitethernet.

Effacer la table de routage

R1# clear ip route *

Définir l'adresse source d'un service

Lorsqu'on réalise un ssh, un telnet ou simplement lorsqu'un routeur va interroger son serveur Tacacs, il utilise par défaut l'adresse IP de son interface de sortie. Il est possible de spécifier manuellement l'adresse de quelle interface utiliser (si celle-ci est up) pour chaque service:

R1(config)# ip ssh source-interface gigabitEthernet 0/1
R1(config)# ip telnet source-interface loopback 0
R1(config)# ip tftp source-interface loopback 2
R1(config)# ip tacacs source-interface tunnel 0
R1(config)# logging source-interface loopback 0

Pour supprimer cette adresse:

R1(config)#no ip ssh source-interface

Protéger l'accès à un équipement par une access list

Il est possible de définir une liste d'adresse ayant les droits pour administrer un équipement. Dans l'exemple suivant, seules les machines des réseaux 10.12.0.0/24 et 10.13.0.0/24 peuvent administrer mon routeur en SSH.

ip access-list extended MGT-SSH
 permit tcp 10.12.0 0.0.0.255 gt 1023 host 0.0.0.0 eq 22
 permit tcp 10.13.0 0.0.0.255 gt 1023 host 0.0.0.0 eq 22
 deny ip any any log
!
line vty 0 4
 access-class MGT-SSH in
 transport input ssh

Modifier le niveau de log

Pour visualiser les logs d'un équipement:

Routeur1#sh logging
Syslog logging: enabled (12 messages dropped, 6 messages rate-limited,
                0 flushes, 0 overruns, xml disabled, filtering disabled)
    Console logging: level debugging, 1191740 messages logged, xml disabled,
                     filtering disabled
    Monitor logging: level debugging, 0 messages logged, xml disabled,
                     filtering disabled
    Buffer logging: level warnings, 1 messages logged, xml disabled,
                    filtering disabled
    Logging Exception size (4096 bytes)
    Count and timestamp logging messages: disabled
...
Log Buffer (4096 bytes):

.Aug 12 14:24:22.476: %LINK-3-UPDOWN: Interface GigabitEthernet0/1, changed state to up

Les logs générées par une access list ont un niveau informational, ainsi le niveau warnings configuré pour le buffer ne nous permettra pas de visualiser ces logs.

Pour changer le niveau de log:

Routeur1(config)#logging buffered informational

Nous avons maintenant nos logs des ACLs:

Routeur1#sh logging
...
    Buffer logging: level informational, 2 messages logged, xml disabled,
                   filtering disabled
...
Log Buffer (4096 bytes):

.Aug 12 15:39:15.443: %SEC-6-IPACCESSLOGP: list MGT-SSH denied tcp 10.118.14.51(32853) -> 0.0.0.0(22), 1 packet
Routeur1#

Configuration ntp pour l'heure d'été

Routeur2(config)# ntp server 192.168.1.2 prefer
Routeur2(config)# ntp server 192.168.1.3
Routeur2(config)# clock timezone CET 1
Routeur2(config)# clock summer-time CEST recurring last Sun Mar 2:00 last Sun Oct 3:00

Debug

Visualiser les commandes debug actuellement activées:

R1# sh debugging
IP routing:
  BGP debugging is on for all address families
  OSPF events debugging is on
IP multicast:
  PIM debugging is on

Désactiver toutes les commandes debug:

R1# u all
All possible debugging has been turned off

Activer le debug en SSH

Commande pour activer le debug, habituellement disponible en mode console, en SSH :

R1# terminal monitor

Activer/Désactiver le debug en console

Désactiver les messages de debug en console

R1(config)# no logging console

Activer

R1(config)# logging console

Activer SSH

Router-01(config)#ip ssh version 2
Please create RSA keys to enable SSH.
Générer la clé RSA
Router-01(config)#crypto key generate rsa
The name for the keys will be: C3845.intranet.nemako.net
Choose the size of the key modulus in the range of 360 to 2048 for your
  General Purpose Keys. Choosing a key modulus greater than 512 may take
  a few minutes.

How many bits in the modulus [512]: 1024
% Generating 1024 bit RSA keys, keys will be non-exportable...[OK]
Activer SSH
Router-01(config)#ip ssh version 2
Imposer ssh en line vty
Router-01(config)#line vty 0 4
Router-01(config-line)#transport input ssh

Modifier la clé ssh d'un équipement

Regarder les clés présentes:

C3750# sh crypto key mypubkey rsa
% Key pair was generated at: 14:28:12 UTC Aug 9 2006
Key name: C3750.intranet
 Usage: General Purpose Key
 Key is not exportable.
 Key Data:
  12345678 90123456 4886F70D 01010105 00034B00 30480241 00E344FA 6AC1EA9A
  1C6B0C36 DAD96A2B 93ADBDCB 12345678 90123456 C2C9A198 CDFG0000 B409EC84
  B6B365EF AAAAAAAA 12345678 90123456 FADAEF65 CCB1D2D7 15020301 0001
% Key pair was generated at: 09:22:32 UTC Jan 15 2008
Key name: C3750.intranet.server
 Usage: Encryption Key
 Key is not exportable.
 Key Data:
  12345678 90123456 4886F70D 01010105 00036B00 30680261 00BCC9B6 CD1D4A0B
  9CB0C35B 37508A38 6D9D1E44 12345678 90123456 A9C80947 1092B1CD 450D4BCD
  B8342222 1C3CC7DB 12345678 90123456 84B63952 51BD946A CDFG0000 4667895A
  9D2DB0D9 00000000 27E2F343 7D1D3B34 99AAE391 F6C4BDD9 35020301 0001

Supprimer ces clés:

C3750#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
C3750(config)#crypto key zeroize rsa C3750.intranet.server
% Keys to be removed are named named 'C3750.intranet.server'.
% All router certs issued using these keys will also be removed.
Do you really want to remove these keys? [yes/no]: yes
C3750(config)#crypto key zeroize rsa C3750.intranet
% Keys to be removed are named named 'C3750.intranet'.
% All router certs issued using these keys will also be removed.
Do you really want to remove these keys? [yes/no]: yes

Il suffit maintenant de générer une nouvelle clé:

C3750(config)# crypto key generate rsa
The name for the keys will be: C3750.intranet
Choose the size of the key modulus in the range of 360 to 2048 for your
  General Purpose Keys. Choosing a key modulus greater than 512 may take
  a few minutes.

How many bits in the modulus [512]: 2048
% Generating 2048 bit RSA keys ...[OK]

C3750(config)#

Rebooter le module d'un C6500

C6513-01#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
C6513-01(config)# power cycle module 4
% This command is being deprecated.
% Please use exec-level command :
%        hw-module module <mod #> reset
Proceed with reload of module? [confirm] confirm

Vérifier la consommation d'un C6500

C6513-01#show power | in (used|total|availa)
system power total =     5771.64 Watts (137.42 Amps @ 42V)
system power used =      2287.74 Watts (54.47 Amps @ 42V)
system power available = 3483.90 Watts (82.95 Amps @ 42V)

Ajuster l'intervalle de calcul de bande passante des interfaces

Lorsqu'on utilise la commande, show interface, pour visualiser la bande passante utilisée d'une interface, celle-ci est calculée sur les 5 dernière minutes. Il est possible de modifier cette valeur entre 30 et 600 secondes.

C3845-2(config)#int tun 0
C3845-2(config-if)#?
...
  load-interval           Specify interval for load calculation for an interface
C3845-2(config-if)#load-interval ?
  <30-600>  Load interval delay in seconds
  • Voici une interface configuré par défaut
C3845-2#sh int gi 0/0
GigabitEthernet0/0 is up, line protocol is up
...
  5 minute input rate 2140000 bits/sec, 579 packets/sec
  5 minute output rate 6217000 bits/sec, 769 packets/sec
  • Configurer l'interval à 30 secondes
C3845-2(config)#int tun 0
C3845-2(config-if)# load-interval 30
C3845-2#sh int tun 0
Tunnel0 is up, line protocol is up
...
  30 second input rate 1461000 bits/sec, 388 packets/sec
  30 second output rate 892000 bits/sec, 368 packets/sec

Filtrer la sortie show process cpu

La commande show process cpu est relativement illisible sans filtrage:

C3825#sh processes cpu
CPU utilization for five seconds: 1%/1%; one minute: 10%; five minutes: 5%
 PID Runtime(ms)   Invoked      uSecs   5Sec   1Min   5Min TTY Process
   1           8       255         31  0.00%  0.00%  0.00%   0 Chunk Manager
   2        1084   2024779          0  0.00%  0.00%  0.00%   0 Load Meter
   3     1138252  31651957         35  0.00%  0.03%  0.02%   0 OSPF-1 Hello
   4           0         1          0  0.00%  0.00%  0.00%   0 EDDRI_MAIN
   5     4209864   1034803       4068  0.00%  0.03%  0.02%   0 Check heaps
   6        2448      3992        613  0.00%  0.00%  0.00%   0 Pool Manager
   7           0         2          0  0.00%  0.00%  0.00%   0 Timers
   8           0    168733          0  0.00%  0.00%  0.00%   0 IPC Dynamic Cach
   9           0         1          0  0.00%  0.00%  0.00%   0 IPC Zone Manager
  10          48  10123865          0  0.00%  0.00%  0.00%   0 IPC Periodic Tim
  11          52  10123865          0  0.00%  0.00%  0.00%   0 IPC Deferred Por
  12           0         1          0  0.00%  0.00%  0.00%   0 IPC Seat Manager
  13           0         1          0  0.00%  0.00%  0.00%   0 IPC BackPressure
  14           0         1          0  0.00%  0.00%  0.00%   0 OIR Handler
  15           0         1          0  0.00%  0.00%  0.00%   0 Crash writer
  16         892   2024778          0  0.00%  0.01%  0.00%   0 Environmental mo
  17         200    170244          1  0.00%  0.00%  0.00%   0 ARP Input
  18           0         2          0  0.00%  0.00%  0.00%   0 ATM Idle Timer
  19           0         2          0  0.00%  0.00%  0.00%   0 AAA high-capacit
  20           0         1          0  0.00%  0.00%  0.00%   0 AAA_SERVER_DEADT
  21           0         1          0  0.00%  0.00%  0.00%   0 Policy Manager
  ...

Voici donc un moyen simple de voir les process principaux utilisé par votre équipement:

C3825#sh processes cpu | excl 0.00%  0.00%  0.00%
CPU utilization for five seconds: 3%/2%; one minute: 8%; five minutes: 5%
 PID Runtime(ms)   Invoked      uSecs   5Sec   1Min   5Min TTY Process
   2        1084   2024782          0  0.00%  0.01%  0.00%   0 Load Meter
   3     1138256  31651995         35  0.00%  0.03%  0.02%   0 OSPF-1 Hello
   5     4209888   1034807       4068  0.24%  0.04%  0.02%   0 Check heaps
  16         892   2024781          0  0.00%  0.01%  0.00%   0 Environmental mo
  37     8160276   7377317       1106  0.24%  0.13%  0.12%   0 Net Background
  47     2034740    170147      11958  0.00%  0.02%  0.00%   0 Per-minute Jobs
  76         220       502        438  0.08%  0.01%  0.00% 706 SSH Process
  99     1512248  20737241         72  0.00%  0.01%  0.00%   0 IP Input
 159         960 101236184          0  0.00%  0.02%  0.00%   0 RBSCP Background
 265        3092  10216394          0  0.00%  0.02%  0.05%   0 NTP

Effacer la configuration d'une interface

Voici la configuration intiale de mon interface

C2950# sh run int Fa1/0/35
Building configuration...

Current configuration : 230 bytes
!
interface FastEthernet1/0/35
 switchport access vlan 7
 switchport mode access
 speed 100
 duplex full
 no mdix auto
 no cdp enable
 spanning-tree portfast
 spanning-tree bpduguard enable
 service-policy input  POLICY_PHONE
end

Et voici comment effacer toute la configuration en une seule commande:

C2950#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
C2950(config)#default interface FastEthernet1/0/35
Interface FastEthernet1/0/35 set to default configuration

Le résultat:

C2950# sh run int Fa1/0/35
Building configuration...

Current configuration : 36 bytes
!
interface FastEthernet1/0/35
end

Afficher les logs avec la date du jour

Lors de l'affichage des logs, il est possible de choisir la date soit en fonction de l'uptime soit de l'heure de l'équipement.

Date réel
R0(config)#service timestamps log datetime

Résultat

R0#sh logging
...
Apr 14 20:51:44: %SYS-5-CONFIG_I: Configured from console by console
Uptime
R0(config)#service timestamps log uptime

Résultat

R0#sh logging
...
00:59:15: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to down

Connaitre le nombre d'adresse MAC disponible et utilisé

SW0-15#sh mac-address-table count
MAC Entries for all vlans:
Dynamic Unicast Address Count:                  383
Static Unicast Address (User-defined) Count:    8
Static Unicast Address (System-defined) Count:  1
Total Unicast MAC Addresses In Use:             392
Total Unicast MAC Addresses Available:          32768
Multicast MAC Address Count:                    108
Total Multicast MAC Addresses Available:        16384

Désactiver le prompt "more"

Il est possible de désactiver le prompt "more" qui apparait lorsqu'il y a des longues sorties (show run par exemple). Il faut utiliser la commande exec terminal length 0.

line console
 length 0
line vty 0 4
 length 0

.