alvaro.gonzalezsotillo@educa.madrid.org

Comandos IOS

Álvaro González Sotillo

Created: 2024-09-08 dom 17:53

1. General

  • CTRL-ALT-6 para parar un comando incorrecto
  • ? para conseguir siguientes comandos
  • TAB para autocompletar
  • Un comando con no deshace el comando

1.1. Introducción de comandos

Tabulación Completa una entrada de nombre de comando parcial.
Retroceso Borra el carácter a la izquierda del cursor.
Ctrl-D Borra el carácter donde está el cursor.
Ctrl-K Borra todos los caracteres desde el cursor hasta el final de la línea de comandos.
Esc D Borra todos los caracteres desde el cursor hasta el final de la palabra.
Ctrl-U o Ctrl-X Borra todos los caracteres desde el cursor hasta el comienzo de la línea de comandos.
Ctrl-W Borra la palabra a la izquierda del cursor.
Ctrl-A Desplaza el cursor hacia el principio de la línea.
Flecha izquierda o Ctrl-B Desplaza el cursor un carácter hacia la izquierda.
Esc B Desplaza el cursor una palabra hacia la izquierda.
Esc F Desplaza el cursor una palabra hacia la derecha.
Flecha derecha o Ctrl-F Desplaza el cursor un carácter hacia la derecha.
Ctrl-E Desplaza el cursor hasta el final de la línea de comandos.
Flecha arriba o Ctrl-P Vuelve a introducir el comando que se encuentra en el búfer del historial, a partir de los comandos más recientes.
Ctrl-R, Ctrl-I o Ctrl-L Vuelve a mostrar la petición de entrada del sistema y la línea de comando después de que se recibe un mensaje de la consola.

1.2. Listados largos (--more--)

Tecla Entrar Muestra la siguiente línea.
Barra espaciadora Muestra la siguiente pantalla.
Cualquier tecla Termina la cadena que se muestra y vuelve al modo EXEC con privilegios.

1.3. Interrupción de comandos

Ctrl-C Cuando está en cualquier modo de configuración, termina el modo de configuración y regresa al modo EXEC con privilegios. Cuando está en modo de configuración, interrumpe y regresa al símbolo del sistema.
Ctrl-Z Cuando está en cualquier modo de configuración, termina el modo de configuración y regresa al modo EXEC con privilegios.
Ctrl-Shift-6 Secuencia de pausa multiuso. Se la utiliza para interrumpir búsquedas DNS, traceroutes, pings.
Ctrl-6 Secuencia de pausa multiuso. Se la utiliza para interrumpir búsquedas DNS, traceroutes, pings.

1.4. Modos

  • Press RETURN to get started.
    • Desactivado
  • Router>
    • show para mostrar información
    • enable para configurar (privileged commands)
  • Router#
    • Resto de comandos
    • configure terminal para cambiar la configuración
  • Router(config)#
    • Raíz de la configuración

Nota: Se puede usar do para ejecutar un comando de enabled en el modo de configuración.

1.5. Para activar la configuración

Router> enable
Router# configure terminal
Router(config)#

1.6. Salvar la configuración

Router# write memory
Router# copy running-config startup-config

2. Direcciones IP

2.1. Asignar IP

Router(config)# interface fa0/0
Router(config-if)# ip address 192.168.6.1 255.255.255.0
Router(config-if)# no shutdown
Router(config-if)# exit
Router(config)#

2.2. Consultar IP

Router> show ip interface
Router> show ip interface brief

3. Enrutamiento

3.1. Añadir ruta

Router(config)# ip route 172.16.0.0 255.255.255.0 192.168.6.254

También se puede usar una interfaz de red en vez de un gateway. Esto es útil en interfaces serie (donde solo hay un destino posible)

Router(config)# ip route 172.16.0.0 255.255.255.0 s0/0/1

3.2. Borrar ruta

Router(config)# no ip route 172.16.0.0 255.255.255.0 192.168.6.254

3.3. Consultar rutas

Router> show ip route

3.4. Desactivar ARP proxy

Router(config)#interface FastEthernet0/1
Router(config-if)#no ip proxy-arp

4. VLAN

4.1. Consultar VLANs

Switch> show vlan brief
Switch> show interfaces trunk
Switch> show interfaces f0/1 switchport

4.2. Crear una VLAN

Switch(config)#vlan 2
Switch(config-vlan)#name nombredevlan
Switch(config-vlan)#exit

4.3. Asignar un puerto a una VLAN (access)

Switch(config)#interface FastEthernet0/1
Switch(config-if)#switchport access vlan 2

4.4. Asignar un puerto como trunk

Switch(config)#interface FastEthernet0/1
Switch(config-if)#switchport mode trunk
Switch(config-if)#switchport trunk native vlan 99
Switch(config-if)#switchport trunk allowed vlan 1,2,5

El puerto del otro switch cambiará automáticamente, a no ser que esté configurado como switchport nonegotiate

%SPANTREE-2-RECV_PVID_ERR: Received 802.1Q BPDU on non trunk FastEthernet0/1 VLAN1.

%SPANTREE-2-BLOCK_PVID_LOCAL: Blocking FastEthernet0/1 on VLAN0001. Inconsistent port type

4.5. Permitir/denegar una VLAN en un puerto trunk

Switch(config)#interface FastEthernet0/1
Switch(config-if)#switchport trunk allowed vlan remove 2
Switch(config-if)#switchport trunk allowed vlan add 2

4.6. Routers

  • Los routers pueden tener interfaces virtuales, a las que llegan las tramas 802.1q de cierta VLAN.
  • Estas interfaces se configuran como las demás, y se añaden a la tabla de rutas de la misma forma
Router(config)# interface fa0/0.1
Router(config-subif)# encap dot1q 2
Router(config-subif)# ip address 192.168.6.1 255.255.255.0
Router(config-subif)# exit
Router(config)# interface fa0/0
Router(config-if)# no shutdown
Router(config-if)# exit
Router# show interfaces

5. STP

Consultar y poner la prioridad de un switch

Switch# show spanning-tree 
Switch(config)# spanning-tree vlan 1 priority 1

6. Link agregation

Se añaden a un mismo channel-group todos los enlaces conectados al mismo switch.

Switch(config)# interface fa0/1
Switch(config-if)# channel-group 1 mode active

Switch# show etherchannel summary

7. RIP

Habilitar RIP para dos redes conectadas directamente

Router(config)#router rip
Router(config-router)#network 192.168.1.0 
Router(config-router)#network 200.200.1.0

Comprobar la configuración RIP

Router# show ip protocols
Router# show ip rip database

Habilitar versión 2

Router(config)#router rip
Router(config-router)# version 2

Interfaz pasiva, en la que no hay otros routers y por tanto no se envia información de routing

Router(config)#router rip
Router(config-router)# passive-interface g0/0

8. ACL

Consultar ACLs definidas

Router# show ip access-list

Asociar una ACL a una interfaz

Router(config)# interface fa0/1
Router(config-if)# ip access-group <numero ACL> <out o in>

Desasociar una ACL de una interfaz

Router(config)# interface fa0/1
Router(config-if)# no ip access-group <numero ACL> <out o in>

8.1. ACL estándar

Crear una ACL o añadir una regla

Router(config)# access-list <numero> <permit o deny>  <host|source source-wildcard|any>

Borrar una ACLs

Router(config)# no access-list <numero> 

8.2. ACL extendidas

Protocolo IP (hay más opciones, no explicadas aquí)

Router(config)# access-list <numero> <permit o deny> ip
   <host|source source-wildcard|any>
   <host|destination destination-wildcard|any>

Protocolo ICMP

Router(config)# access-list <numero> <permit o deny> icmp
   <host|source source-wildcard|any>
   <host|destination destination-wildcard|any>

8.3. ACL extendidas TCP y UDP

Protocolo TCP

Router(config)# access-list <numero> <permit o deny> TCP
   <host|source source-wildcard|any> [puerto]
   <host|destination destination-wildcard|any> [puerto]
   [established]

Protocolo UDP

Router(config)# access-list <numero> <permit o deny> UDP
   <host|source source-wildcard|any> [puerto]
   <host|destination destination-wildcard|any> [puerto]
Operador de puerto Significa
eq = igual
lt < Menor
ne No igual
gt > Mayor

8.4. ACL con nombre

Router(config)# ip access-list standard NOMBRE

9. NAT

Información del estado de NAT

Router# show running-config
Router# show ip nat translations
Router# show ip nat statistics 

Borrar todas las entradas de NAT dinámico

no ip nat source static

Borrar todas las entradas de NAT estático

no ip nat source static

9.1. PAT

  • Defina el grupo de direcciones globales que se debe usar para la traducción de sobrecarga.
    • ip nat pool <name> <start-ip> <end-ip> {netmask <netmask> | prefix-length <prefix-length>}
  • Defina una lista de acceso estándar que permita las direcciones que se deben traducir.
    • access-list <access-list-number> permit <source> [source-wildcard]
  • Especifique la lista de acceso y el grupo que se definieron en los pasos anteriores para establecer la traducción de sobrecarga.
    • ip nat inside source list <access-list-number> pool <name> overload
  • Identificar la interfaz interna.
    • interface <tipo-número>
    • ip nat inside
  • Identificar la interfaz externa.
    • interface <tipo-número>
    • ip nat outside

9.2. NAT dinámica

  • Defina el conjunto de direcciones globales que se debe usar para la traducción.
    • ip nat pool <name> <start-ip> <end-ip> {netmask <netmask> | prefix-length <prefix-length>}
  • Configure una lista de acceso estándar que permita las direcciones que se deben traducir.
    • access-list <access-list-number> permit <source> [source-wildcard]
  • Especifique la lista de acceso y el grupo que se definieron en los pasos anteriores para establecer la traducción dinámica de origen.
    • ip nat inside source list <access-list-number> pool <name>
  • Identifique la interfaz interna.
    • interface <type-number>
    • ip nat inside
  • Identifique la interfaz externa.
    • interface <type-number>
    • ip nat outside

9.3. NAT estática

  • Se establece la traducción estática entre una dirección local interna y una dirección global interna.
    • Router(config)# ip nat inside source static <local-ip> <global-ip>
    • Introduzca el comando no ip nat inside source static del modo de configuración global para eliminar la traducción dinámica de origen.
  • Especificar la interfaz interna.
    • Router(config)# interface <type-number>
  • Marque la interfaz como conectada al interior.
    • Router(config-if)# ip nat inside
  • Salga del modo de configuración de interfaz.
    • Router(config-if)# exit
  • Especificar la interfaz externa.
    • Router(config)# interface <type-number>
  • Marque la interfaz como conectada al exterior.
    • Router(config-if)# ip nat outside

9.4. Generales

show ip nat translations
debug ip nat

10. Referencias