Como configurar un Switch Cisco Catalyst a través de sus comandos
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, F5, Juniper., 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!!!
A quien corresponda:
Necesito escuchar todo el trafico de la red y realizar scaneo de la misma, que herramienta puedo utilizar????
Gracias por la información que publicaste, es de gran ayuda. Saludos
Muy buena la información, queria consultarte si hay como realizar en este switche 3560, control de calidad QoS por IP o por subredes.
@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
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…
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.
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.
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!
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
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
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
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.
@Yzra
Necesitas configurar un puerto espejo y adicional poner un sniffer como el wireshark
Hola muy buena información, me gustaría que me ayude con los pasos para cambiar el buteo en un catalyst 2960, me arroja un mensaje de Error al iniciar el sw, este es el mensaje que me arroja, Error loading «flash:/c2960-lanbasek9-mz.150-2.SE9/c2960-lanbasek9-mz.150-2.SE9»
Me parece que me pide una ruta de acceso de buteo, espero que me ayude con los pasos a seguir y los comandos a ocupar gracias.
Saludos.
Hola Igor
Buen día, mi nombre es Hilda Arteaga y soy coordinadora de la Comunidad de Soporte de Cisco en español.
Un espacio para entusiastas de la tecnología que desean compartir o incrementar su conocimiento, experiencia y expertise acerca de las tecnologías de Cisco. Los usuarios de la comunidad pueden encontrar respuestas a sus dudas de las tecnologías de Cisco así como resolver dudas de otros usuarios también, además también pueden subir o ver documentos, videos y blogs relacionados. Además, la comunidad puede ayudar a los usuarios a impulsar su carrera y reconocimiento en la industria mediante su programa de Participantes destacados.
La razón por la que te contacto es porque hemos visto que cuentas con buen conocimiento de las tecnologías de Cisco y nos gustaría invitarte a participar con nosotros en diversos proyectos.
Por otra parte nos gustaría invitarte a un “Concurso de Contenido técnico” que tendrá lugar hasta el 30 de Septiembre del 2016. Vemos que documentos como este y otros pueden ser ganadores sin duda alguna. Te dejamos más detalles: http://cs.co/9001BC767
Cualquier cosa, estamos en contacto.
Hola Igor, tengo 2 switches en produccion, un 2960 y un nuevo 3750 que los quiero conectar haciendo un trunk entre 2 puertos de fibra de cada uno de ellos con sus correspondientes GBICs. ¿puedes darme alguna pista de como hacerlo en ambos modelos sin que caiga la red? Muchas gracias de antemano.
Excelente información, muy claro para iniciarse.
Se agradece total.
RSG