Inicio > cisco, Switches Cisco > Como configurar un Switch Cisco Catalyst a través de sus comandos

Como configurar un Switch Cisco Catalyst a través de sus comandos

Sábado, 4 de febrero de 2012 Dejar un comentario Ir a comentarios

Hoy, día en que Cronos Dios griego del tiempo me ha honrado con el privilegio de uno de los bienes más preciados,  no puedo dejar pasar tal oportunidad para hablar sobre la tan aclamada electrónica de Cisco. En esta ocasión vamos a centrarnos en algunas de las posibilidades que en cuanto a configuración nos aporta su serie Catalyst.

Aquellos que tenemos la fortuna de disfrutar durante largas horas de esos seres inanimados llamados máquinas, ya sea de forma virtual, espiritual e incluso por momentos afectiva, tarde o temprano nos veremos en la necesidad de acercar posturas con tan gigante americano.  Fabricante bien conocido por todos, quien debe su nombre a la ciudad de SanFranCisco, y peso pesado en el sector de las telecomunicaciones.

Pero en este mundillo ni el más fuerte puede permitirse el lujo del arte de la relajación. Rostros conocidos como 3Com, D-link. Netgear…los siempre presentes HP, DELL y los quizás menos conocidos por algunos pero importantes como Extreme Networks, F5Juniper., Checkpoint, Fortinet, Palo alto, Juniper…, Riverbed…, Asterisk amenazan la hegemonía del señor americano en todas sus gamas de productos.

Con Cisco no podemos decir que se cumpla aquello de bueno, bonito y barato. Nos quedamos simplemente con lo de bueno pero caro.

Aun así,  debemos seguir considerando a Cisco como uno de los grandes de un sector, del que abarca gran parte de cuota de mercado,  y con el que tarde o temprano nos veremos en la necesidad de rendir cuentas ante alguno de sus dispositivos. Importante es entonces mantener una buena y bonita relación con el señor Cisco.

Dicho esto, vamos a empezar a jugar con nuestros queridos Catalysts (3750, 3560, 2960…)

Conectamos nuestro fabuloso cable azul de consola que siempre acompaña al dispositivo, y después de un proceso de comprobación del Hardware (bootstrap), la posterior carga de la imagen IOS de memoria, y finalmente carga desde la memoria NVRam la configuración.

Cuidado que ya hemos nombrado al tal todopoderoso a la vez que temido IOS de cisco, que a través de su interface de cliente (CLI), nos va a permitir en función del privilegio que dispongamos (1-15) introducir las palabras mágicas que harán que el Catalyst vaya tomando vida.

Si nos hemos conectado desde la consola puede que nos pida una contraseña (ya lo iremos viendo) o directamente se nos presente ante nosotros al igual que una revelación.

switch>

Vamos ahora a comprobar en que nivel de privilegios nos estamos moviendo ejecutando los primeros comandos.

switch > sh privilege
Current privilege level is 1

Con este nivel de usuario muy poquitas cosas aparte de algunas consultas vamos a poder realizar.

Para empezar a jugar de verdad tenemos que entrar en modo privilegiado.

switch > enable (=ena)

En este punto siempre nos va a pedir una contraseña que por defecto es cisco, y os sorprenderías de la cantidad de dispositivos que harán caso a esa mágica palabra. Las password por defecto son el “Ábrete Sesamo” de la informática. Para que molestarse en cambiarla.

Hay dos reglas por excelencia en este mundo. La primera es “ya lo modificaré o haré mas tarde”, y la segunda es “si funciona para que vamos a tocar”.

Switch # (la presencia de esta almohadilla es buena señal)

Volvemos a comprobar ahora el nuevo nivel de privilegios con que contamos.

Switch # sh privilege
Current privilege level is 15

Esto si que ya tiene otra pinta.

Ahora vamos a ver como se nos presenta el Switch cuando entramos en los diferentes modos.

Si entramos en modo configuración :

Switch # configure terminal (=conf t)
switch (config) #

Y ya cuando estemos configurando alguna de las interfaces :

switch (config) # interface gigabitEthernet 1/0/23
switch (config-if) #

Para salir de los diferentes modos podemos utilizar la palabra exit.

switch (config-if) # exit
switch (config) #

O

end

En caso de querer salir directamente al modo privilegiado.

switch (config-if) # end
switch #

Realizamos la misma acción con ^Z

Con un nuevo exit salimos al modo usuario

switch #exit
switch >

Y si ya tecleamos logout o nuevamente exit salimos completamente del Switch.

Si en modo privilegiado ejecutamos la orden para reiniciar el router:

switch # reload

Y durante los primeros 60s de inicio del Switch pulsamos la tecla break, entraremos en lo que se conoce como modo monitor, modo que nos va a servir en el caso de tener problemas a la hora de cargar la IOS.

rommon # >

Volviendo al modo usuario ejecutando :

rommon # > continue

Vemos que podemos introducir los comandos de forma abreviada (configure terminal o conf t) además de jugar con el tabulador introduciendo únicamente el inicio del comando y el se encargara de completarlo.

switch# conf<Tab>
switch# configure

Si queremos conocer los comandos o las opciones de alguno en concreto jugaremos con el símbolo ?.

switch #?
Exec commands:
 <1-99>           Session number to resume
 access-enable    Create a temporary Access-List entry
 access-template  Create a temporary Access-List entry
 archive          manage archive files
 cd               Change current directory
...................

Miramos a ver lo que nos dice el comando help.

switch # help

Help may be requested at any point in a command by entering
 a question mark '?'.  If nothing matches, the help list will
 be empty and you must backup until entering a '?' shows the
 available options.
 Two styles of help are provided:
 1. Full help is available when you are ready to enter a
 command argument (e.g. 'show ?') and describes each possible
 argument.
 2. Partial help is provided when an abbreviated argument is entered
 and you want to know what arguments match the input
 (e.g. 'show pr?'.)

Lo que ya hemos comentado. Podemos utilizar ?, para conocer mas sobre los comandos y sobre sus argumentos. Veamos un ejemplillo.

switch # configure ?
memory    Configure from NV memory
 network   Configure from a TFTP network host
 terminal  Configure from the terminal

Tenemos la posibilidad de consultar los comandos que ya hemos ido introduciendo.

switch # sh history
term mon
sh debugging

Por defecto nos guarda 10 líneas, pero podemos ampliarlo.

switch (config) # terminal history size 250

Y jugar con los cursores para que nos reescriba los últimos comandos tecleados.

Ahora vamos a guardar un pequeño histórico, muy útil  en caso de ser necesario comprobar lo que ha estado pasando.

switch (config)#logging buffered 64000
switch (config)#logging history size 250

Cuando queramos eliminar una configuración se utiliza la palabra no. Si en este caso por ejemplo no queremos utilizar la configuración a nivel de histórico realizada.

switch # terminal no history

Muy importante ese “no” ya que se trata de lo que vamos a anteponer siempre que queramos borrar parte de la configuración.

El juego de teclas Ctrl-A, nos permitirá movernos al inicio de lo que hemos tecleado y pulsando Ctrl-E nos desplazaremos al final de la línea.

Otro comando muy importante es el comando show (sh) para mostrar elementos de la configuración, y prometo lo vamos a utilizar hasta la saciedad.

Bueno vamos a empezar a hacer algunas cosillas. Nos ponemos en modo configuración y vamos a empezar cambiando el nombre que nos presenta el dispositivo.

switch (config) # hostname Mi_Switch

Y ahora vamos a ponerle algunas contraseñas.

Las de conexión por telnet por ejemplo:

Mi_Switch (config) # line vty 0 4
Mi_Switch (config) # password nueva_pass

Ahora modificamos las que nos solicita cuando nos conectemos por consola.

Mi_Switch (config) #line console 0
Mi_Switch (config) #login
Mi_Switch (config) #password nueva_pass

Y por último la mas importante. La de entrada en modo privilegiado, y esta la generamos de forma cifrada.

Mi_Switch (config) #enable secret new_password 

Posteriormente y en este mismo documento vamos a ver como activar ssh.
Ahora salimos del modo configuración y vamos a ir viendo algunas interioridades del dispositivo al que estamos conectados.

Mi_Switch # show ver

Cisco IOS Software, C3750 Software (C3750-IPBASE-M), Version 1X.X(XX)SE5,
 RELEASE SOFTWARE (fc1)
 Copyright (c) 1986-2007 by Cisco Systems, Inc.
 Compiled Thu 19-Jul-07 19:15 by nachen
 Image text-base: 0x00003000, data-base: 0x01080000
 ROM: Bootstrap program is C3750 boot loader
 BOOTLDR: C3750 Boot Loader (C3750-HBOOT-M) Version 1X.x(xxr), RELEASE
 SOFTWARE (fc1)
 name-Sp uptime is 0 weeks, 0 days, 1 hours, 5 minutes
 System returned to ROM by power-on
 System image file is
 ..........

Como veis nos da un montón de información sobre la IOS cargada, el tiempo que lleva levantado…..

Lanzamos nuestro primer diagnóstico :

Mi_Switch # sh diagnostic post

Stored system POST messages:

Switch 1
 ---------

POST: CPU MIC register Tests : Begin
 POST: CPU MIC register Tests : End, Status Passed
 POST: PortASIC Memory Tests : Begin
 POST: PortASIC Memory Tests : End, Status Passed
 POST: CPU MIC interface Loopback Tests : Begin
 POST: CPU MIC interface Loopback Tests : End, Status Passed
 POST: PortASIC RingLoopback Tests : Begin
 POST: PortASIC RingLoopback Tests : End, Status Passed
 POST: PortASIC CAM Subsystem Tests : Begin
 POST: PortASIC CAM Subsystem Tests : End, Status Passed
 POST: PortASIC Port Loopback Tests : Begin
 POST: PortASIC Port Loopback Tests : End, Status Passed

Pero podemos preparar algún diagnóstico :

Mi_Switch # diagnostic start switch 1 test 1

Y posteriormente ver la información que nos devuelve :

Mi_Switch # sh diagnostic result switch 1

Switch 1:   SerialNo : YUULLDX0

Overall diagnostic result: UNTESTED

Test results: (. = Pass, F = Fail, U = Untested)

1) TestPortAsicStackPortLoopback ---> U
 2) TestPortAsicLoopback ------------> U
 3) TestPortAsicCam -----------------> U
 4) TestPortAsicRingLoopback --------> U
 5) TestMicRingLoopback -------------> U
 6) TestPortAsicMem -----------------> U

Vemos los diagnósticos que tenemos lanzados:

Mi_Switch # sh diagnostic status

<BU> - Bootup Diagnostics, <HM> - Health Monitoring Diagnostics,
 <OD> - OnDemand Diagnostics, <SCH> - Scheduled Diagnostics

====== ================================= =============================== ======
 Card   Description                       Current Running Test            Run by
 ------ --------------------------------- ------------------------------- ------
 1                                        N/A                             N/A

2                                        N/A                             N/A

====== ================================= =============================== ======

Seguimos mirando cositas. Ahora nos toca comprobar el estado de la CPU.

Mi_Switch # show processes cpu

CPU utilization for five seconds: 6%/0%; one minute: 7%; five minutes: 7%
 PID Runtime(ms)   Invoked      uSecs   5Sec   1Min   5Min TTY Process
 1          34       574         59  0.00%  0.00%  0.00%   0 Chunk Manager
 2        1891   2281851          0  0.00%  0.00%  0.00%   0 Load Meter
 3           0         5          0  0.00%  0.00%  0.00%   0 CEF RP IPC Backg
 4    12095866   1352065       8946  0.00%  0.10%  0.06%   0 Check heaps
 5        5985      2376       2518  0.00%  0.00%  0.00%   0 Pool Manager
 ...................

O incluso ver un histórico del uso de la CPU :

Mi_Switch # show processes cpu history

7776666677777666668888888888777776666666666666667777788888
 100
 90
 80
 70
 60
 50
 40
 30
 20
 10 **********************************************************
 0....5....1....1....2....2....3....3....4....4....5....5....
 0    5    0    5    0    5    0    5    0    5
 CPU% per second (last 60 seconds)

1   44             43             32             4
 8998919982688898988878872888888889987899599888888889986888
 100
 90
 80
 70
 60
 50           *                                           *
 40          **             **             *              *
 30          **             **             **             *
 20          #*             #*             #*             #
 10 ##########################################################
 0....5....1....1....2....2....3....3....4....4....5....5....
 0    5    0    5    0    5    0    5    0    5
 CPU% per minute (last 60 minutes)
 * = maximum CPU%   # = average CPU%

4444444444544444444444444446311141111114111141111113111131111114111141
 6842642755774623535755361420911120112123011042120214110171111116101101
 100
 90
 80
 70
 60           *                *
 50 **  *  ***** *  * **** *   *                                   *
 40 *****************************   *      *    *           *      *    *
 30 *****************************   *      *    *      *    *      *    *
 20 *****************************   *      *    *      *    *      *    *
 10 ######################################################################
 0....5....1....1....2....2....3....3....4....4....5....5....6....6....7.
 0    5    0    5    0    5    0    5    0    5    0    5    0
 CPU% per hour (last 72 hours)
 * = maximum CPU%   # = average CPU%

Ahora vamos a ver que podemos llegar a conocer sobre el estado de la memoría :

Mi_Switch # show memory
Head    Total(b)     Used(b)     Free(b)   Lowest(b)  Largest(b)
 Processor    1D0AA50    91547056    29022824    62524232    60725268    61665840
 I/O    7400000    12574720     8449564     4125156     3885316     3989576

.....

Mi_Switch #show processes memory
Processor Pool Total:   91547056 Used:   29021980 Free:   62525076
 I/O Pool Total:   12574720 Used:    8449404 Free:    4125316

PID TTY  Allocated      Freed    Holding    Getbufs    Retbufs Process
 0   0   46510528   13495924   30791388          0          0 *Init*
 0   0      13876    2062240      13876          0          0 *Sched*
 0   0  121256380  120012788     552792   11687216    3583592 *Dead*
 1   0     835100     818240      39208          0          0 Chunk Manager
 2   0        180        180       3908          0          0 Load Meter
 ...........

Una cosa de la que vamos a tirar muchísimo es comprobar y ver  la configuración que esta corriendo en la maquina (RAM).

Mi_Switch # sh running

Current configuration : 6682 bytes
 !
 version 1X.X
 no service pad
 service timestamps debug datetime localtime
 service timestamps log datetime localtime
 !
 hostname Mi_Switch
 !
 ...........................

Esto es muy importante ya que podemos ver la configuración actual que esta corriendo en el dispositivo. Si realizamos algún tipo de modificación en la máquina es aqui donde van a quedar reflejados los cambios. Pero estos se guardan en RAM y son volátiles. Es decir si no los guardamos y apagamos el switch se perderán y a tirarnos de los pelos!. Por ello es necesario guardarlos en lo que se conoce como NVRAM.

Mi_Switch # copy running-config startup-config

O simplemente

Mi_Switch # wr

Tambien podemos realizar el paso inverso que es el de volver a cargar lo que tenemos guardado en NVRAM sobre la RAM en caso de que las modificaciones no nos terminen de cuadrar.

Lo mismo que podemos ver lo que se esta ejecutando, podemos comprobar lo que esta guardado en la NVRam y se va a ejecutar cuando reiniciemos nuestro Catalyst, para poder comparar los cambios por ejemplo.

Mi_Switch # sh startup-config
Current configuration : 6682 bytes
 !
 version 1X.X
 no service pad
 service timestamps debug datetime localtime
 service timestamps log datetime localtime
 !
 hostname Mi_Switch
 !

El comando show también nos permite filtrar la información que nos va a mostrar, ejecutándolo de la siguiente forma :

Mi_Switch # show running-config | include Lo_que_buscamos
Mi_Switch # show ip interfaces brief | exclude Lo_que excluimos

Incluso llegar a mostrar la configuración a partir de la primera línea con que se tropiece:

Mi_Switch # show running-config | begin interface

Es cierto que podemos reiniciar el switch de forma remota, incluso aplicándole un intervalo para el reinicio. ¿Para que nos puede servir esto?. Por ejemplo si nos hemos conectado de forma remota y no disponemos de una mas remotas en caso de cometer un error de configuración que nos deje sin acceso al Switch. Si lo hemos configurado para que se reinicie en X minutillos al menos estaremos cubiertos. Pero cuidadin a ver si no hemos guardado los cambios y se nos reinicia.

Mi_Switch # reload ?
LINE         Reason for reload
 at           Reload at a specific time/date
 cancel       Cancel pending reload
 in           Reload after a time interval
 slot         Slot number card
 standby-cpu  Standby RP
 <cr>

Si queremos comprobar la hora :

Mi_Switch # sh clock
 *20:39:01.773 GMT Sat Feb 4 2012

Vamos ahora a ver los usuarios se encuentran conectados :

Mi_Switch # sh users
Line       User       Host(s)              Idle       Location
 *  1 vty 0                idle                 00:00:00 172.100.10.1

A nivel informativo, podemos poner unos banner de aviso que siempre nos pueden venir bien.

Mi_Switch # banner login
Solo se permite acceder a este equipo a personal autorizado

Si tenemos una infraestructura montada con diferentes dispositivos Cisco, podemos hacer uso del protocolo CDP que nos va a permitir conocer como se relacionan las maquinitas entre si..

Comprobamos que lo tenemos activado:

Mi_Switch # sh cdp
Global CDP information:
 Sending CDP packets every 60 seconds
 Sending a holdtime value of 180 seconds
 Sending CDPv2 advertisements is  enabled

Y ahora le preguntamos por los vecinillos de su alrededor que tiene conectados :

Mi_Switch # sh cdp neighbors
 Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge
 S - Switch, H - Host, I - IGMP, r - Repeater, P - Phone

Device ID        Local Intrfce     Holdtme    Capability  Platform  Port ID
 2960_00
 Gig 1/0/29        156           S I      WS-C2960- Fas 0/48
 2960_00
 Gig 2/0/29        147           S I      WS-C2960- Fas 0/47
 ........

Vemos sobre que interfaces esta corriendo :

Mi_Switch #sh cdp interface
GigabitEthernet1/0/1 is up, line protocol is up
 Encapsulation ARPA
 Sending CDP packets every 60 seconds
 Holdtime is 180 seconds
 GigabitEthernet1/0/2 is up, line protocol is up
 Encapsulation ARPA
 Sending CDP packets every 60 seconds
 Holdtime is 180 seconds
 GigabitEthernet1/0/3 is up, line protocol is up
 Encapsulation ARPA
 Sending CDP packets every 60 seconds
 Holdtime is 180 seconds
 ....................

Y en detalle información de alguno de nuestros vecinos :

Mi_Switch #sh cdp entry C500
-------------------------
Device ID: C500
 Entry address(es):
 IP address: 10.100.10.243
 Platform: cisco WS-CE500-24PC,  Capabilities: Switch IGMP
 Interface: GigabitEthernet2/0/5,  Port ID (outgoing port): GigabitEthernet2
 Holdtime : 158 sec

Version :
 Cisco IOS Software, CE500 Software (CE500-LANBASE-M), Version 1X.X(25)SEG4,
 RELEASE SOFTWARE (fc1)
 Copyright (c) 1986-2007 by Cisco Systems, Inc.
 Compiled Mon 13-Aug-07 17:34 by yenanh
 .............................

Ahora vamos a ver el estado de las interfaces, esas bocas donde conectamos los cablecitos de red, con unas lucecillas que nos van informando de su estado.

Mi_Switch #sh ip interface brief

Interface              IP-Address      OK? Method Status                Protocol
 Vlan1                  unassigned      YES NVRAM  administratively down down
 Vlan20                 10.100.5.254    YES NVRAM  up                    up
 Vlan30                 unassigned      YES manual up                    up
 GigabitEthernet1/0/1   unassigned      YES unset  up                    up
 GigabitEthernet1/0/2   unassigned      YES unset  up                    up
 GigabitEthernet1/0/3   unassigned      YES unset  up                    up
 ........
 GigabitEthernet1/0/17   unassigned      YES unset  up                    up
 .........

Obtenemos contadores de las interfaces :

Mi_Switch # show interfaces counters

Port            InOctets   InUcastPkts   InMcastPkts   InBcastPkts
 Gi1/0/1      16284332242      75167733         33892             0
 Gi1/0/2       4277636363      22038607        356595        119795
 Gi1/0/3       2439260549      12111995       1273524         37134
 Gi1/0/4      29124384600      66011692       1349831        253620

Y comprobamos si tienen algun tipo de error :

Mi_Switch #sh interfaces counters errors

Port        Align-Err    FCS-Err   Xmit-Err    Rcv-Err UnderSize
 Gi1/0/1             0          0          0          0         0
 Gi1/0/2             0          0          0          0         0
 Gi1/0/3             0          0          0          0         0
 Gi1/0/4             0          0          0          0         0

Podemos filtrar la información a una única interface :

#show interfaces gigabitEthernet 1/0/17 counters

Port            InOctets   InUcastPkts   InMcastPkts   InBcastPkts
 Gi1/0/17       284708285        585828       1962163        216197

Port           OutOctets  OutUcastPkts  OutMcastPkts  OutBcastPkts
 Gi1/0/17       184472676        584727         98765        813516

Mi_switch# sh interfaces gigabitEthernet 1/0/17 counters errors

Port        Align-Err    FCS-Err   Xmit-Err    Rcv-Err UnderSize
 Gi1/0/17            0          0          0          0         0

Port      Single-Col Multi-Col  Late-Col Excess-Col Carri-Sen     Runts
 Giants
 Gi1/0/17           0         0         0          0         0         0
 0

Ponemos los contadores a 0 para ver si se siguen reproduciendo los errores.

Mi_Switch #clear counters

Muchas veces va a ser muy interesante conocer la Mac conectada a cada una de las bocas

Mi_Switch #sh mac-address-table

Mac Address Table
 -------------------------------------------

Vlan    Mac Address       Type        Ports
 ----    -----------       --------    -----
 1    001e.14b9.c201    DYNAMIC     Gi1/0/3
 1    001e.14b9.c881    DYNAMIC     Gi1/0/2
 1    001e.14b9.ca02    DYNAMIC     Gi2/0/4
 1    001e.14b9.e282    DYNAMIC     Gi2/0/2
 1    001e.4974.692f    DYNAMIC     Gi2/0/29
 1    001e.4974.6930    DYNAMIC     Gi1/0/29

Igualmente podemos restringirlo la información a una única interface o Vlan (ya las veremos mas tarde) :

Mi_switch# sh mac-address-table interface gigabitEthernet 1/0/17

Mi_switch# show mac address-table dynamic vlan 30
Mac Address Table
 -------------------------------------------

Vlan    Mac Address       Type        Ports
 ----    -----------       --------    -----
 30    0007.e92f.1d63    DYNAMIC     Gi1/0/36
 30    0009.0f09.0c06    DYNAMIC     Gi1/0/31
 30    000c.295d.a9f2    DYNAMIC     Gi2/0/39
 30    000c.7617.aec9    DYNAMIC     Gi1/0/35
 30    0012.793a.25cb    DYNAMIC     Gi1/0/34
 30    0013.211d.4079    DYNAMIC     Gi2/0/35
 30    0019.bb38.bed6    DYNAMIC     Gi2/0/34
 30    001a.4bdc.32fa    DYNAMIC     Gi2/0/33
 Mac Address Table

Total Mac Addresses for this criterion: 8

Ahora vamos a ir entrando más en detalle en alguna de las interfaces para ver información como si esta levantada, MTU, velocidad a la que negocia, tráfico que se mueve, errores…

Si queremos ver que nos dice el fichero de configuración sobre la interface sin tener que ir recorriéndolo de forma completa.

Mi_switch#sh running-config interface gigabitEthernet 1/0/17

Building configuration...

Current configuration : 203 bytes
 !
 interface GigabitEthernet1/0/17
 description Conexion-VLAN10-DMZ
 switchport trunk encapsulation dot1q
 switchport trunk native vlan 38
 switchport trunk allowed vlan 10,38
 switchport mode trunk
 end

Y conocer el estado de una determinada interface :

Mi_switch# sh interfaces gigabitEthernet 1/0/17 status

Port      Name               Status       Vlan       Duplex  Speed Type
 Gi1/0/17  Conexion-VLAN10-DM connected    trunk      a-full  a-100
 10/100/1000BaseTX

Mi_Switch #sh interfaces gi 1/0/17 capabilities

GigabitEthernet1/0/17
 Model:                 WS-C3750G-48TS
 Type:                  10/100/1000BaseTX
 Speed:                 10,100,1000,auto
 Duplex:                half,full,auto
 Trunk encap. type:     802.1Q,ISL
 Trunk mode:            on,off,desirable,nonegotiate
 Channel:               yes
 Broadcast suppression: percentage(0-100)
 Flowcontrol:           rx-(off,on,desired),tx-(none)
 Fast Start:            yes
 QoS scheduling:        rx-(not configurable on per port basis),tx-(4q2t)
 CoS rewrite:           yes
 ToS rewrite:           yes
 UDLD:                  yes
 Inline power:          no
 SPAN:                  source/destination
 PortSecure:            yes
 Dot1x:                 yes

Mi_Switch #sh interfaces gigabitEthernet 1/0/17 switchport
Name: Gi1/0/17
 Switchport: Enabled
 Administrative Mode: trunk
 Operational Mode: trunk
 Administrative Trunking Encapsulation: dot1q
 Operational Trunking Encapsulation: dot1q
 Negotiation of Trunking: On
 Access Mode VLAN: 1 (default)
 Trunking Native Mode VLAN: 35 (Server)
 Administrative Native VLAN tagging: enabled
 Voice VLAN: none
 Administrative private-vlan host-association: none
 Administrative private-vlan mapping: none
 Administrative private-vlan trunk native VLAN: none
 Administrative private-vlan trunk Native VLAN tagging: enabled
 Administrative private-vlan trunk encapsulation: dot1q
 Administrative private-vlan trunk normal VLANs: none
 Administrative private-vlan trunk private VLANs: none
 Operational private-vlan: none
 Trunking VLANs Enabled: 10,35
 Pruning VLANs Enabled: 2-1001
 Capture Mode Disabled
 Capture VLANs Allowed: ALL

Mi_Switch #sh interfaces gigabitEthernet 1/0/17

GigabitEthernet1/0/17 is up, line protocol is up (connected)
 Hardware is Gigabit Ethernet, address is 001d.15ad.b291 (bia 001d.15ad.b291)
 Description: Conexion-VLAN10
 MTU 1500 bytes, BW 100000 Kbit, DLY 100 usec,
 reliability 255/255, txload 1/255, rxload 1/255
 Encapsulation ARPA, loopback not set
 Keepalive set (10 sec)
 Full-duplex, 100Mb/s, media type is 10/100/1000BaseTX
 input flow-control is off, output flow-control is unsupported
 ARP type: ARPA, ARP Timeout 04:00:00
 Last input 00:00:00, output 00:00:03, output hang never
 Last clearing of "show interface" counters 3w0d
 Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 0
 Queueing strategy: fifo
 Output queue: 0/40 (size/max)
 5 minute input rate 1000 bits/sec, 1 packets/sec
 5 minute output rate 1000 bits/sec, 1 packets/sec
 2758473 packets input, 284092943 bytes, 0 no buffer
 Received 2174449 broadcasts (0 multicasts)
 0 runts, 0 giants, 0 throttles
 0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored
 0 watchdog, 1958590 multicast, 0 pause input
 0 input packets with dribble condition detected
 1493558 packets output, 184046439 bytes, 0 underruns
 0 output errors, 0 collisions, 0 interface resets
 0 babbles, 0 late collision, 0 deferred
 0 lost carrier, 0 no carrier, 0 PAUSE output
 0 output buffer failures, 0 output buffers swapped out

Mi_Switch #sh controllers ethernet-controller gigabitEthernet 1/0/17

Transmit GigabitEthernet1/0/17           Receive
 184901883 Bytes                        284244290 Bytes
 587326 Unicast frames                  584175 Unicast frames
 98841 Multicast frames               1959251 Multicast frames
 811732 Broadcast frames                215803 Broadcast frames
 0 Too old frames               110978897 Unicast bytes
 0 Deferred frames              146977335 Multicast bytes
 0 MTU exceeded frames           20946961 Broadcast bytes
 0 1 collision frames                   0 Alignment errors
 0 2 collision frames                   1 FCS errors
 0 3 collision frames                   0 Oversize frames
 0 4 collision frames                   0 Undersize frames
 0 5 collision frames                   0 Collision fragments
 0 6 collision frames
 0 7 collision frames              420565 Minimum size frames
 0 8 collision frames             1968394 65 to 127 byte frames
 0 9 collision frames              145235 128 to 255 byte frames
 0 10 collision frames             224548 256 to 511 byte frames
 0 11 collision frames                248 512 to 1023 byte frames
 0 12 collision frames                240 1024 to 1518 byte frames
 0 13 collision frames                  0 Overrun frames
 0 14 collision frames                  0 Pause frames
 0 15 collision frames
 0 Excessive collisions                 0 Symbol error frames
 0 Late collisions                      0 Invalid frames, too large
 0 VLAN discard frames                  0 Valid frames, too large
 0 Excess defer frames                  0 Invalid frames, too small
 744191 64 byte frames                       0 Valid frames, too small
 433315 127 byte frames
 106126 255 byte frames                      0 Too old frames
 213518 511 byte frames                      0 Valid oversize frames
 570 1023 byte frames                     0 System FCS error frames
 179 1518 byte frames                     0 RxPortFifoFull drop frame
 0 Too large frames
 0 Good (1 coll) frames
 0 Good (>1 coll) frames

Comprobamos si tenemos activado el protocolo Spanning Tree, muy importante e interesante para evitar bucles dentro de nuestra de red, controlando la degradación o incluso en el peor de los casos la caída completa.

Mi_Switch #sh spanning-tree summary

Switch is in rapid-pvst mode
 Root bridge for: VLAN0001, VLAN0020
 Extended system ID           is enabled
 Portfast Default             is disabled
 PortFast BPDU Guard Default  is disabled
 Portfast BPDU Filter Default is disabled
 Loopguard Default            is disabled
 EtherChannel misconfig guard is enabled
 UplinkFast                   is disabled
 Stack port is StackPort1
 BackboneFast                 is disabled
 Configured Pathcost method used is short

Name                   Blocking Listening Learning Forwarding STP Active
 ---------------------- -------- --------- -------- ---------- ----------
 VLAN0001                     0         0        0         12         12
 VLAN0020                     0         0        0         21         21
 ...........................

Aquí debemos detenernos un momentito para conocer un poco sobre lo que son las Vlan. Se trata de un concepto que nos va a permitir separadas las redes de forma lógica dentro de un mismo Switch físico. ¿ Nos acordamos de los dominios de difusión (broadcast) que estuvimos comentando?, pues nos va permitir separarlos con la ventaja que no solo aporta en el trafico que no se genera, sino en que además separamos completamente las redes con las ventajas de control que eso implica.

Cuando definimos interfaces dentro de una Vlan solo van a tener visibilidad entre ellas. Pero aquí aparece el concepto de modo trunk, en el que una interface configurada en este modo va a poder transportar múltiples VLAN. En un puerto definido de este modo, vamos a ser nosotros quienes vamos a poder definir si tiene visibilidad sobre todas las Vlans que tengamos definidas en el Switch, o solo sobre aquellas que nos interese, además de poder indicar con cual está trabajando de forma nativa.

Si tenemos varios Switches conectados entre si, podemos hacer uso del protocolo VTP (VLAN Trunking Protocol) que nos va a permitir gestionar de forma eficaz las Vlans.

Por comentarlo de forma resumida esta parte del VTP, decir que va a poder trabajar en 3 modos diferentes: server, client y transparent.

Vamos a tener que configurarlo sobre un mismo dominio, y siempre tendremos al menos un server que es quien maneja el cotarro. Si realizamos modificaciones sobre las Vlans, estas se distribuyen al resto de los switches que se encuentren dentro del mismo dominio.

Luego tendremos switches con VTP en modo cliente que recogerán de forma automática todos los cambios, y sobre los cuales no se van a poder realizar modificaciones.

Y por último los de modo transparent, en el que no se pueden crear o modificar vlans que afecten al resto de la electrónica pero que si que se prodrán generar Vlans a nivel local.

VTP puede operar sin contraseña con lo que es sencillo hacer la puñeta por lo que es muy recomendable asignarle una.

Vamos a ver ahora si lo tenemos activado

Mi_switch# sh vtp status
VTP Version                     : 2
 Configuration Revision          : 35
 Maximum VLANs supported locally : 1005
 Number of existing VLANs        : 23
 VTP Operating Mode              : Server
 VTP Domain Name                 : Nuestro_Dominio
 VTP Pruning Mode                : Disabled
 VTP V2 Mode                     : Disabled
 VTP Traps Generation            : Disabled
 MD5 digest                      : 0x87 0xD0 0xAF 0x7A 0xC8 0xBA 0x5C 0x69
 Configuration last modified by 10.100.X.2 at 5-12-11 23:47:10
 Local updater ID is 10.100.X.253 on interface Vl10 (lowest numbered VLAN
 interface found)

Si queremos configurar VTP :

Mi_switch#vlan database
 Mi_switch#vtp domain nombre_dominio
 Mi_switch#vtp (client | server | transparent)
 Mi_switch#exit

Otra forma de hacer lo mismo prodría ser :

Mi_switch# vtp ?
domain     Set the name of the VTP administrative domain.
 file       Configure IFS filesystem file where VTP configuration is stored.
 interface  Configure interface as the preferred source for the VTP IP updater
 address.
 mode       Configure VTP device mode
 password   Set the password for the VTP administrative domain
 pruning    Set the adminstrative domain to permit pruning
 version    Set the adminstrative domain to VTP version

Vamos ahora a ver las vlan que tenemos definidas y los puertos definidos sobre cada una de ellas :

Mi_switch# sh vlan

VLAN Name                             Status    Ports
 ---- -------------------------------- --------- -------------------------------
 1    default                          active    Gi1/0/49, Gi1/0/50
 10   Gestion                          active    Gi1/0/14, Gi1/0/21, Gi1/0/41

Entramos en detalle en alguna Vlan :

#sh vlan id 10

VLAN Name                             Status    Ports
 ---- -------------------------------- --------- -------------------------------
 10   Gestion                          active    Gi1/0/2, Gi1/0/3, Gi1/0/4

VLAN Type  SAID       MTU   Parent RingNo BridgeNo Stp  BrdgMode Trans1 Trans2
 ---- ----- ---------- ----- ------ ------ -------- ---- -------- ------ ------
 10   enet  100010     1500  -      -      -        -    -        0      0

Remote SPAN VLAN
 ----------------
 Disabled

Primary Secondary Type              Ports
 ------- --------- ----------------- ------------------------------------------

Si ahora queremos ver todos los puertos definidos en modo trunk :

Mi_Switch#sh interfaces trunk

Port        Mode         Encapsulation  Status        Native vlan
 Gi1/0/2     on           802.1q         trunking      1
 Gi1/0/3     on           802.1q         trunking      1
 Gi1/0/4     on           802.1q         trunking      1
 .................
 Port        Vlans allowed on trunk
 Gi1/0/2     1-4094
 Gi1/0/3     1-4094
 ...................
 Port        Vlans allowed and active in management domain
 Gi1/0/2     1,10,30-33,37-42
 Gi1/0/3     1,10,100-101,104
 ...................

Vemos que para el trunking estamos utilizando el protocolo IEEE 802.1Q conocido tambien como dot1Q.

Vamos a ver la configuración trunk definida en una de las interfaces

Mi_Switch# sh interfaces gigabitEthernet 1/0/17 trunk

Port        Mode         Encapsulation  Status        Native vlan
 Gi1/0/17    on           802.1q         trunking      38

Port        Vlans allowed on trunk
 Gi1/0/17    10,38

Port        Vlans allowed and active in management domain
 Gi1/0/17    10,38

Port        Vlans in spanning tree forwarding state and not pruned
 Gi1/0/17    10,38

Ahora que ya sabemos alguna cosita más sobre las Vlan, vamos a juntarlo todo y jugar un poquito con las interfaces y Vlans.

Vamos a generar una vlan de partida y luego le vamos a asignar una interface o aun rango de ellas.

Lo podemos hacer del modo antiguo que por el mensaje que nos muestra ya vemos que no es muy recomendable.

Mi_Switch#vlan database
% Warning: It is recommended to configure VLAN from config mode,
 as VLAN database mode is being deprecated. Please consult user
 documentation for configuring VTP/VLAN in config mode.

Mi_Switch(vlan)#vlan 2 name gestion
Mi_Switch(vlan)#exit
APPLY completed.
 Exiting....

O en modo configuración que es lo que se recomienda.

Mi_Switch#configure terminal
Mi_Switch(config)#interface vlan 2
Mi_Switch(config)#exit

Podemos utilizar esa vlan como la de gestión y asignarle una dirección para que nos podamos conectar con una session remota.

Configuramos Ip en una vlan :

Mi_Switch#configure terminal
Mi_Switch(config)#interface Vlan10
Mi_Switch(config)#ip address 10.100.5.250 255.255.255.0
Mi_Switch(config)#no ip route-cache
Mi_Switch(config)#exit
Mi_Switch#

Ahora comprobamos lo que hemos hecho :

Mi_Switch#show ip interface brief
Interface              IP-Address     OK? Method Status                Protocol
 .........
 Vlan10                 10.100.5.250   YES NVRAM  up                    up
 ......

O de igual modo :

Mi_Switch#show running-config interface vlan 10

Building configuration...

Current configuration : 89 bytes
 !
 interface Vlan10
 description VLAN Gestion
 ip address 10.100.5.250 255.255.255.0
 end

Si ahora sacamos la lista de las vlan que tenemos generadas:

Mi_Switch#sh vlan

VLAN Name                             Status    Ports
 ---- -------------------------------- --------- -------------------------------
 10   Gestion                          active

Mi_Switch#sh protocols
Global values:
 Internet Protocol routing is enabled
 Vlan10 is up, line protocol is up

Como hemos comentado, vamos ahora a meter una interface o un rango de interfaces dentro de esa vlan.

Mi_Switch#configure t

Seleccionamos una unica interface:

Mi_Switch (config)#interface gigabitEthernet 1/0/1

O un rango de ellas:

Mi_Switch#interface range gigabitEthernet 1/0/1-5

Y para dentro de la Vlan…

Mi_Switch (config-if)#description Gestion
 Mi_Switch (config-if)#switchport access vlan 10
 Mi_Switch (config-if)#switchport mode access

Si volvemos a sacar el detalle de la vlan :

Mi_Switch#sh vlan id 10

VLAN Name                             Status    Ports
 ---- -------------------------------- --------- -------------------------------
 10   Gestion                          active    Gi1/0/1

Vemos que tenemos asociado una interface a esa vlan.

Vamos ahora a definir una interface en modo trunk :

Mi_Switch# configure terminal
 Mi_Switch (config-if)#description Conexion SW_01 (Gi 0/1)
 Mi_Switch (config-if)#switchport trunk encapsulation dot1q
 Mi_Switch (config-if)#switchport mode trunk
 Mi_Switch (config-if)#exit
 Mi_Switch#

Como ya hemos comentado en caso de querer deshacer lo que acabamos de hacer, anteponemos la palabra “no” a la misma configuración.

Mi_Switch# configure terminal
Mi_Switch (config-if)#no description Conexion SW_01 (Gi 0/1)
Mi_Switch (config-if)#no switchport trunk encapsulation dot1q
Mi_Switch (config-if)#no switchport mode trunk
Mi_Switch (config-if)#exit

Mi_Switch#sh interfaces gigabitEthernet 1/0/1 trunk

Port        Mode         Encapsulation  Status        Native vlan
 Gi1/0/1     on           802.1q         trunking      1

Vamos ahora a apagar una de las interfaces:

Mi_Switch# configure terminal
Mi_Switch (config-if)#shutdown

Y para volver a levantarla :

Mi_Switch (config-if)#no shutdown

Ya hemos comentado que las vlan no se van a ver entre si, pero si tenemos un switch que trabaje en capa 3 podemos jugar con esto también. Lo normal es que subamos el trunk a un router o firewall y jugar en ese punto, pero lo podemos hacer en el propio Switch.

Generamos una  regla:

Mi_Switch#configure terminal
Mi_Switch#(config)#access-list 101 deny ip 10.10.1.0 0.0.0.255 172.10.1.0 0.0.0.255
Mi_Switch#(config)#access-list 101 permit ip 172.16.1.0 0.0.0.255 any

Y la aplicamos a la vlan :

Mi_Switch#configure terminal
Mi_Switch (config)#interface vlan 10
Mi_Switch (config-if)#ip access-group 101 in
Mi_Switch (config-if)#exit

Incluso podemos comprobar cuando se han modificado por última vez las vlan comprobando la fecha del siguiente fichero:

Mi_Switch#sh flash

Directory of flash:/

3  -rwx       15726  Jul 12 1993 04:58:18 +02:00  config.text
 4  -rwx        1636  May 13 2010 01:47:10 +02:00  vlan.dat
 ......

Aprovechando que empezamos a saber alguna cosa más, para ver como afecta a la configuración de nuestro Cisco Catalyst la configuración de un team (juntar tarjetas de red).

Podríamos por por ejemplo tener un servidor con 2 tarjetas de red con las que generar un team pero en un modo activo-pasivo con lo que únicamente queramos dotar de redundancia al equipo en caso de caida de una de las tarjetas. En este caso no es necesario realizar ningún tipo de configuración en el Switch, ya que únicamente vamos a tener una tarjeta levantada enviando la MAC.

Pero si además de esa redundancia queremos sumar la capacidad, entonces podemos realizar lo que se conoce como una agregación de puertos (Lynk Agregation) con lo que sumamos la velocidad de cada una de las tarjetas. Al juntar ambas tarjetas, se le asigna una única Mac a ese grupo, de tal forma que si no le decimos nada al switch, a este le llega la misma MAC por 2 bocas diferentes.

Vamos a ver como solucionamos esto.

Primero configuramos el EtherChannel :

Mi_Switch# conf t
 Mi_Switch (config)#interface Port-channel1
 Mi_Switch (config-if)# description Etherchannel Team Servidor1
 Mi_Switch (config-if)# switchport access vlan 12
 Mi_Switch (config-if)# switchport trunk encapsulation dot1q
 Mi_Switch (config-if)# switchport trunk native vlan 12
 Mi_Switch (config-if)# switchport trunk allowed vlan 12
 Mi_Switch (config-if)# switchport mode trunk
 Mi_Switch (config-if)# spanning-tree portfast
 Mi_Switch (config-if)# spanning-tree bpduguard enable
 Mi_Switch (config-if)#end
 Mi_Switch#

Y ahora configuramos las 2 bocas que van a participar en la agregación :

Mi_Switch# conf t
 Mi_Switch (config)#interface GigabitEthernet1/0/1
 Mi_Switch (config-if)# description Servidor tarjeta 1
 Mi_Switch (config-if)# switchport access vlan 12
 Mi_Switch (config-if)# switchport trunk encapsulation dot1q
 Mi_Switch (config-if)# switchport trunk native vlan 12
 Mi_Switch (config-if)# switchport trunk allowed vlan 12
 Mi_Switch (config-if)# switchport mode trunk
 Mi_Switch (config-if)# channel-group 1 mode active
 Mi_Switch (config-if)# end
 Mi_Switch #

Mi_Switch# conf t
 Mi_Switch (config)#interface GigabitEthernet1/0/2
 Mi_Switch (config-if)# description Servidor tarjeta 2
 Mi_Switch (config-if)# switchport access vlan 12
 Mi_Switch (config-if)# switchport trunk encapsulation dot1q
 Mi_Switch (config-if)# switchport trunk native vlan 12
 Mi_Switch (config-if)# switchport trunk allowed vlan 12
 Mi_Switch (config-if)# switchport mode trunk
 Mi_Switch (config-if)# channel-group 1 mode active
 Mi_Switch (config-if)# end
 Mi_Switch #

Podríamos haber forzado las velocidades de los puertos de la siguiente forma:

Mi_Switch (config-if)# speed 1000
Mi_Switch (config-if)# duplex full

Y ahora comprobamos lo que hemos hecho :

Mi_Switch #show etherchannel 1 summary

Flags:  D - down        P - in port-channel
 I - stand-alone s - suspended
 H - Hot-standby (LACP only)
 R - Layer3      S - Layer2
 U - in use      f - failed to allocate aggregator
 u - unsuitable for bundling
 w - waiting to be aggregated
 d - default port

Number of channel-groups in use: 2
 Number of aggregators:           2

Group  Port-channel  Protocol    Ports
 ------+-------------+-----------+-----------------------------------------------
 1      Po2(SU)         LACP      Gi1/0/1(P) Gi2/0/2(P)

Ahora vamos a ver como podemos realizar un poquito de debug y monitorización para mantener nuestros Catalyst lo mas libre de errores posible.

Si estamos conectados a través de una sesion de telnet o ssh, y queremos que nos muestre los mensajes que por defecto salen por consola :

Mi_Switch#term mon

Para desactivarlo :

Mi_Switch#term no mon

Podemos comprobar si tenemos algo de debugging activado :

Mi_Switch#sh debugging

Condition 1: interface Gi1/0/14 (1 flags triggered)
 Flags: Gi1/0/14

Y podemos activarlo si nos interesa comprobar en detalle o dar una solución a un problema :

Mi_Switch#debug ?
aaa                 AAA Authentication, Authorization and Accounting
 adjacency           adjacency
 all                 Enable all debugging
 archive             debug archive commands
 arp                 IP ARP and HP Probe transactions
 auto                Debug Automation
 backup              Switch Backup Interface debugging
 ...........

Si queremos desactivar todos los debug que tengamos aplicados :

Mi_Switch#no debug all

A modo de monitorización puede ser interesante activar el protocolo snmp para poder conectarnos con un sistema de monitorización remota que nos va a reportar determinada información como el estado de las interfaces, consumos…

Lo vamos a activar únicamente como solo lectura.

Mi_Switch#snmp-server community password_aqui RO

También con fines de monitorización es interesante activar el syslog para que reporte determinados eventos a un syslog centrar, y poder así consultar la información de una forma sencilla y centralizada.

Mi_Switch#Logging on
Mi_Switch#logging trap warnings (o loq ue queramos)
Mi_Switch#Logging Facility Local7
Mi_Switch#Logging IP_Syslog_server

Consultamos la configuración:

Mi_Switch#sh logging
Syslog logging: enabled (0 messages dropped, 1 messages rate-limited, 0 flushes,
 0 overruns, xml disabled, filtering disabled)
 Console logging: level debugging, 641452 messages logged, xml disabled,
 filtering disabled
 Monitor logging: level debugging, 175 messages logged, xml disabled,
 filtering disabled
 Logging to: vty1(0)
 Buffer logging: level debugging, 641452 messages logged, xml disabled,
 filtering disabled
 Exception Logging: size (4096 bytes)
 Count and timestamp logging messages: disabled
 File logging: disabled
 Trap logging: level informational, 641462 message lines logged
 Logging to 10.100.1.10, 5305 message lines logged, xml disabled,
 filtering disabled

Log Buffer (64000 bytes):

En caso de querer ver la tabla de rutas :

Mi_Switch#sh ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
 D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
 N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
 E1 - OSPF external type 1, E2 - OSPF external type 2
 i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
 ia - IS-IS inter area, * - candidate default, U - per-user static route
 o - ODR, P - periodic downloaded static route

Gateway of last resort is 10.200.6.254 to network 0.0.0.0

172.39.0.0/24 is subnetted, 2 subnets
 C       172.31.100.0 is directly connected, Vlan100
 C       172.31.104.0 is directly connected, Vlan104
 10.0.0.0/24 is subnetted, 2 subnets
 C       10.200.6.0 is directly connected, Vlan10
 C       10.200.4.0 is directly connected, Vlan33
 S*   0.0.0.0/0 [1/0] via 10.100.5.1 Asignar una ruta por defecto: 

Podemos definir la ruta por defecto :

Mi_Switch#ip default-gateway 172.20.139.129
 

O la tabla ARP :

Mi_Switch#sh arp
Protocol  Address          Age (min)  Hardware Addr   Type   Interface
 Internet  100.30.104.219         11   002e.4562.908f  ARPA   Vlan20
 Internet  100.30.104.223          8   002e.4562.a948  ARPA   Vlan20
 Internet  100.30.104.222          0   002e.4562.7a7e  ARPA   Vlan20
 Internet  100.30.104.221         13   002e.4562.94e6  ARPA   Vlan20 Y para borrar la tabla arp : 
Mi_Switch#clear arp

Ya comente en su dia que en las redes switcheadas “no se podia” colocar alegremente un sniffer. Si tenemos acceso al Switch lo que podemos hacer es port mirroring para mandar una copia de todo lo que pasa por un determinado puerto, un rango o una vlan hacia otro puerto y quedarnos escuchando en el.

Mi_Switch (config)# monitor session 1 source interface Gi1/0/1
 Mi_Switch (config)# monitor session 1 destination interface Gi1/0/24

Mi_Swtich#show monitor detail

Session 1
 ---------
 Type              : Local Session
 Source Ports      :
 RX Only       : Non
 ................

Para comprobar errores en caso de caida del Switch y ver que ha podido pasar, tenemos también la opción :

Mi_Switch# sh stacks

Interrupt level stacks:
Level    Called Unused/Size  Name
 4  2394549592   8332/9000  NETWORK INTERFACE CHIP
 5           0   9000/9000  SUPERVISOR EXCEPTIONS
 6  2759114589   8908/9000  NS16550 VECTOR
 ..............................

Incluso podemos activar un servidor DHCP :

My_Switch(config)#service dhcp
My_Switch(config)#ip dhcp excluded-address 10.100.1.1 10.100.1.10
My_Switch(config)#ip dhcp pool LAN_To
My_Switch(DHCP-config)#network 10.100.1.0 255.255.255.0
My_Switch(DHCP-config)#default-router 10.100.1.1
My_Switch(DHCP-config)#lease 10
My_Switch(DHCP-config)#dns-server 10.100.1.2

Vamos a comentar que relacionado con la seguridad de los puertos podemos hacer uso de port-security, por ejemplo para controlar que equipos se pueden conectar en determinadas bocas.

Mi_Switch(config-if)#switchport port-security ?
aging        Port-security aging commands
 mac-address  Secure mac address
 maximum      Max secure addresses
 violation    Security violation mode
 <cr>

Lo activamos sobre una determinada interface :

Mi_Switch(config-if)#switchport port-security

Ahora solo la MAC conectada se prodra conectar a traves de ese puerto, pero podriamos indicarle nuevas MAC.

Mi_Switch(config-if)#switchport port-security mac-address

Y determinar la acción que se va a realizar en caso de que se produzca una violación

Mi_Switch(config-if)#switchport port-security violation [shutdown restrict protect]

Y por último comprobar si lo tenemos aplicado en algún puerto:

Mi_Switch# sh port-security
Secure Port  MaxSecureAddr  CurrentAddr  SecurityViolation  Security Action
 (Count)       (Count)          (Count)
---------------------------------------------------------------------------
 ---------------------------------------------------------------------------
 Total Addresses in System (excluding one mac per port)     : 0
 Max Addresses limit in System (excluding one mac per port) : 6144

Ahora vamos a ver como podemos activar el acceso a través de ssh que anteriormente hemos comentado.

Si la IOS instalada no soporta cryto para conectarnos por ssh:

Mi_Switch#show ip ssh
^
% Invalid input detected at '^' marker.

Debemos buscar una IOS actualizada que corresponda a nuestros modelo y que la soporte para actualizar nuestro Switch.

Antes de nada debemos comprobar si tenemos 2 Switches en modo stack, ya que debemos actualizar ambos Switches.

Mi_Switch #sh switch
Switch/Stack Mac Address : 001e.14xx.b280
H/W   Current
Switch#  Role   Mac Address     Priority Version  State
----------------------------------------------------------
*1       Master 001e.14xx.b280     15     0       Ready
2       Member 001e.14bb.5f80     1      0       Ready

Y realizar una copia de los ficheros que tenemos actualmente y nos interesan.

Podemos utilizar los siguientes comandos para obtener esa información:

Mi_Switch# sh boot
BOOT path-list      : flash:c3560-ipbase-mz.122-35.SE5/c3560-ipbase-mz.122-35.SE5.bin
Config file         : flash:/config.text
Private Config file : flash:/private-config.text
Enable Break        : no
Manual Boot         : no
HELPER path-list    :
Auto upgrade        : yes
Auto upgrade path   : 

Mi_Switch#show flash

Directory of flash:/

    2  -rwx        1636  Jun 18 1993 04:13:23 +02:00  vlan.dat
    3  -rwx           5  Jul 14 1993 20:16:30 +02:00  private-config.text
    5  drwx         192   Mar 1 1993 01:07:18 +01:00  c3560-ipbase-mz.122-35.SE5
  463  -rwx        7289  Jul 14 1993 20:16:30 +02:00  config.text

32514048 bytes total (23451136 bytes free)

dir flash1:

Como debemos copiar esa información es interesante comprobar las diferentes opciones para poder realizarlo. Es interesante tener instalado un servidor TFTP en nuestro equipo para realizar este proceso:

 Mi_Switch#copy flash:c3560-ipbase-mz.122-35.SE5 ?
  flash:          Copy to flash: file system
  ftp:            Copy to ftp: file system
  http:           Copy to http: file system
  null:           Copy to null: file system
  nvram:          Copy to nvram: file system
  rcp:            Copy to rcp: file system
  running-config  Update (merge with) current system configuration
  startup-config  Copy to startup configuration
  system:         Copy to system: file system
  tftp:           Copy to tftp: file system
  vb:             Copy to vb: file system

Mi_Switch#copy flash:c3560-ipbase-mz.122-35.SE5 tftp
Mi_Switch#copy flash:config.text tftp

Comprobamos la cantidad de memoria flash disponible :

Mi_Switch# sh flash

..32514048 bytes total (23451136 bytes free)

Si tenemos problemas de espacio para cargar la nueva IOS debemos borrar la antigua.

Mi_Switch#delete /r/f flash:c3560-ipbase-mz.122-35.SE5

Copiamos la nueva IOS:

# copy tftp flash1
>Address or name of remote host? 192.168.1.10
>source filename? c3750-ipbasek9-mz-122-55.SE1.bin
>Destination filename? c3750-ipbasek9-mz-122-55.SE1.bin

Si en vez de un archivo bin, trabajamos con un tar entonces lo podemos realizar de la siguiente forma:

Mi_Switch#archive tar /xtract tftp://10.100.1.10/c3560-ixqXXX-tar.XXX-XXEAXXa.tar flash:

Y ahora toca verificar la copia para comprobar que se ha subido correctamente.

Mi_Switch#verify /md5 flash1:c3750-ipbasek9-mz-122-55.SE1.bin

Ahora toca decirle cual es la IOS es con la que tiene que arrancar a nuestro Catalyst.

Mi_Switch#show boot
BOOT path-list : flash:c3750-ipbase-mz.122-35.XXX/c3750-ipbase-mz.122-35.XX5.bin
 Config file : flash:/config.text
 Private Config file : flash:/private-config.text
 Enable Break : no
 Manual Boot : no
 HELPER path-list :
 Auto upgrade : yes
 Auto upgrade path :
 -------------------
 Switch 2
 -------------------
 BOOT path-list : flash:c3750-ipbase-mz.122-35.XXX/c3750-ipbase-mz.122-35.XXX.bin
 Config file : flash:/config.text
 Private Config file : flash:/private-config.text
 Enable Break : no
 Manual Boot : no
 HELPER path-list :

Auto upgrade : no
 Auto upgrade path :

Mi_Switch#boot system switch all flash:c3750-ipbasek9-mz-122-55.SE1.bin

Y por último toca reiniciar, y como siempre en estos casos cruzar los dedos esperando que la suerte nos acompañe.

Mi_Switch#reload

Una vez reiniciado, solo queda comprobar que se ha cargado la versión.

Mi_Switch#sh version

Una vez tenemos instalada la nueva IOS que soporte crypto, podemos proceder a configurar ssh :

Mi_Switch(config)#hostname nombre_host 
Mi_Switch(config)#ip domain-name dominio.com 
Mi_Switch(config)#crypto key generate rsa

The name for the keys will be: nombre_host.dominio.com 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 [2048]: % Generating 2048 bit RSA keys ...[OK]

Mi_Switch(config)#ip ssh time-out 20 
Mi_Switch(config)#ip ssh authentication-retries 3 
Mi_Switch(config)#username root password password

Antes de cerrar la entrada únicamente a SSH, la seguimos permitiendo por telnet  para comprobar que nos podemos conectarAntes de cerrar la entrada únicamente a SSH, la seguimos permitiendo por telnet para comprobar que nos podemos conectar.

Mi_Switch(config)#line vty 0 4
Mi_Switch(config-line)#transport input all
Mi_Switch(config-line)#login local

Y una vez comprobada que la conexion a tarves de ssh nos funciona correctamente, forzamos a que se haga solo a través de un clientes ssh:

Mi_Switch(config)#line vty 0 4
Mi_Switch(config-line)#transport input ssh

Para poder comprobar los parametros :

Mi_Switch#show ip ssh

En caso de querer desconectar a un usuario conectado por ssh :

Mi_Switch#disconnect ssh

Y por último para habilitar ssh en versión 2

Mi_Switch(config)#ip ssh version 2

Si algo sale mal, siempre tenemos la opción de debuggear

Mi_Switch#debug ip ssh

Creo que por hoy va ser suficiente. Espero que no os haya resultado muy pesado.

Sed buenos, y hasta la próxima!!!

Enviar a un amigo: Share this page via Email
Categories: cisco, Switches Cisco Tags:
  1. Yzra
    Jueves, 17 de mayo de 2012 a las 20:52 | #1

    A quien corresponda:

    Necesito escuchar todo el trafico de la red y realizar scaneo de la misma, que herramienta puedo utilizar????

  2. Cesar
    Martes, 22 de mayo de 2012 a las 18:53 | #2

    Gracias por la información que publicaste, es de gran ayuda. Saludos

  3. Viernes, 29 de junio de 2012 a las 19:10 | #3

    Muy buena la información, queria consultarte si hay como realizar en este switche 3560, control de calidad QoS por IP o por subredes.

  4. Martes, 7 de agosto de 2012 a las 23:13 | #4

    @Yzra
    Hola, con snmp podés hacer ese tipo de cosas, sino tenés que usar wireshark, aunque tenés que saber analizar bien el contenido del paquete, sino, no vas a entender. Saludos

  5. oscar
    Viernes, 12 de octubre de 2012 a las 17:01 | #5

    Hola,

    exelente post, aunque algunos comandos no me sirvieron para un catalyst 3560g.

    Una duda, necesito saber sobre configuracion de elan y tlan, alguien me puede ayudar??

    Gracias…

  6. Cesar Suarez
    Sábado, 24 de noviembre de 2012 a las 12:24 | #6

    GRACIAS POR SU AYUDA Y CONTRIBUCION A LOS RECIEN INICIADOS…UNA CONSULTA COMO PODRIA HACER YO PARA CONFIGURAR UN SWITCH CON UNA CONFIGURACION QUE ME ENVIARON LA VERDAD QUE ESTOY INTENTANDO HACERLO Y NO PUEDO. ES SWITCH CISCO Y ME MANDARON UN ARCHIVO CON LA CONFIGURACION ME DICEN QUE PEGUE LA CONFIGURACION DE UNA VEZ QUE ESTE DENTRO DEL SWITCH PERO NO PUEDO HACERLOS, GRACIAS POR SU AYUDA.

    • Martes, 27 de noviembre de 2012 a las 20:24 | #7

      Buenas Cesar. Es un proceso muy sencillo. Unicamente tienes que conectarte al switch a través de telnet, ssh, consola…Una vez dentro entras al modo configuración:
      sw>en
      sw#conf t
      sw(config)#
      y aquí pegas la configuración que te han enviado.
      Saludos.

  7. Lunes, 1 de abril de 2013 a las 13:20 | #8

    La verdad que tengo que agradacerte por la informacion.. entiendo que no es facil armar este tipo de cosas y la verdad que son de mucha ayuda.. Solo queria agradecerte por la molestia de subir estos datos a la WEB.. Muchas Gracias!

  8. Lunes, 8 de abril de 2013 a las 23:58 | #9

    como configuro la clase de QoS de un swich Cisco 2960 ya que estos solo traen enable o disable pero tengo entendido qur tienen alguna clase de servicio como difsen o Precedance y los valores de video y audio

  9. Mauro
    Domingo, 28 de abril de 2013 a las 02:17 | #10

    Buenas tardes mi duda es que intente hacer un pass recovery pero llegue en un punto donde cuando pongo el flash no me aparece el archivo config.txt, y ya configure el Switch el problema es que cuando lo apago de la corriente, inicia otra vez desde 0, me pueden ayudar porfavor

  10. Angel A
    Miércoles, 2 de octubre de 2013 a las 18:27 | #11

    Hola excelente foro, tengo un problema con 2 switch Catalyst 2960, llega momentos en el dia que un usuario reporta que no puede accesar a una aplicacion compartida, lo instento visualisar a nivel ping y efectivamente no puedo verlo, no marca cable de red desconectado. Le pido que cierre sesion de windows ( Win + L) que inicie sesion de Windows y ya de este modo lo puedo visualizar por ping y el ya puede entrar a la aplicacion compartida. Me pudieran apoyar por donde reviar—- los swicth estan en diferentes ubicaciones en la WAN

  11. Viernes, 6 de junio de 2014 a las 20:16 | #12

    Buen día Igor, excelente tutorial, me ayudó a comprender varios aspectos, pero quisiera saber mas a cerca de la configuración de VLANs, una consulta, ¿cuando se configure el ruteo de VLANs debería haber ping de respuesta entre ellas cierto? necesito que 5 VLANs esten configuradas en un puerto, porque en ese puerto estará un servidor para monitorear todas las VLANs, tengo el Switch Cisco 2960 version 12.2 gracias por la respuesta.

  1. Sin trackbacks aún.
*