Libro cisco ios
-
Upload
gabriel-andres-riquelme-perez -
Category
Data & Analytics
-
view
270 -
download
3
Transcript of Libro cisco ios
CCNA
“COMANDOS CISCO IOS”
CONFIGURACIÓN DE UN ROUTER CISCOIngresar al modo de configuraciónglobal
configure terminalEjemplo:Router>enableRouter#configure terminalRouter(config)#
Especificar el nombre del dispositivoCisco
hostname nombreEjemplo:Router(config)#hostname Router 1
Especificar una contraseña encriptada para evitar el ingreso no autorizado al modo EXEC privilegiado
enable secret contraseñaEjemplo:Router(config)#enable secret cisco
Especificar una contraseña para evitar el acceso no autorizado a la consola
password contraseñaloginEjemplo:Router(config)#line console 0Router(config-line)#password classRouter(config-line)#login
Especificar una contraseña para evitar el acceso no autorizado por Telnet
password contraseñaloginEjemplo: Router(config)# line vty 0 4Router(config-line)# password classRouter(config-line)#loginRouter(config)#
Configurar el banner MOTD banner motdEjemplo:Router(config)#banner motd #Prohibido…#Router(config)#
Configurar interfaz de Router.La interfaz está APAGADA de manera predeterminada
Ejemplo 1:Interfaz Ethernet
Ejemplo 2: Interfaz Serie DCE
Ejemplo 1:Router(config)#interface Fa0/0Router(config-if)#description descripciónRouter(config-if)#ip address address maskRouter(config-if)#no shutdownRouter(config-if)#Ejemplo 2:Router(config)#interface serial 0/0/0Router(config-if)#description descripciónRouter(config-if)#ip address address maskRouter(config-if)#clock rate 1200 o (2400, 9600, 19200, 38400, 56000, 64000, 72000, 125000, 148000, 500000, 800000, 1000000, 1300000, 2000000, 4000000)Router(config-if)#no shutdown
Configurar una interfaz de loopback
Router(config)#interface loopback númeroRouter(config-if)#ip address dirección-ip máscara-subredEjemplo:Router(config)#interface loopback 0Router(config-if)#ip address 10.1.1.1 255.255.255.255
Guardar la configuración en la NVRAM Router# copy running-config startup-configMostrar la configuración en ejecución (la configuración actual almacenada en la RAM)
Router#show running-config
Mostrar el archivo de configuración de inicio almacenado en la NVRAM
Router#show startup-config
Mostrar la tabla de enrutamiento que el IOS está usando
Router#show ip route
Mostar información detallada sobre una determinada rutaEjemplo: para ver info de la ruta 172.16.3.0
Router#show ip route 172.16.3.0
Mostar los parámetros y estadísticas de la configuración de las interfaces
Router#show interfaces
Mostrar el estado de la interfaz FastEthernet 0/0
Router#show interfaces fastethernet 0/0
Mostrar el estado de la interfaz serie 0/0/0
Router#show interfaces serial 0/0/0
Mostrar info abreviada de la configuración de las interfaces
Router#show ip interface brief
Mostar toda la info pertinente acerca del funcionamiento de los protocolos de enrutamiento en el router
Router#show ip protocols
Mostar todas las rutas RIP aprendidas, se hayan instalado o no en la tabla deenrutamiento
Router#show ip rip database
Determinar qué parte del cable (DCE o DTE) está conectada a la interfaz serie.
Router#show controllers serial 0/0/0
Mostrar parámetros de los paquetes para el descubrimiento de dispositivos Cisco directamente conetados (vecinos)
Router#show cdp
Mostrar info sobre el CDP para todas las interfaces del router
Router#show cdp interfaces
Mostrar info sobre el CDP para una interfaz concreta
Router#show cdp interface interfaz (fa0/0, s0/0/0)
Mostrar los vecinos CDP Router#show cdp neighborsMostrar info detallada de los vecinos CDP (p. Ej. Dirección IP)
Router# show cdp neighbors detail oRouter#show cdp entry *
Mostrar info detallada de un vecino CDP en concreto
Router#show cdp entry ID (R2, S3,…)
Deshabilitar el CDP del router Router(config)#no cdp runHabilitar el CDP del Router Router(config)#cdp runDeshabilitar el CDP de una interfaz Router(config-if)#no cdp enableHabilitar el CDP de una interfaz Router(config-if)#cdp enableMantener los mensajes no solicitados del IOS, separados de los comandos
Router(config)#line console 0Router(config-line)#logging synchronous
Mostar información continua en tiempo real
Router#debug *
Activar la visualización de los cambios que el router efectúa en la tabla de enrutamiento
Router#debug ip routing
Desactivar la visualización de los cambios que el router efectúa en la tabla de enrutamiento
Router#undebug ip routingoRouter#undebug all
Eliminar una red directamente conectada viendo cómo el router actualiza la tabla de enrutamiento
Ejemplo 1: Desactivación de la interface+Ejemplo 2: Borrado de la configuración
Ejemplo 1:Router#debug ip routingRouter#conf tRouter(config)# int fa0/0Router(config-if)#shutdown
Ejemplo 2:Router(config-if)#no ip addressRouter(config-if)#endRouter#undebug all
Establecer una ruta estática Router(config)#ip route network address subnet mask {ip-address/exit-interface}Siendo:network address: dirección de la red remota que será agregada a la tabla de enrutamiento.subnet-mask: máscara de subred de la red remota que será agregada a la tabla de enrutamiento. Puede ser modificada para resumir un grupo de redes.ip-address: dirección IP del router de siguiente salto.exit-interface: interfaz de salida para enviar paquetes a la red de destino.
Ejemplo 1: establecer una ruta estática con dirección de siguiente salto.
Router(config)#ip route 192.168.2.0 255.255.255.0 172.16.2.2
Ejemplo 2: establecer una ruta estática con una interfaz de salida punto a punto serie.
Router(config)#ip route 192.168.2.0 255.255.255.0 serial 0/0/0
Ejemplo 3: establecer una ruta estática predeterminada (router interno)
Router(config)#ip route 192.168.2.0 255.255.255.0 serial 0/0/0
Modificar una ruta estáticaPasos:1.- Eliminarla de la tabla2.- Reintroducirla3.- Comprobarla configuración de ruta estática4.Comprobar la tabla de enrutamiento5. Comprobar la conectividad extremo a extremo
Router(config)#no ip route network address subnet mask {ip-address/exit-interface}
Router(config)#ip route network address subnet mask {ip-address/exit-interface}
Ejemplo:Router(config)# no ip route 192.168.2.0 255.255.255.0 172.16.2.2Router(config)#ip route 192.168.2.0 255.255.255.0 serial 0/0/0Router(config)#show running configRouter(config)#show ip routeRouter(config)#endRouter# ping 192.168.2.0
Establecer una ruta estática con interfaz de salida Ethernet.
Router(config)#ip route 192.168.2.0 255.255.255.0 fa0/1 172.16.2.2
Habilitar un protocolo de enrutamiento Router(config)#router protocoloRouter(config-router)#
Ejemplo 1: ver los protocolos disponibles Router(config)#router ?Ejemplo 2: habilitar RIP Router(config)#router ripDeshabilitar un protocolo de enrutamiento
Router(config-router)#no router protocolo
Habilitar el enrutamiento RIP para una red (cuáles son las redes directamente conectadas que debe publicar)
network dirección de red CON CLASEEjemplo:Router(config)#router ripRouter(config-router)#network 192.168.1.0Router(config-router)#network 192.168.2.0
Mostrar las actualizaciones de enrutamiento RIP.Es importante una vez verificada la configuración, desactivar el comando debug
Router# degub ip rip……Router#undebug all
Evitar la txón de actualizaciones de enrutamiento a través de una interfaz del router (pero manteniendo la posibilidad de que la red conectada a esa interfaz pueda ser notificada a otros routers
Router(config-router)#passive-interface tipo-interfaz número-interfaz
Simular una ruta estática mediante INTERFAZ NULA
Router(config)#ip route red máscara null0
Redistribuir rutas estáticas (Tomar las rutas de un origen de enrutamiento y enviarlas a otro origen)
Router(config-router)#redistribute static
Activar el protocolo RIPv2 Router(config)#router ripRouter(config-router)#version 2
Volver a RIPv1 Router(config)#router ripRouter(config-router)#version 1oRouter(config)#router ripRouter(config-router)#no version
Forzar la compatibilidad entre diferentes versiones de RIP
Router(config)#ip rip sendoRouter(config)#ip rip receive
Desactivar el resumen de ruta automático (en RIPv2, EIGRP)
Router(config-router)#no auto-summary
Propagar una ruta por defecto a todos los routers dentro de un área OSPF
Router(config-router)# default-information originate
Establecer el comportamiento de enrutamiento CON CLASE en el proceso de búsqueda en la tabla de enrutamiento
Router(config)#no ip classless
Restablecer el comportamiento de enrutamiento SIN CLASE en el proceso de búsqueda en la tabla de enrutamiento
Router(config)#ip classsless
Habilitar EIGRP
Sistema autónomo: Nº del 1 al 65535 que en realidad es el ID del proceso (todos los routers dentro de este dominio de enrutamiento EIGRP deben tener el mismo)
Router(config)#router eigrp sistema autónomo
Habilitar EIGRP para una red Router(config)#router eigrp 1Router(config-router)#network dirección de red CON CLASE
Habilitar EIGRP para subredes específicasMáscara wildcard:255.255.255.255 – máscara de subred
Router(config-router)#network dirección-red máscara wildcard
Mostar la tabla de vecinos EIGRP Router#show ip eigrp neighborsCambiar los valores predeterminados de K (K1=K3=1; K2=K4=K5=0)
Router(config)#router eigrp 1Router(config-router)#metric weight tos K1 K2 K3 K4 K5
Modificar la métrica del ancho de banda de una interfaz (EIGRP, OSPF)
Router(config-if)#bandwidth kilobits
Restablecer la métrica del ancho de banda de una interfaz
Router(config-if)#no bandwidth
Mostrar la base de datos de topología EIGRP: sucesor, FD, FSs con sus RDs
Router#show ip eigrp topology
Mostrar la base de datos de topología EIGRP: sucesor, FD, FSs con sus RDs, para una red específica
Router#show ip eigrp topology red
Ejemplo: Router#show ip eigrp topology 192.168.1.0Mostrar todas las rutas a una red incluyendo los sucesores, los FSs y aquellas rutas que no son FSs
Router#show ip eigrp topology all-links
Establecer el resumen manual EIGRP en una interfaz
R1(config-if)#ip summary-address eigrp nº-sa dirección-red máscara-subred
Ejemplo: Resumen de ruta de 192.168.1.0/24, 192.168.2.0/24 y 192.168.3.0/24 en serial 0/0/0
R1(config)#int s0R1(config-if)#ip summary-address eigrp 1 192.168.0.0 255.255.252.0
Configurar el porcentaje de ancho de banda que EIGRP puede usar en una interfaz
Router(config-if)#ip bandwidth-percent eigrp nº-sa porcentaje
Ejemplo: el 50% del BW de serial 0/0/0 Router(config)#int s0Router(config-if)#ip bandwidth-percent eigrp 1 50
Configurar un intervalo “hello” diferente al predeterminado
SI SE CAMBIA EL INTERVALO HELLO, HAY QUE CAMBIAR TAMBIÉN EL INTERVALO DE ESPERA A UN VALOR IGUAL O MAYOR
Router(config-if)#ip hello-interval eigrp nº-sa segundos
Siendo nº-sa: número de sist. autónomo (ID de proceso) Segundos: entre 1 y 65535
Configurar un intervalo de espera diferente al predeterminado
Router(config-if)#ip hold-interval eigrp nº-sa segundos
Restablecer el intervalo “hello” al predeterminado
Router(config-if)#no ip hello-interval eigrp nº-sa segundos
Restablecer el intervalo de espera al predeterminado
Router(config-if)#no ip hold-interval eigrp nº-sa segundos
Habilitar OSPF Router(config)#router ospf id-procesoEjemplo:Router(config)#router ospf 1Router(config-router)#
Especificar la interfaz o rango de interfaces que se habilitarán para OSPF
Router(config-router)#network dirección-red máscara wildcard area id-área
Ejemplo topología pág 556:R1(config)#router ospf 1R1(config-router)#network 172.16.1.16 0.0.0.0.15 area 0R1(config-router)#network 192.168.10.0 0.0.0.3 area 0R1(config-router)#network 192.168.10.4 0.0.0.3 area 0
Comprobar el ID y otros parámetros del router OSPF
Router#show ip ospfoRouter#show ip ospf interfaceoRouter#show ip protocols
Modificar el ID de un Router Router(config)#router ospf id-procesoRouter(config-router)#router id dirección ip+Recarga del router
Mostrar las relaciones de vecindad OSPF
Router#show ip ospf neighbor
Modificar la métrica del ancho de banda de una interfaz (EIGRP, OSPF)
Router(config-if)#bandwidth kilobits
Especificar directamente el coste de una interfaz
Router(config)#interface interfazRouter(config-if)#ip ospf cost coste=10^8/BW real
Cambiar la prioridad de una interfaz OSPF para decidir qué routers se convierten en DR y BDR
Router(config-if)#ip ospf priority {0-255}Ejemplo:Router(config)#int fa0Router(config-if)#ip ospf priority 200+Reiniciar las interfaces con shutdown + no shutdown
Modificar el Ancho de Banda de referencia OSPF
Router(config-router)#auto-cost referente-bandwidth mbpsEjemplo para 10GigE:Router(config-router)#auto-cost referente-bandwidth 10000
Modificar el intervalo Hello en una interfaz
Router(config-if)#ip ospf hello-interval segundos
Modificar el intervalo de caducidad OSPF en una interfaz
Router(config-if)#ip ospf dead-interval segundos
Desactivar la búsqueda DNS Router(config)#no ip domain-lookupConfigurar la encapsulación HDLC(es la predeterminada)
R(config)#int s0/0/0R(config-if)#encapsulation hdlc
Resolución de problemas en las interfaces serie
R#show interfaces serialR#show interface serial id-interfazR#show controllers
PPPConfigurar la encapsulación PPP(primero se ha de configurar el routercon un protocolo de enrutamiento IP)
R(config-if)#encapsulation ppp
Configurar la compresión softwarepunto a punto
R(config-if)#encapsulation pppR(config-if)#compress [predictor / stac]
Activación de LQM (monitorización dela calidad del enlace). Si el porcentajede calidad no se mantiene, el enlacese cierra
R(config-if)#encapsulation pppR(config-if)#ppp quality porcentaje
porcentaje: nº del 1 al 100
Desactivación de LQM R(config-if)#no ppp qualityHabilitar el multienlace PPP R(config-if)#encapsulation ppp
R(config-if)#ppp multilinkDeshabilitar el multienlace PPP R(config-if)#no ppp multilinkComandos para la verificación PPP R#show interfaces serial
R#show interfacesR#debug pppR#undebug all
Resolución de problemas relacionadoscon la encapsulación PPP
R#debug ppp {packet / negotiation / error / authentication / compression / cbcp}
Configurar la autenticación PPP R(config-if)#ppp authentication {chap / chap pap / pap chap / pap}
Desactivar la autenticación R(config-if)#no ppp authenticationEjemplo práctico de configuraciónde autenticación
R1(config)#username R2 password cisco123 R1(config)#interface s0/0/0 R1(config-if)#encapsulation ppp R1(config-if)#ppp authentication {pap / chap}
R2(config)#username R1 password cisco123 R2(config)#interface s0/0/0 R2(config-if)#encapsulation ppp R1(config-if)#ppp authentication {pap / chap}
FRAME RELAYActivar la encapsulación Frame Relay R(config)# int serial 0/0/0
R(config-if)#ip address dirección-red máscara-subredR(config-if)#encapsulation frame-relay
Mostrar los parámetros de configuraciónde Frame Relay en el Router
R#show frame-relay map
Configuración de una asignación estática.
Ejemplo:Asignación de direcciónestática en la interfaz S0/0/0 de R1 conencapsulación Cisco en el DLCI 102(figura 3.17, pág 163 CCNA4)
R(config)#frame-relay map protocolo dirección-de- destino dlci broadcast {ietf/cisco}
R1(config)#int s0R1(config-if)#ip address 10.1.1.1 255.255.255.0R1(config-if)#encapsulation frame-relayR1(config-if)#no frame-relay inverse-arpR1(config-if)#frame-relay map ip 10.1.1.2 102 broadcast ciscoR1(config-if)#no shutdown
Establecer el tipo de LMI R(config-if)#frame-relay lmi-type {cisco/ansi/q933a}Modificar el intervalo de Keepalive R(config-if)#keepalive intervaloCreación de una subinterfaz FrameRelay1.Eliminar cualquier dirección de red dela interfaz física2. Configurar la encapsulación frame relay3.Crear la subinterfaz lógicanº.nº-subinterfaz (recomendable que nº-subinterfaz=DLCI)4. Asignar dirección IP a la subinterfaz5. Configurar el DLCI local en la subinterfaz
R(config)#int s0/0/0R(config-if)#no ip addressR(config-if)#encapsulation frame-relayR(config-if)#no shutdownR(config-if)#exitR(config)#int s0/0/0.102 point to pointR(config-subif)#ip address 10.1.1.1 255.255.255.252R(config-subif)#bandwidth 64 (opcional)R(config-subif)#frame-relay interface-dlci 102
Verificación de Frame Relay R#show interface serial nº-interfaz/nº-subinterfazR#show frame-relay lmiR#show frame-relay pvc dlciR#show frame-relay mapR#debug frame-relay lmi
Restablecer los contadores deestadísticas (hay que esperar de 5 a 10min antes de ejecutar un comando show)
R#clear counters
Eliminar las asignaciones FrameRelay creadas dinámicamente mediante ARP inverso
R#clear frame-relay inarp
HERRAMIENTAS DE SEGURIDAD Proteger la visualización de contraseñas con encriptación sencillade tipo 7
R(config)#service password-encryption
Proteger los nombres de usuario de labase de datos Si el nombre de usuario ya se ha configurado medianteusername nombre passwordprimero debe eliminarse con:
R(config)#username nombre secret contraseña
R(config)#no username nombre passwordEstablecer una longitud mínima paralascontraseñas
R(config)#security passwords min-length nº
Protección de las líneas TTYs y puertoAUX si no se utilizan: impedir el iniciode sesión
R(config-line)#no passwordR(config-line)#login
Especificar los protocolos permitidos en las líneas vty {telnet/ssh/ambos}
R(config)#line vty 0 4R(config-line)#no transport inputR(config-line)#transport input {telnet/ssh/telnet ssh}
Configurar los tiempos de espera VTYpara evitar que una sesión inactivaconsuma la VTY indefinidamente
R(config)#line vty 0 4R(config-line)#exec-timeout tiempo en minutos
Activar los Keepalives TCP R(config)#service tcp-keepalives-inConfiguración de la seguridad SSHPaso1. Configurar nombre de host Router(config)#hostname R1Paso2. Configurar el nombre de dominio
R1(config)#ip domain-name nombre
Paso3. Generar la clave asimétrica RSA
R1(config)#crypto key generate rsa
Paso4. Configurar la autenticación local y la vty
R1(config)#username nombre secret contraseñaR1(config)#line vty 0 4R1(config-line)#no transport inputR1(config-line)#transport input sshR1(config-line)#login localR1(config-line)#exit
Paso5. Establecer los tiempos de espera (opcional)
R1(config)#ip ssh time-out segundosR1(config)#ip ssh authentification-retries nº-reintentos
Activar la depuración y los mensajes de registro para que sean marcados con la hora
R(config)#service timestamps
Desactivación de servidores TCPpequeños
R(config)#no service tcp-small-servers
Desactivación de servidores UDPpequeños
R(config)#no service udp-small-servers
Desactivación del servidor BOOTP R(config)#no ip boot serverDesactivación de Finger (Servicio debúsqueda de usuario UNIX. Permite ellistado remoto de usuarios)
R(config)#no service fingerR(config)#no ip finger
Desactivación del servidor HTTP R(config)#no ip http serverDesactivación del servidor SNMP R(config)#no snmp-serverDesactivación del CDP R(config)#no cdp runDesactivación de la configuraciónremota
R(config)#no service config
Desactivación del enrutamiento deorigen
R(config)#no ip source-route
Desactivación del enrutamiento sinclase
R(config)#no ip classless
Desactivación de una interfaz R(config-if)#shudownDesactivación del enrutamiento ad-hoc R(config-if)#no ip proxy-arpEstablecer esplícitamente las direcciones del servidor DNS
R(config)#ip name-server direcciones
Desactivar la resolución de nombresDNS R(config)#no ip domain-lookupConfiguración de RIPv2 con autenticación del protocolo de enrutamiento Paso1. Deshabilitar el envío de publicaciones de enrutamiento en todas las interfaces excepto en las que comuniquen con otros routers
R(config)#router ripR(config-router)#version 2R(config-router)#network networkR(config-router)#network networkR(config-router)#passive-interface defaultR(config-router)#no passive-interface s0/0/0
Paso2. Crear una cadena de clave.Especificar cuántas claves va a tener.Especificar la cadena de clave.
R(config)#key chain RIP-KEYR(config-keychain)#key 1R(config-keychain)#key-string cisco
Paso3. Configurar la interfaz para soportar la autenticación MD5
R(config)#int s0/0/0R(config-if)#ip rip authentication mode md5
Paso4. Procesar la cadena RIP KEY y la actualización para producir una firma única
R(config-if)#ip rip authentication key-chain RIP-KEY
Configuración de EIGRP con autenticación del protocolo de enrutamiento Paso1. Deshabilitar el envío de publicaciones de enrutamiento en todas las interfaces excepto en las que comuniquen con otros routers
R(config)#router eigrp 1(-->nº de sist. Autónomo)R(config-router)#network networksubnet-maskR(config-router)#network networksubnet-maskR(config-router)#passive-interface defaultR(config-router)#no passive-interface s0/0/0
Paso2. Crear una cadena de clave.Especificar cuántas claves va a tener.Especificar la cadena de clave.
R(config)#key chain EIGRP-KEYR(config-keychain)#key 1R(config-keychain)#key-string cisco
Paso3. Configurar la interfaz para soportar la autenticación MD5
R(config)#int s0/0/0R(config-if)#ip authentication mode eigrp 1 md5
Paso4. Procesar la cadena RIP KEY y la actualización para producir una firma única
R(config-if)#ip authentication key-chain eigrp 1 EIGRP-KEY
Ejemplo de configuración de OSPF con autenticación del protocolo de enrutamiento
R(config)#router ospf 10R(config-router)#network 192.168.10.0 0.0.0.255 area 0R(config-router)#network 10.1.1.0 0.0.0.255 area 0R(config-router)#exitR(config)#int s0/0/0R(config-if)#ip ospf message-digest-key 1 md5 ciscoR(config-if)#ip ospf authentication message-digestR(config-if)#exitR(config)#router ospf 10R(config-router)#area 0 authentication message-digestR(config-router)#exit
Iniciar proceso automático de protección de un router Cisco
R#auto secure
Configurar Router Cisco para instalar y soportar Cisco SDM sin interrumpir el tráfico de redPaso1. Habilitar los servidores HTTP yHTTPS en el router
R(config)#ip http serverR(config)#ip http secure-serverR(config)#ip http authentication local
Paso2. Crear una cuenta de usuariodefinida con el nivel de privilegio 15
R(config)#username nombre privilege 15 secret contraseña
Paso3. Configurar SSH y Telnet parael inicio de sesión local y el nivel de privilegio 15
R(config)#line vty 0 4R(config-line)#privilege level 15R(config-line)#login localR(config-line)#transport input telnet sshR(config-line)#exit
ACLsCrear una ACL R(config)#access-list nº-lista {deny/permit/remark}
origen wildcard-origenSiendo: nº-lista=nº entre 1 y 99 o entre 1300 y 1999 deny: denegar acceso si las condiciones coinciden permit: permitir acceso si las condiciones coinciden remark: permite añadir un comentario origen: red o host desde el que se envía el paquete
Ejemplos:R(config)#access-list 10 permit 192.168.10.0R(config)#access-list 10 remark Permitir hosts de la LAN 192.168.10.0
Eliminar una ACL R(config)#no access-list nº-listaMostrar las ACLs configuradas R#show access-listAsociar una ACL a una interfaz R(config)#interface nº-interface
R(config-if)#ip access-group {nº/nombre-ACL} {in/out}Eliminar una ACL de una interfaz R(config-if)#no ip access-group {nº/nombre-ACL} {in/out}
R(config-if)#exitControlar el acceso a las líneas vtymediante una ACL
R(config-line)#access-class nº-ACL {in/out}Ejemplo:R1(config)#access-list 21 permit 192.168.10.0 0.0.0.255R1(config)#access-list 21 permit 192.168.11.0 0.0.0.255R1(config)#access-list 21 deny anyR1(config)#line vty 0 4R1(config-line)#loginR1(config-line)#password secretR1(config-line)#access-class 21 in
Crear una ACL con nombre estándarPaso1. Crear la ACL con nombre R(config)#ip access-list {standard/extended} nombrePaso2. Aplicar las sentencias permit y deny
R(config-std-nacl)#{permit/deny/remark} origen wildcard
Paso3. Activar la ACL IP en una interfaz
R(config-if)#ip access-group nombre {in/out}
Ejemplo: R1(config)#ip access-list standard NO_ACCESSR1(config-std-nacl)#deny host 192.168.11.10R1(config-std-nacl)#permit 192.168.11.0 0.0.0.255R1(config-std-nacl)#int fa0R1(config-if)#ip access-group NO_ACCESS out
Creación de una ACL extendidaR(config)#access-list nº-lista {deny/permit/remark} protocolo origen wildcard-origen [operator operando ] [port nº-puerto o nombre ] destino wildcard-destino [operator operando ] [port nº-puerto o nombre ] [established]
Siendo: nº-lista=nº entre 100 y 199 o entre 2000 y 2699protocolo=nombre o número de protocolo de internet (para que sea cualquier protocolo de internet utilizar la palabra clave ip)destino=red o host al que se ve a enviar el paquteestablished=Sólo para el protocolo TCP. Indica una conexión establecida
Ejemplo:R(config)#access-list 103 permit tcp 192.168.10.0 0.0.0.255 any eq 80R(config)#access-list 103 permit tcp 192.168.10.0 0.0.0.255 any eq 443R(config)#access-list 104 permit tcp any 192.168.10.0 0.0.0.255 established
Creación de una ACL extendida utilizando nombresPaso1. Definir la ACL con nombre R(config)#ip access-list extended nombrePaso2. Especificar las condicionesPaso3. Verificar la ACL R#show access-list nombrePaso4. Activar la ACL IP en una interfaz
R(config)#interface nº-interfaceR(config-if)#ip access-group nombre {in/out}
Paso5. Guardar R(config)#copy run startGeneración de números de puerto R(config)#access-list 101 permit tcp any eq ?
Configuración de un Router Cisco como Servidor DHCP
Paso1. Excluir las direcciones reservadas antes de crear el conjunto DHCP
R(config)#ip dhcp excluded-address dirección-inferior [dirección superior]
Paso2. Crear el conjunto DHCP (definir el conjunto de direcciones que se van a asignar)
R(config)#ip dhcp pool nombre-conjuntoR(dhcp-config)#
Paso3. Definir el rango de direcciones disponibles
R(dhcp-config)#network nº-red [máscara/longitud-prefijo]
PAso4. Definir el gateway predeterminado o router para los clientes
R(dhcp-config)#default-router dirección [dirección 2… dirección8]
Ejemplo de configuración DHCP R(config)#ip dhcp excluded-address 192.168.10.1 192.168.10.9R(config)#ip dhcp excluded-address 192.168.10.254R(config)#ip dhcp pool LAN-POOL-1R(dhcp-config)#network 192.168.10.0 255.255.255.0R(dhcp-config)#default-router 192.168.10.1R(dhcp-config)#domain-name span.comR(dhcp-config)#end
Tareas DHCP opcionalesDefinir un servidor DNS dns-server dirección [dirección2…dirección8]Definir el nombre de dominio domain-name dominioDefinir la duración de la concesión lease {días [horas] [minutos] / infinite}Definir el servidor NetBIOS WINS netbios-name-server dirección [dirección2…dirección8]Desactivación del servicio DHCP R(config)#no service dhcpReactivación del servicio DHCP R(config)#service dhcp
Mostrar lista de las asociaciones IP-MACR#show ip dhcp binding
Verificar que el router está enviando o recibiendo mensajes
R#show ip dhcp server stadistics
Mostrar info del conjunto DHCP R#show ip dhcp poolConfigurar una interfaz como cliente DHCP
R(config)#int fa0R(config-if)#ip address dhcpR(config-if)#no shutdown
Configurar un router como agente de retransmisión DHCP: configurar la interfaz más cercana al cliente con:
R(config-if)#ip helper-address ip-del-servidor-dhcp
Mostrar los conflictos de direcciones registrados por el servidor DHCP
R#show ip dhcp conflict
Verificar que el router está recibiendo la solicitud DHCP del cliente
R#debug ip packet detail
Mostar info de los eventos del servidor R#debug ip dhcp serverNATConfiguración de la NAT estáticaPaso1. Establecer la conexión estática entre una dirección local interior y una dirección global interior
R(config)#ip nat inside source static ip-local -ip-global
Paso2. Especificar la interfaz interior R(config)#interface tipo nºPaso3. Marcar la interfaz como conectada al interior.
R(config-if)#ip nat inside
Paso4. Especificar la interfaz exterior R(config-if)#interface tipo nºPaso5. Marcar la interfaz como conectada al exterior.
R(config-if)#ip nat outside
Eliminar la conversión de origenestática R(config)#no ip nat inside source staticConfiguración de la NAT dinámicaPaso1. Definir un conjunto de direcciones globales que se asignarán según las necesidades
R(config)#ip nat pool nombre incio-ip fin-ip {netmask máscara-red/prefix-length long-prefijo}
Paso2. Definir una lista de acceso estándar que permita esas direcciones que se van a traducir
R(config)#access-list nº-lista permit origen [wildcard- -origen]
Paso3. Establecer la traducción de origen dinámica, especificando la lista de acceso del paso anterior
R(config)#ip nat inside source list nº-lista pool nombre
Paso4. Especificar la interfaz interior R(config)#interface tipo nºPaso5. Marcar la interfaz como conectada al interior.
R(config-if)#ip nat inside
Paso6. Especificar la interfaz exterior R(config-if)#interface tipo nºPaso7. Marcar la interfaz como conectada al exterior
R(config-if)#ip nat outside
Configuración de la sobrecarga de NAT con una sola dirección IPPaso1. Definir una lista de acceso estándar que permita esas direcciones que se van a traducir
R(config)#access-list nº-lista permit origen [wildcard- -origen]
Paso2. Establecer la traducción de origen dinámica, especificando la lista de acceso definida en el paso anterior
R(config)#ip nat inside source list nº-lista interface interface overload
Paso3. Especificar la interfaz interior R(config)#interface tipo nºPaso4. Marcar la interfaz como conectada al interior
R(config-if)#ip nat inside
Paso5. Especificar la interfaz exterior R(config-if)#interface tipo nºPaso6. Marcar la interfaz como conectada al exterior
R(config-if)#ip nat outside
Configuración de la sobrecarga de NAT utilizando un conjunto de direccionesPaso1. Especificar la dirección global, como un conjunto, que se va a utilizar para la sobrecarga
R(config)#ip nat pool nombre incio-ip fin-ip {netmask máscara-red /prefix-length long-prefijo }
Paso2. Definir una lista de acceso estándar que permita que esas direcciones sean traducidas
R(config)#access-list nº-lista permit origen [wildcard- -origen]
Paso3. Establecer la traducción de la sobrecarga
R(config)#ip nat inside source list nº-lista pool nombre overload
Paso4. Especificar la interfaz interior R(config)#interface tipo nºPaso5. Marcar la interfaz como conectada al interior.
R(config)#ip nat inside
Paso6.Especificar la interfaz exterior R(config)#interface tipo nºPaso7. Marcar la interfaz como conectada al exterior
R(config-if)#ip nat outside
Mostar los detalles de las asignciones NAT
R#show ip nat translations
Mostrar los detalles de las asignaciones NAT mostrando info adicional sobre cada traducción
R#show ip nat translations verbose
Mostar info acerca del nº total de traducciones activas y más parámetros
R#show ip nat stadistics
Configurar los temporizadores NAT R(config)#ip nat translation timeout segundos-límite- tiempo
Eliminar las entradas NAT dinámicas antes de que expire el tiempo límite
R(config)#clear ip nat translation
Eliminar todas las traducciones de la tabla R(config)#clear ip nat translation *
Verificar el funcionamiento de NAT R#debug ip nat
Generar una descripción de cada paquete considerado para la traducción
R#debug ip nat detailed
IPv6Habilitar IPv6 R(config)#ipv6 unicast-routingConfigurar una dirección IPv6 en unainterfaz
R(config-if)#ipv6 address dirección-ipv6/longitud-prefijoEjemplo:R(config-if)#ipv6 address 2001:DB8:2222:7272::72/64
Configurar una dirección IPv6 en unainterfaz habilitando EUI-64
R(config-if)#ipv6 address dirección-ipv6/longitud-prefijo eui-64Ejemplo:R(config-if)#ipv6 address 2001:DB8:2222:7272::72/64 eui-64
CONFIGURACIÓN DE UN SWITCH CISCOAcceder a modo privilegiado S>enableSalir a modo usuario S#disablePasar de modo privilegiado a modo"configuración global"
S#configure terminalS(config)#
Pasar de modo "configuración global"a modo "configuración de interfaz"
S(config)#interface nombre de la interfazEjemplo:S(config)#int fa0S(config-if)#
Mostrar el historial de comandos S#show historyActivar el historial de comandos (pordefecto ya está activado)
S>terminal historyoS#terminal history
Configurar el tamaño del historial decomandos
S#terminal history size nº entre 0 y 256
Reiniciar el tamaño del historial al valorpredeterminado de 10 líneas
S#terminal no history size
Desactivar el historial de comandos S#terminal no history Configurar la interfaz de administración S#configure terminal
S(config)#interface vlan 99S(config-if)#ip address dirección-ip máscara subredS(config-if)#no shutdownS(config-if)#exitS(config)#interface nombre-interfazS(config-if)#switchport mode accessS(config-if)#switchport access vlan 99S(config-if)#endS#copy run start
Configurar el Gateway predeterminado S(config)#ip default-gateway dirección-ipComprobación del estado de lospuertos
S#show ip interface brief
Configurar el modo dúplex S(config-if)#duplex auto/full/halfConfigurar la velocidad del puerto S(config-if)#speed 10/100/auto
siendo:10: 10 Mbps operation100: 100 Mbps operation
Habilitar la administración vía HTTP S(config)#ip http serverDefinir el nº de puerto donde operarála administración vía HTTP S(config)#ip http port puertoAsignar una dirección MAC a unainterfaz de forma permanente
S(config)#mac-address-table static dirección-MAC vlan nº-vlan interface fastethernet nº
Eliminar la asignación de una direcciónMAC estática a una interfaz
S(config)#no mac-address-table static dirección-MAC vlan nº-vlan interface fastethernet nº
Mostrar info sobre la plataforma y elIOS (29xx) o Firmware (19xx)
S>show version
Mostrar info sobre los tramasdescartadas, tramas diferidas, erroresde alineación, colisiones….
S>show controllers ethernet controllers
Mostrar si el switch pasó el POST S#show postMostrar el estado administrativo yoperacional de los puertos
S#show interfaces
Mostrar el estado administrativo yoperacional de un puerto
S#show interfaces tipo nº
Verificar el estado de un puerto (P.ejsi se ha reconfigurado de forma correcta la VLAN nativa)
S#show interfaces id-interfaz switchport
Mostrar los contenidos de la configuración de inicio
S#show startup-config
Mostrar la configuración operativaactual
S#show running-config
Mostrar info acerca del sistema de archivos flash
S#show flash:
Mostar la información IPinterface muestra el estado y la configuración de la interfaz IPhttp muestra la info HTTP sobre el Device Manager en ejecuciónarp muestra la tabla ARP IP
S#show ip interface/http/arp
Mostrar la tabla de reenvío MAC S#show mac-address-tableEliminar las direcciones MAC que elswitch ha aprendido dinámicamente
S>clear mac-address-table
Modificar el startup config con laconfiguración en ejecución
S#copy running-config startup-config
Almacenamiento de varias versionesdel startup-config
S#copy startup-config flash:nombre-archivo
Borrar una copia de seguridad delstarup-config en la flash
S#delete flash:nombre_archivo
Recuperación de una configuración S#copy flash:nombre_archivo startup-config+S#reload (sin salvar la configuración)
Hacer un resguardo del Cisco IOS enun servidor TFTP
S#copy flash tftp
Descargar una nueva copia del CiscoIOS a la memoria flash
S#copy tftp flash
Realizar una copia del startup-configen un servidor TFTP
S#copy startup-config tftp
Descargar una nueva copia delstartup-config en la NVRAM
S#copy tftp startup-config
Limpiar los contenidos de la configuración de inicio
S#erase nvram:oS#erase startup-config
Ingresar al modo de configuración de línea
S(config)#line {console/vty} nº_línea
Protección del acceso a la consola mediante contraseña
S#configure terminalS(config)#line console 0S(config-line)#password contraseñaS(config-line)#loginS(config-line)#end
Eliminar la contraseña y la necesidadde escribirla del acceso a la consola
S#configure terminalS(config)#line console 0S(config-line)#no passwordS(config-line)#no loginS(config-line)#end
Protección del acceso al terminalvirtual
S#configure terminalS(config)#line vty 0 15S(config-line)#password contraseñaS(config-line)#loginS(config-line)#end
Eliminar la contraseña y la necesidadde escribirla del acceso al terminalvirtual
S#configure terminalS(config)#line vty 0 15S(config-line)#no passwordS(config-line)#no loginS(config-line)#end
Protección del acceso a EXECprivilegiado mediante contraseña
S#configure terminalS(config)#enable password contraseñaS(config)#end
Protección del accesi a EXECprivilegiado mediate contraseñaENCRIPTADA
S#configure terminalS(config)#enable secret contraseñaS(config)#end
Eliminar la contraseña y la necesidadde escribirla para el acceso a EXEC
S#configure terminalS(config)#no enable passwordS(config)#endoS#configure terminalS(config)#no enable secretS(config)#end
Encriptar las contraseñas para queno sean legibles en el startup-configo en el ruuning-config
S#conf tS(config)#service password-encryption
Deahabilitar la encriptación de contraseñas
S#conf tS(config)#no service password-encryption
Configurar un banner MOTD S(config)#banner motd "El mantenimiento del dispositivo tendrá lugar el viernes"
Deshabilitar el banner MOTD S(config)#no banner motdConfigurar un banner de inicio de sesión S(config)# banner login "Sólo personal autorizado"Deshabilitar el banner de inicio de sesión S(config)#no banner loginReactivar el protocolo Telnet S(config)#line vty 0 15
S(config-line)#transport input telnetoS(config-line)#transport input all
Configurar la seguridad de puerto en la interfaz F0/18 (no se especifica un modo de violación, en este caso será el predeterminado shutdown)
S#conf tS(config)#int fa18S(config-if)#switchport mode accessS(config-if)#switchport port-securityS(config-if)#end
Activar la seguridad de puerto stickyen la interfaz F0/18 con un número de máximo de direcciones Mac seguras de 50.(no se especifica un modo de violación, en este caso será el predeterminado shutdown )
S#conf tS(config)#int fa18S(config-if)#switchport mode accessS(config-if)#switchport port-securityS(config-if)#switchport port-security maximun 50S(config-if)#switchport port-security mac-address stickyS(config-if)#end
VLAN
Configuración de una VLAN estática S#conf tS(config)#int fa18S(config-if)#switchport mode accessS(config-if)#switchport access vlan 20S(config-if)#end
Configuración de una VLAN de voz (VLAN 150)(se debe configurar una VLAN de voz y otra de datos (VLAN 20). Además, la red entera debe configurarse para priorizar el tráfico de voz)
S#conf tS(config)#int fa18S(config-if)#mls qos trust cosS(config-if)#switchport voice vlan 150S(config-if)#switchport mode accessS(config-if)#switchport access vlan 20S(config-if)#end
Configuración de un enlace troncal en una VLAN nativa
S#conf tS(config)#int fa1S(config-if)#switchport trunk native vlan 99S(config-if)#end
Mostrar los puertos troncales S#show interfaces trunkConfigurar el puerto como enlacetroncal permanente
S(config-if)#switchport mode trunk
Configurar el puerto para negociar un enlace troncal (sólo se acabará en enlace troncal si el modo de enlace troncal del puerto remoto está en on,desirable o auto .Si el puerto del switch remoto está en nonegotiate el puerto del switch local permanece como puerto sin enlace troncal)
S(config-if)#switchport mode dinamic desirable
Configurar el puerto para negociar un enlace troncal (sólo se acabará en enlace troncal si el modo de enlace troncal del puerto remoto está en on o en desirable .Si los dos están en auto , los puertos negocian para estar en el estado de modo de acceso)
S(config-if)#switchport mode dinamic auto
Desactivar DTP para el enlace troncal S(config-if)#switchport nonegotiateDeterminar la configuración DTP S#show dtp interfaceAdición de una LAN S#conf t
S(config)#vlan id-vlanS(Config-vlan)#name nombre (opcional)S(config-vlan)#end
Adición de varias VLAN(100,102, 105,106,107,108 y 109)
S(config)#vlan 100 , 102 , 105 - 109
Configuración de interfaz de VLANestática
S(config)#interface id-interfazS(config-if)#switchport mode accessS(config-if)#switchport access vlan id-vlanS(config-if)#end
Mostrar info de las VLANs(nombre, estado y puertos)
S#show vlan brief
Mostrar info de la VLAN indicada porsu id (nº entre 1 y 4094)
S#show vlan id id-vlan
Mostrar info de la VLAN indicada porsu nombre (cadena ASCII de 1 a 32caracteres)
S#show vlan name nombre-vlan
Mostrar un resumen de info de las VLANs
S#show vlan summary
Mostrar info relevante acerca de unao varias interfaces
S#show interfaces id-interfaz switchport
Mostrar si la VLAN está activa S#show interfaces vlan id-vlan
Reasignar un puerto a una VLANdistinta=Reasignarlo a la VLAN1 (1)+Asignarlo a la otra VLAN (2)
(Con el software Cisco IOS, sólo es necesario el paso 2)
S#conf tS(config)#interface interface-idS(config-if)#no switchport access vlanS(config-if)#end+S#conf tS(config)#interface interface-idS(config-if)#switchport mode accessS(config-if)#switchport acces vlan id-vlanS(config-if)#end
Eliminación de una VLAN (NO OLVIDARREASIGNAR TODOS LOS PUERTOSA UNA VLAN DISTINTA ANTES DE ELIMINAR)
S#no vlan vlan-id
Reconfigurar una VLAN nativa en unpuerto troncal
S#interface id-interfaceS#switchport trunk native vlan id-vlan
Configurar un enlace troncal en la interfaz F0/11, especificando la VLAN99 como la VLAN nativa.Este enlace soportará las VLANs 10, 20y 30
S#conf tS(config)#interface fa11 S(config-if)#switchport mode trunkS(config-if)#switchport trunk native vlan 99S(config-if)#switchport trunk allowed vlan add 10 , 20 , 30S(config-if)#end
Restablecer las VLANs permitidasy la VLAN nativa del enlace troncala su estado predeterminado
S(config-if)#no switchport trunk allowed vlanS(config-if)#no switchport trunk native vlan
Eliminar el enlace troncal de un puertodel switch
S(config-if)#switchport mode access
Mostrar el estado de VTP S#show vtp status
Configurar VTP:1.Configurar el servidor1.1 configurar los puertos troncales S#conf t
S(config)#interface id-interfaceS(config-if)#switchport mode trunkS(config-if)#end
1.2 Verificar que el switch está configurado como servidor
S#show vtp status
1.3 Si no lo está, configurarlo comoservidor
S(config)#vtp mode server
1.4 Establecer el nombre de dominio S(config)#vtp domain nombre-dominio1.5 Establecer una contraseña (opcional S(config)#vtp password contraseña1.6 Establecer la versión S(config)#vtp version {1/2}1.7 Añadir las VLANs2. Configurar los clientes2.1 Comprobar su estado actual S#show vtp status2.2 Cambiarlo a modo cliente S#conf t
S(config)#vtp mode client3.Conectar
3.1 Confirmar que el dominio y las VLANs se han transferido desde elservidor
S#show vtp statusoS#show vtp counters
3.2 Configurar los puertos de acceso de los clientes para que estén en las VLANs apropiadas (p.ej: configurar el puerto Fa0/11 para que esté en la VLAN 10
S#conf tS(config)#vlan 10S(config)#interface f11S(config-if)#switchport access vlan 10
STPMostrar los detalles de la configuración del STP
S#show spanning-treeyS#show spanning-tree detail
Mostrar los detalles de la configuración del STP sólo para las interfaces activas
S#show spanning-tree active
Configurar el coste de puerto en unainterfaz
S(config-if)#spanning-tree cost valor(1-200.000.000)
Restaurar el coste de puerto en unainterfaz
S(config-if)#no spanning-tree cost
Asignar un switch como PUENTE RAÍZPRINCIPAL
S(config)#spanning-tree vlan id-vlan root primary
Asignar un switch como PUENTE RAÍZSECUNDARIO
S(config)#spanning-tree vlan id-vlan root secondary
Asignar un switch como PUENTE RAÍZmediante la configuración del valor de prioridad de puente
S(config)#spanning-tree vlan id-vlan priority valor
valor: nº entre 0 y 65535 en incrementos de 4096Configurar el valor de prioridad de puerto
S(config-if)#spanning-tree port-priority valor
valor: nº entre 0 y 240 en incrementos de 16 (el valor predeterminado es 128
Configurar un diámetro de red determinado para STP (se ha de introducir en el puente raíz)
S(config)#spanning-tree vlan id-vlan root primary diameter valor(entre 2 y 7 switches)
Habilitar PortFast en un puerto delswitch
S(config-if)#spanning-tree portfast
Deshabilitar PortFast en un puerto S(config-if)#no spanning-tree portfast
PVST+Configurar un switch como puenteprincipal para una VLAN y como puente secundario para otra distinta. P.ej: S3 como puente principal para VLAN 20 y secundario para VLAN 10
S(config)#spanning-tree vlan id-vlan root primaryS(config)#spanning-tree vlan id-vlan root secondaryEjemplo:S3(config)#spanning-tree vlan 20 root primaryS3(config)#spanning-tree vlan 10 root secondary
Asignar un switch como PUENTE RAÍZmediante la configuración del valor de prioridad de puente
S(config)#spanning-tree vlan id-vlan priority valor
valor: nº entre 0 y 61440 en incrementos de 4096Mostrar los detalles de la configuración del STP sólo para las interfaces activas
S#show spanning-tree active
RSTPConfigurar un puerto como "puertolímite"
S(config-if)#spanning-tree portfast
PVST+ RÁPIDOConfigurar PVST rápido S(config)#spanning-tree mode rapid-pvst
Especificar que el tipo de enlace paraun puerto es punto a punto
S(config-if)#spanning-tree link-type point-to-point
Eliminar todos los protocolos de árbolde extensión detectados
S#clear spanning-tree detected-protocols
INTER-VLANCreación de una subinterfaz.P.ej: Crear una subinterfaz para la VLAN 10 en el router R1 en la interfazFastEthernet 0/0
R1#conf tR1(config)#interface f0/0.10R1(config-subif)#encapsulation dot1q 10R1(config-subif)#ip address 172.17.10.1 255.255.255.0R1(config-subif)#int fa0/0R1(config-if)#no shutdown
Configuración del enrutamiento inter-VLAN mediante diferentesinterfaces físicas (figura 6.7 pág 383)
Switch:S1#conf tS1(config)#vlan 10S1(config-vlan)#vlan30S1(config-vlan)#int f0/4S1(config-if)#switchport mode accessS1(config-if)#switchport access vlan 10S1(config-if)#int f0/11S1(config-if)#switchport mode accessS1(config-if)#switchport access vlan 10S1(config-if)#int f0/5S1(config-if)#switchport mode accessS1(config-if)#switchport access vlan 30S1(config-if)#int f0/6S1(config-if)#switchport mode accessS1(config-if)#switchport access vlan 30S1(config-if)#endS1#copy run start
Router:R1#conf tR1(config)#int f0/0R1(config-if)#ip address 172.17.10.1 255.255.255.0R1(config-if)# no shutdownR1(config-if)#int f0/1R1(config-if)#ip address 172.17.30.1 255.255.255.0R1(config-if)# no shutdownR1(config-if)#endR1#copy run start
Configuración del enrutamiento inter-VLAN mediante múltiples conexiones (figura 6.8 pág 387)
Switch:S1#conf tS1(config)#vlan 10S1(config-vlan)#vlan 30S1(config-vlan)#exitS1(config)#int f0/5S1(config-if)#switchport mode trunkS1(config-if)#endS1#copy run start
RouterR1#conf tR1(config)#int f0/0R1(config-if)#no shutdownR1(config-if)#int f0/0.10R1(config-subif)#encapsulation dot1q 10R1(config-subif)#ip address 172.17.10.1 255.255.255.0R1(config-subif)#int f0/0.30R1(config-subif)#encapsulation dot1q 30R1(config-subif)#ip address 172.17.30.1 255.255.255.0R1(config-subif)#endR1#copy run startR1#show ip routeR1#show run
Resolución de problemas en el enrutamiento inter-VLAN
S#show interface id-interface switchportS#show running-configR#show interface