diff --git a/SwitchCisco.md b/SwitchCisco.md index 13a92e95..b99c13e6 100644 --- a/SwitchCisco.md +++ b/SwitchCisco.md @@ -14,11 +14,11 @@ Ressources diverses : * [Troubleshooting](http://www.cisco.com/en/US/products/hw/switches/ps708/products_tech_note09186a008015bfd6.shtml) ; * [LED 2960S](http://travaux.evolix.net/2960S_LED.html). -Stackable ou non-Stackable ?[[BR]] +Stackable ou non-Stackable ? Les switchs _-S Series_ permettent de stacker plusieurs switchs : c'est-à-dire que plusieurs switchs seront vus comme un seul, offrant ainsi des facilités en terme d'administration (mais pas forcément en terme de sécurité). Cela se fait par exemple avec plusieurs switch 2960-S et des modules Cisco FlexStack : ces modules s'ajoutent à l'arrière de chaque switch, il suffit ensuite -de les relier avec des câbles Cisco FlexStack.[[BR]] +de les relier avec des câbles Cisco FlexStack. Astuce : un switch stackable (S Series) est parfois moins cher qu'un non-stackable... et il peut pourtant très bien être utilisé tout seul ! ## Administration de switchs Cisco Catalyst @@ -105,7 +105,7 @@ Switch# show interfaces description ~~~ Configuration en Flash -Switch# show configuration +Switch# show startup-config Configuration actuelle Switch# show running-config Configuration actuelle d'une interface particulière @@ -137,10 +137,22 @@ Switch# configure terminal Switch(config)# service password-encryption ~~~ -Attention : ces mots de passe ne sont pas sécurisés et sont déchiffrables par [Cisco Password Cracker](http://www.ifm.net.nz/cookbooks/passwordcracker.html). Il faut donc éviter autant que possible l'utilisation du mot clef `password` et préférer `secret` lorsque cela est possible : mot de passe "enable" et comptes utilisateurs locaux. +Avec cette commande, les mots de passes définis avec le mot-clef `password` ne seront pas en clair. + +Attention : ces mots de passe ne sont pas sécurisés et sont déchiffrables par [Cisco Password Cracker](http://www.ifm.net.nz/cookbooks/passwordcracker.html). Il ne faut donc pas utiliser le mot clef `password` et préférer `secret` lorsque cela est possible : `enable secret mot_de_passe` au lieu de `enable password mot_de_passe`, et ne pas utiliser `password mot_de_passe` pour les connexions telnet ou console. Voir [SwitchCisco#mise-en-place-dun-compte-utilisateur]() Il faut également utiliser un mot de passe fort, puisque les mots de passes chiffrés par secret sont hashés en MD5 et déchiffrables avec [Cisco IOS Enable Secret Type 5 Password Cracker](http://www.ifm.net.nz/cookbooks/cisco-ios-enable-secret-password-cracker.html) +#### Mise en place d'un compte utilisateur + +~~~ +Switch(config)# username jdoe privilege 15 secret PASSWORD +~~~ + +Les privilèges vont de 0 à 15. + +Par défaut, les privilèges 0 et 1 connectent l'utilisateur en mode user (prompt `Switch>`) où `enable` est nécessaire pour passer dans le mode supérieur. Les privilèges 2 à 15 connectent directement l'utilisateur dans le mode supérieur (prompt `Switch#`). + #### Mise en place d'un mot de passe "enable" ~~~ @@ -149,32 +161,19 @@ Switch(config)# enable secret le_mot_de_passe Switch(config)# end ~~~ -Note 1 : si besoin de désactiver un ancien mot de passe, il peut être nécessaire de faire `no enable secret` +Note : si besoin de désactiver un ancien mot de passe, il peut être nécessaire de faire `no enable secret` -Note 2 : `enable password le_mot_de_passe` fonctionne aussi mais le mot de passe apparaîtra en clair si password-encryption n'est pas activé - -#### Mise en place (et changement) d'un mot de passe telnet - -~~~ -Switch# configure terminal -Switch(config)# line vty 0 15 -Switch(config-line)# password le_mot_de_passe -Switch(config-line)# login -Switch(config-line)# end -~~~ - -Note : `line vty 0 4` autorise 5 connexions simultanées tandis que `line vty 0 15` en autorise 16. Les plus anciens switchs ne permettaient pas plus de 5 connexions simultanées, c'est pourquoi les vty 0 4 et 5 15 sont souvent séparés. - -#### Mise en place d'un mot de passe console +#### Mise en place d'un accès console ~~~ Switch# configure terminal Switch(config)# line console 0 -Switch(config-line)# password le_mot_de_passe -Switch(config-line)# login +Switch(config-line)# login local Switch(config-line)# end ~~~ +Avec `login local`, on utilisera un compte local créé par la commande `username`, alors qu'avec `login`, aucun compte n'est utilisé et le mot de passe doit être défini avec la commande `password PASSWORD`. Ces dernières ne doivent pas être utilisées, étant donné que le mot de passe ne serait pas sécurisé. + #### Synchronisation NTP ~~~ @@ -276,7 +275,7 @@ Si l'on appuye plus de 8 secondes sur le bouton _MODE_, le switch redémarre et ##### Autre méthode sans mot de passe -Sur certains modèles, cette méthode ne fonctionne pas. Après être raccorder au switch, il faut le redémarrer en maintenant le bouton MODE enfoncé. +Sur certains modèles, cette méthode ne fonctionne pas. Après être raccordé au switch, il faut le redémarrer en maintenant le bouton MODE enfoncé. Ensuite, initialiser le file system flash : @@ -285,7 +284,7 @@ switch: flash_init switch: load_helper ~~~ -Si on veut on peut sauvegarder, ou la supprimer l'ancienne configuration : +Si on veut on peut sauvegarder, ou supprimer l'ancienne configuration : ~~~ switch: dir_flash: @@ -509,6 +508,12 @@ Astuce : pour ajouter un VLAN sur un trunk sans reprendre toute la liste de ceux # switchport trunk allowed vlan add 42 ~~~ +Pour le supprimer : + +~~~ +# switchport trunk allowed vlan remove 42 +~~~ + 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". Pour afficher les VLAN autorisés sur un trunk : @@ -517,6 +522,12 @@ Pour afficher les VLAN autorisés sur un trunk : # show interfaces Gi1/0/50 trunk ~~~ +Pour afficher la configuration de tous les trunks : + +~~~ +# show interfaces trunk +~~~ + ATTENTION : si l'on configure un port trunk, il est indispensable de créer le VLAN sur le switch, sinon cela ne marche pas ! ### Administration à distance @@ -532,30 +543,33 @@ Switch(config)# no ip http secure-server Switch(config)# no ip http server ~~~ +#### Par telnet + +~~~ +Switch# configure terminal +Switch(config)# line vty 0 15 +Switch(config-line)# login local +Switch(config-line)# end +~~~ + +Note : `line vty 0 4` autorise 5 connexions simultanées tandis que `line vty 0 15` en autorise 16. Les plus anciens switchs ne permettaient pas plus de 5 connexions simultanées, c'est pourquoi les vty 0 4 et 5 15 sont souvent séparés. + #### Par SSH -Activation et ajout d'un utilisateur local : - -~~~ -configure terminal -aaa new-model -aaa authentication login default local -aaa authorization exec default local -aaa authorization network default local -#username name privilege 15 password 7 le_mot_de_passe #password 0 le_mot_de_passe ==> en clair -username root privilege 15 secret 0 mot_de_passe -end -~~~ - Important : Mettre en place le nom d'hôte et le nom de domaine. -Activation de SSH : +Activation de SSH, et désactivation de telnet : ~~~ -configure terminal -crypto key generate rsa +Switch# configure terminal +Switch(config)# crypto key generate rsa +Switch(config)# line vty 0 15 +Switch(config-line)# login local +Switch(config-line)# transport input ssh ~~~ +Si on veut avoir à la fois telnet et SSH, remplacer `transport input ssh` par `transport input all`. + #### Activer SNMP Afin de permettre des requêtes SNMP : @@ -591,6 +605,15 @@ Switch(config)#no ip http server Switch(config)#no ip http secure-server ~~~ +#### Synchroniser les logs + +~~~ +Switch(config)#line console 0 +Switch(config-line)#logging synchronous +~~~ + +Cette commande permet de ne pas interrompre le prompt de l'utilisateur lorsque des logs s'affichent sur le switch. Bien sûr, les logs continuent de s'afficher. + ### Gestion des adresses MAC Lister toutes les adresses MAC connues :