prompt>comando argumentos
prompt>: Indica el hostname del equipo que estamos configurando, a parte de si tenemos permisos: #, o no: >.
comando: Comando a ejecutar.
argumentos: Antes de especificarlos una palabra clave o argumentos, se añade un espacio despúes del comando.
Reglas: Comenzar con una letra. No contener espacios. Finalizar con letra o dígito. Utilizar únicamente letras, dígitos y guiones. Tener menos de 64 caracteres de longitud. Ejemplo:
Sw-Floor-1
Para poder cambiar el hostname de un equipo Cisco se usa:
# hostname <Nombre>
Reglas: Tener más de 8 caracteres de longitud. Combinaciones de letras, números y símbolos. Evitar el uso de la misma en varios dispositivos. No usar palabras comunes.
Generador de contraseñas: letpass.com
Si escribimos un comando no válido intentará resolver ese texto como DNS. Este proceso lleva tiempo y se puede saltar mediante las teclas:
CTRL + BLOQ MAYUS + 6
Habilitar permisos de EXEC privilegiado en el equipo. El prompt se modificará de > a #:
> enable
Muestra todos los comandos disponibles según donde te encuentres:
# ?
Se puede poner un comando seguido de ? para enseñar sus palabras claves y atributos disponibles. Además puedes buscar una palabra completa poniendo la(s) letra(s) por la(s) que empieza seguido de ?.
Para configurar la fecha y hora del equipo:
# clock set hora:min:seg día mes año
Mes: Debe ser el nombre con letras y en inglés.
Luego podemos ver que hora tiene configurado el equipo con:
# show clock
Enviar un paquete ICMP a un host de destino para verificar si responde:
ping <IpDestino>
Conectarmos mediante Secure Shell a un host remoto:
ssh -l <Usuario> <IpDestino>
Conectarmos mediante Telnet a un host remoto:
telnet (-l <Usuario>) <IpDestino>
Nota - TELNET y SSH:
Si en el router o switch que queremos conectarnos no tiene en las líneas vty 0 15 un password y login, el destino rechazará la conexión automáticamente.
⚠️ Nota - Problema de seguridad en TELNET:
El tráfico de Telnet se envía en texto plano, incluyendo usuario y contraseña, lo que lo hace vulnerable a ataques man-in-the-middle. Demostración en Packet Tracer:
1. Entra en el Command Prompt de un PC e inicia una conexión:
C:\> telnet (-l <Usuario>) <IpDestino>
2. Antes de ingresar la contraseña, cambia Packet Tracer de Realtime a Simulation.
3. Se puede apreciar que por cada letra que tenga la contraseña se crea un paquete de parte del cliente. Abre a uno desde la sección Event List.
4. En la nueva ventana pasa al modo Outbund PDU Details y baja hasta el apartado TELNET. Se puede ver que en cada paquete se enseña la letra enviada:
TELNET DATA:C
Para ver las configuraciones del dispositivo debemos estar en la raíz del dispositivo y en modo EXEC privilegiado.
El siguiente comando nos permite ver configuraciones (interfaces, login y contraseñas) que están guardadas temporalmente y se eliminan al reiniciar el equipo:
# show running-config
Para ver la configuración que persiste en NVRAM incluso al reiniciar el equipo:
# show startup-config
Para guardar la memoria temporal en NVRAM se utiliza wr o:
# copy running-config startup-config
Para eliminar la memoria temporal se utiliza:
# reload
Por último, para eliminar la memoria NVRAM se utiliza:
# erase startup-config
Podemos entrar en modo de configuración global del dispositivo de 2 formas:
# configure terminal
# config t
Podemos configurar un puerto de switch o una interfaz de red de router (solo si entramos en config anteriormente):
(config)# interface <Interfaz><Número>
Interfaz y Número: Podemos especificar un nombre completo como FastEthernet0/1 o su abreviatura como fa0/3. 0/3 Significa que de la interfaz 0, se elige el puerto 3.
Podemos asignar una descripción a cada interfaz:
(config-if)# description <Descripción>
Para configurar parámetros de consola co, SSH y Telnet vty o acceso auxiliar:
(config)# line <co/vty> <Número/Rango>
Número: El número empieza desde 0 e identifica el puerto a configurar. Rango: Si se quiere configurar varias líneas a la vez, como las 16 líneas de vty se usa un rango como: 0 15, con un espacio entre ambos números.
Habilitar una interfaz después de realizar un cambio:
(config-if)# no shutdown
O deshabilitarla:
(config-if)# shutdown
Podemos salir de cualquier modo de configuración al anterior. Ej. Si nos encontramos en (config-if) y enviamos este comando pasamos a (config):
(config-if)# exit
(config)# exit
# exit
> <Comandos>
O podemos salir de cualquier modo de configuración al modo inicial:
(config-if)# end
# <Comandos>
Para ver todas las configuraciones de las interfaces del dispositivo en IPv4:
show ip interface brief
show ipv6 interface brief
Enseña de cada interfaz el nombre, IP, Si está reconocida por el sistema (OK?), estado y protocolo. Ejemplo:
Router# show ip interface brief
Interface IP-Address OK? Method Status Protocol
FastEthernet0/0 192.168.1.1 YES manual up up
FastEthernet0/1 unassigned YES unset administratively down down
Vlan1 unassigned YES unset administratively down down
Para ver todas las estadísticas de todas las interfaces del equipo:
show interfaces
Los siguientes muestran información de IPv4 o IPv6:
show ip interfaces
show ipv6 interfaces
Para ver la tabla de rutas IPv4 o IPv6:
show ip route
show ipv6 route
Para ver la tabla ARP IPv4 o de vecinos IPv6:
show ip arp
show ipv6 neighbors
Si es un switch hay que configurar IPs mediante VLANs se usa: (la VLAN por defecto es 1)
(config)# interface vlan NumVlan
Podemos asignar a una interfaz una IPv4 mediante:
(config)# interface <Interfaz><Número>
(config-if)# ip address <IPv4> <Máscara>
(config-if)# no shutdown
O además una IPv6:
(config)# interface <Interfaz><Número>
(config-if)# ipv6 address <IPv6/Máscara>
(config-if)# no shutdown
Si se trata de una dirección IPv6 LLA fe80::/10 se modifica el comando a:
(config-if)# ipv6 address <LLA_IPv6> link-local
Poner la IP de la puerta de enlace predeterminada a una interfaz:
(config)# interface <Interfaz><Número>
(config-if)# ip default-gateway <IpGateway>
(config-if)# no shutdown
Podemos permitir ciertos protocolos de acceso remoto con:
(config)# line vty 0 15
(config-line)# transport input <ssh telnet>
Podemos permitir tanto ssh y telnet o solo uno de los dos. Se separan mediante espacios.
Para añadir una ruta a la que un router pueda acceder de manera manual:
(config)# ip route <IP_RedRemota> <Máscara_RedRemota> <IP_PróximoRouter>
Nota: Si la dirección de red o una IP cambia, debe modificarse la ruta manualmente.
Poner una contraseña en líneas de acceso:
(config)# line <console/vty> <NumPuerto/Rango>
(config-line)# password <Contraseña>
Para poner una contraseña al comando enable (texto plano):
(config)# enable password <Contraseña>
Para ocultar la contraseña:
(config)# service password-encryption
Aunque oculta el contenido, se puede descifrar fácilmente debido a su débil cifrado con herramientas como firewall.cx.
Para poner una contraseña al comando enable (encriptando con MD5):
(config)# enable secret <Contraseña>
Si se tenía enable password anteriormente se ignorará y solo se usará enable secret.
Aplicar una política de usuario y contraseña: authentication, o solo contraseña: local:
(config-line)# login <authentication/local>
Poner un banner que se enseñara en la página de login:
(config)# banner motd <Carácter>
Carácter: Indicamos un carácter que no se vaya a repetir en el texto. Después de ejecutarlo pondrá un diálogo para poner un texto personalizado que verán al iniciar sesión. Acabaremos el comando con el carácter especificado y luego ENTER.
Bloquear un rango de puertos no usados:
(config)# interface range <Interfaz/Rango>, <Interfaz/Rango>, ...
Interfaz/Rango: Podemos seleccionar varios rangos de interfaces y aplicar los mismos cambios a todos. Ejemplo: F0/2-24, G0/2 (F0/2 a F0/24 y G0/2)
(config-if-range)# shutdown
Para crear un usuario sin privilegios:
(config)# username <Nombre_Usuario> secret <Contraseña>
Para crear un usuario con privilegios:
(config)# username <Nombre_Usuario> privilege <TipoPrivilegio> secret <Contraseña>
TipoPrivilegio: Número del 0 al 15 que indica el nivel de privilegios que tendrá el usuario:
- Del 2 al 14 son usuarios con permisos parciales.
- El 15 equivale al comando enable.
- El 1 equivale a un usuario normal.
- El 0 equivale a un acceso muy restringido.
Para aplicar una directiva de autentificación por usuario y contraseña:
(config)# line vty 0 15
(config-if)# login local
Para aplicar una longitud mínima a cada contraseña que se cree desde este momento (no se aplica a contraseñas ya creadas):
(config)# security passwords min-length <NúmeroMínimo>
Para cerrar la sesión de un usuario después de x minutos:
(config)# line vty 0 15
(config-if)# exec-timeout <Minutos>
Bloquear a cualquier persona durante x minutos que no pueda iniciar sesión después de x intentos dentro de un período de x minutos:
(config)# login block-for <SegundosBloqueo> attempts <Intentos> within <PeriodoMinutos>
Pasos:
1. Poner un hostname único y diferente al de por defecto.
2. Asignar un nombre de dominio (ej. pargapondal.inf):
(config)# ip domain-name <Dominio>
3. Generar una clave de 4096 Bytes u otro tamaño con el algoritmo RSA:
(config)# crypto key generate rsa general-keys modulus 4096
Permitir solo el tráfico SSH en las líneas de acceso remoto:
(config)# line vty 0 15
(config-if)# transport input ssh
Desde el momento de poner el comando se denegará conexiones telnet, solo admitirá SSH. Si se tenía alguna conexión telnet existente no la cierra.
Asignar un nombre de dominio (ej. pargapondal.inf):
(config)# ip domain-name <Dominio>
Desactivar la búsqueda de DNS:
(config)# no ip domain-lookup