_Note : Avec un adaptateur USB, le device est /dev/ttyUSB0 (ou autre numéro)._
* Exécuter la commande `minicom cisco` et observer l'initialisation du switch. A la question `Would you like to enter the initial configuration dialog?`, répondre `no`
* Passer en mode administrateur avec la commande `enable`, et afficher la configuration par défaut avec `show running-config`
#### Avec un câble Ethernet
Pour un switch récent, une fois allumé pour la 1ère fois, on appuye 3 à 4 secondes sur le bouton _MODE_ ce qui le fait passer en mode _Express Setup_.
Note : cela ne fonctionne que si le switch n'a jamais été configuré.
On branche un câble sur n'importe quel port et on lance un client DHCP sur un ordinateur :
~~~
# dhclient -d eth0
Internet Systems Consortium DHCP Client 4.1.1-P1
Copyright 2004-2010 Internet Systems Consortium.
All rights reserved.
For info, please visit <https://www.isc.org/software/dhcp/>
Listening on LPF/eth0/f0:de:f1:12:c9:d2
Sending on LPF/eth0/f0:de:f1:12:c9:d2
Sending on Socket/fallback
DHCPREQUEST on eth0 to 255.255.255.255 port 67
DHCPNAK from 10.0.2.3
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 5
DHCPOFFER from 10.0.2.3
DHCPREQUEST on eth0 to 255.255.255.255 port 67
DHCPACK from 10.0.2.3
bound to 10.0.2.2 -- renewal in 271 seconds.
~~~
On obtient ainsi l'adresse IP actuelle du switch : 10.0.2.3 et l'on peut se connecter en telnet sans mot de passe, ou en HTTP avec cisco/cisco.
Le plus simple est a priori de le faire en HTTP où l'on renseigne une configuration IP de base et les mots de passe, et l'on sort du mode
_Express Setup_ une fois terminé.
### Commandes de base
Commandes de bases sous IOS :
~~~
Switch# show version
Switch# show mem
Switch# show processes
Switch# show process cpu
Switch# show flash
Switch# show clock
Switch# show history
Switch# show logging
Switch# show inventory
Switch# show interfaces
Switch# show interfaces status
Switch# show interfaces st
Switch# show interfaces counter
Switch# show interfaces counter errors
Switch# show interfaces Gi0/11
Switch# show interfaces Gi0/11 status
Switch# show interfaces Gi0/11 counter
Switch# show interfaces Gi0/11 counter errors
Switch# show interfaces trunk
Switch# show interfaces description
~~~
#### Gestion de base de la configuration
~~~
Configuration en Flash
Switch# show configuration
Configuration actuelle
Switch# show running-config
Configuration actuelle d'une interface particulière
Switch# show running-config interface GigabitEthernet1/0/1
Ecrire la configuration actuelle en Flash
Switch# write
~~~
#### Changer le nom d'hôte
~~~
Switch# configure terminal
Switch(config)# hostname sw-test
sw-test(config)# end
~~~
#### Changer le nom de domaine
~~~
Switch# conf t
Switch(config)# ip domain-name test.com
Switch(config)# end
~~~
#### Chiffrer les mots de passe
~~~
Switch# configure terminal
Switch(config)# service password-encryption
~~~
#### Mise en place d'un mot de passe "enable"
Attention : Apparaitra en clair si password-encryption n'est pas activé !
~~~
Switch# configure terminal
Switch(config)# enable password le_mot_de_passe
Switch(config)# end
~~~
Note : si besoin de désactiver un ancien mot de passe, il peut être nécessaire de faire `no enable secret`
Si il y a assez de place sur la mémoire flash (`dir flash:`), copier le nouveau firmware dessus (`copy ftp://<IP>/fichier.bin flash:`), sinon effacer le contenu de la flash (`erase flash:`), puis placer le nouveau firmware.
Ensuite, il suffit de spécifier de charger le nouveau firmware.
Une façon de contrôler si le trunk est bien mis en place des 2 côté est de consulter la sortie de la commande "show vlan brief". Si le port est toujours dans le vlan 1, c'est que le trunk n'est pas opérationnel (interface non montée, ou port distant non configuré en trunk). Si tout fonctionne bien, on ne doit le voir dans aucun vlan, mais on le verra en trunk dans un "show interfaces status".
Le STP est un protocole permettant de détecter et désactiver automatiquement des boucles sur un segment Ethernet.
Cela permet donc d'éviter une boucle faite par erreur (ce qui en découle sur un Packet Storm et un réseau très dégradé)
...ou de créer des boucles volontairement pour assurer de la redondance !
Le principe de fonctionnement est qu'un des switchs est élu ROOT (racine de l'arbre STP), et qu'un coût est associé à chaque lien vers le ROOT.
Ce coût est calculé automatiquement à partir du nombre de connexions et du type de ces connexions (un lien 10Mb/s coûte 100, un lien 100Mb/s coûte 19, un lien 1Gb/s coûte 4, etc.).
Ce coût peut aussi être forcé manuellement si l'on veut influencer le calcul du STP.
Ensuite, grâce à ces coûts, si une boucle est détectée certains ports peuvent être bloqués.
Des vérifications sont réalisées régulièrement pour détecter un changement et adapter les blocages si nécessaire.
/!\ Le _keepalive_ - élement essentiel pour STP - n'est pas activé par défaut sur les ports *SFP* d'un switch Cisco : il faut absolument l'activer si vos segments Ethernet sont propagés sur les ports SFP !
~~~
Switch#conf t
(config)# int Gi0/49
(config-if)# keepalive
~~~
Sur les Cisco 2960-2970, le STP est géré par VLAN on parle de « per-VLAN spanning-tree plus (PVST+) » et si le mode « Rapid » est activé de « rapid per-VLAN spanning-tree plus (rapid-PVST+) ».
La valeur par défaut de la priorité du root switch est 3276.
Le root ID est calculé avec cette priorité + une dérivation de l'adresse MAC. C'est le plus petit ID qui l'emporte.
Il peut être intéressant de changer la priorité pour choisir le switch root.
On peut aussi changer la priorité des ports (128 par défaut + coût du lien [10MBps # 100, 100Mbps 19, 1Gbps = 4]) pour influencer le calcul SPT et les connexions à désactiver.
La configuration par défaut des timers respecte les recommandations de la norme 802.1d.
~~~
Hello time: 2 seconds.
Forward-delay time: 15 seconds.
Maximum-aging time: 20 seconds.
Transmit hold count: 6 BPDUs
~~~
Il faut avoir les mêmes valeurs si d'autres équipements interviennent sur le réseau, comme des machines OpenBSD ou Linux.
Par défaut, CISCO n'autorise pas les modules GBIC non agréés, il faut donc désactiver la vérification des checksum des modules GBIC pour pouvoir les connecter :
Les switchs Cisco Small Business Pro (par exemple, le modèle Cisco ESW 500) sont en fait d'anciens switchs Linksys. Ils n'ont pas de système IOS habituel.
La connexion par le port console ou par telnet donne seulement accès à un menu interactif permettant d'effectuer seulement quelques opérations de base. On préférera donc l'utilisation de l'interface HTTP.
Pour l'initialiser, suivre les instructions du Quick Start Guide. En résumé :
* Brancher un câble RJ45 sur un port quelconque
* Se connecter à l'adresse IP par défaut 192.168.10.2
* S'identifier avec cisco/cisco
### Changer le mode (trunk, access...etc) d'une plage de ports
Avec la WebUI ce n'est pas évident, mais il est bien possible d'appliquer une configuration à plusieurs ports d'un coup :
Dans la section "VLAN Management > Interface Settings" il suffit de configurer un port, puis en cliquant sur "Copy settings" en bas de la page, de renseigner la plage de ports à laquelle appliquer la même configuration.
### Changer le VLAN d'une plage de ports
Probablement dans un souci de cohérence, c'est également possible mais avec une méthode totalement différente...
Dans la section "VLAN Management > Port to VLAN" selectionner le VLAN ID désiré, et cliquer sur Go. Puis passer cocher "Untagged" au lieu de "Excluded" pour tous les ports désirés, et valider avec "Apply".
L'application des modifications est visible dans "VLAN Management > Port VLAN Membership"
### CLI Small Business
~~~
Switch# wr
Switch# sh vlan
Switch# sh interface gi1
Switch# sh interfaces status gi1
Switch# show interface switchport gi1
Switch# configure terminal
Switch(config)# vlan 2
Switch(config-vlan)# name bob
Switch(config-vlan)# end
Switch# configure terminal
Switch(config)# no vlan 2
Switch(config)# end
Switch# conf terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# interface gigabitethernet0/13
Switch# conf terminal
Switch(config)# interface gi1
Switch(config-if)# switchport mode access
Switch(config-if)# switchport access vlan 2
Switch(config-if)# end
Switch# conf terminal
Switch(config)# interface gi1
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add all