start:cursos:cisco
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| start:cursos:cisco [2026/03/15 15:52] – [Servidor DHCP] 192.168.10.1 | start:cursos:cisco [2026/03/31 14:43] (current) – [Niveles de acceso privilegiado] 192.168.10.1 | ||
|---|---|---|---|
| Line 417: | Line 417: | ||
| + | |||
| + | ==== Redundancia (HSRP) ==== | ||
| + | |||
| + | Se pueden configurar varios routers para tener una IP virtual que haga de failover en caso de problemas. Esto se hace por HSRP (Host Standby Router Protocol), y se configura en la interfaz correspondiente de la siguiente forma. En el router 1, que se comporta como activo: | ||
| + | |||
| + | ``` | ||
| + | interface GigabitEthernet0/ | ||
| + | ip address 10.10.10.2 255.255.255.0 | ||
| + | | ||
| + | | ||
| + | | ||
| + | ``` | ||
| + | |||
| + | y en el otro que se queda en espera (standby), por ejemplo: | ||
| + | |||
| + | ``` | ||
| + | interface GigabitEthernet0/ | ||
| + | ip address 10.10.10.2 255.255.255.0 | ||
| + | | ||
| + | ``` | ||
| + | |||
| + | Esto hace que, además de que cada router tenga su ip correspondiente (`10.10.10.2` para el activo y `10.10.10.3` para el pasivo), haya una ip virtual compartida por ambos (`10.10.10.1`) para tener redundancia en caso de fallo. Tras casi 1 minuto de espera, saldrán los siguientes mensajes: | ||
| + | |||
| + | ``` | ||
| + | %HSRP-6-STATECHANGE: | ||
| + | |||
| + | %HSRP-6-STATECHANGE: | ||
| + | ``` | ||
| + | |||
| + | indicando que un nodo está activo y otro en espera. | ||
| + | |||
| + | El comando `standby` va seguido de un número de grupo (usamos el grupo `1` para simplificar), | ||
| + | |||
| + | * Se puede modificar la prioridad con `priority`, que por defecto es 100, para forzar ser activo o no. El número mayor se convierte en activo. Como se ha visto en el ejemplo, se hace en la interfaz. | ||
| + | * Para acelerar el relevo en caso de caída del interfaz activo, se puede especificar `preempt`, que sirve para acelerar el proceso y hacerlo más coordinado después de restablecerse el servicio. | ||
| Line 689: | Line 724: | ||
| De esta forma, le llega todo el tráfico. Si no tiene etiqueta, se asigna a la vlan 20. | De esta forma, le llega todo el tráfico. Si no tiene etiqueta, se asigna a la vlan 20. | ||
| + | ==== DHCP Snooping ==== | ||
| + | Para prevenir que se pueda usar un servidor DHCP que no sea el correcto (a veces se conecta un servidor DHCP en una red y puede provocar confusión y errores diversos), se usa el SHCP snooping a nivel de switch. | ||
| + | |||
| + | |||
| + | ``` | ||
| + | Switch(config)# | ||
| + | Switch(config)# | ||
| + | Switch(config)# | ||
| + | Switch(config-if)# | ||
| + | ``` | ||
| + | |||
| + | Los pasos son: | ||
| + | 1) Configurar el dhcp snooping globalmente | ||
| + | 2) Configurar las vlan que van a protegerse | ||
| + | 3) Entrar en la interfaz donde está el servidor DHCP correcto | ||
| + | 4) Marcarlo como de confianza | ||
| + | |||
| + | Con esta configuración, | ||
| + | |||
| + | ``` | ||
| + | Switch# show ip dhcp snooping | ||
| + | DHCP snooping is configured on following VLANs: 10 | ||
| + | ``` | ||
| + | |||
| + | |||
| + | ==== Port security ==== | ||
| + | |||
| + | En un switch, podemos forzar la seguridad a nivel de puerto para que sólo los dispositivos identificados por su MAC puedan conectarse, y así impedir que otros dispositivos puedan conectarse en lugares no deseados, quitando un cable a un dispositivo legítimo. Esto se hace con `port-security`. | ||
| + | |||
| + | Por defecto, port-security está desactivado, | ||
| + | |||
| + | ``` | ||
| + | Switch(config)# | ||
| + | Switch(config-if)# | ||
| + | Switch(config-if)# | ||
| + | ``` | ||
| + | |||
| + | Con esto, ya tenemos activado port-security. Podemos ver su estado: | ||
| + | |||
| + | ``` | ||
| + | Switch(config-if)# | ||
| + | Port Security | ||
| + | Port Status | ||
| + | Violation Mode : Shutdown | ||
| + | Aging Time : 0 mins | ||
| + | Aging Type : Absolute | ||
| + | SecureStatic Address Aging : Disabled | ||
| + | Maximum MAC Addresses | ||
| + | Total MAC Addresses | ||
| + | Configured MAC Addresses | ||
| + | Sticky MAC Addresses | ||
| + | Last Source Address: | ||
| + | Security Violation Count : 0 | ||
| + | ``` | ||
| + | |||
| + | Como vemos, ha aprendido la MAC del dispositivo, | ||
| + | |||
| + | Todos los comandos a nivel de interfaz empiezan por `switchport port-security`. Vamos a ver otras posibilidades: | ||
| + | * Limitar el número máximo de dispositivos. Con `maximum <X>`, que por defecto es 1. En el caso de un puerto que comparta un teléfono y un PC se podría poner en 2. | ||
| + | * Establecer direcciones mac específicas. Se pueden añadir con `mac-address XXXX.YYYY.ZZZZ`. *IMPORTANTE*: | ||
| + | * Acción a realizar. A través de `violation`, | ||
| + | |||
| + | < | ||
| ==== VTP ==== | ==== VTP ==== | ||
| Line 1073: | Line 1171: | ||
| + | ===== IPv6 ===== | ||
| + | IPv6 tiene varios tipos de direcciones. | ||
| + | |Tipo de Dirección |Prefijo / Rango |Enrutable|Alcance |Uso principal| | ||
| + | |Global Unicast |2000::/ | ||
| + | |Unique Local |FC00::/ | ||
| + | |Link-Local |FE80::/ | ||
| + | |Multicast |FF00::/ | ||
| + | |Anycast |(asignado del rango unicast) | |Variable |Múltiples nodos comparten misma IP, responde el más cercano| | ||
| + | |||
| + | * Al habilitar IPv6 en una interfaz de un router Cisco, además de la que pueda tener de otro tipo (normalmente Global Unicast), se genera automáticamente una dirección Link-Local con base EUI-64 (Extended Unique Identifier-64). Las direcciones EUI-64 generan automáticamente una dirección IPv6 única basándose en los 48 bits de la mac de la interfaz, produciendo un resultado parecido al de usar DHCP. También se puede configurar manualmente una dirección Link-Local diferente. Es obligatorio tener una IPv6 de tipo Link-Local en una interfaz con IPv6, mientras que el resto son opcionales. | ||
| + | * Se pueden tener múltiples direcciones IPv6 en un mismo interfaz (IPv4 sólo admite 2). | ||
| + | * Para generar la dirección Link-Local con EUI-64 en una interfaz con una dirección MAC `00: | ||
| + | * Se divide en dos mitades, `00:1A:28` y `3C:4D:5E`. | ||
| + | * Se inserta `FF:FE` en medio: `00: | ||
| + | * Se invierte el séptimo bit del primer byte (de universal a local): `00000000`=> | ||
| + | * Tras insertar el prefijo, la dirección final es `FE80:: | ||
| + | * Se puede usar la misma ip Link-Local en varias interfaces del mismo dispositivo. | ||
| + | |||
| + | |||
| + | ===== Seguridad ===== | ||
| + | |||
| + | Por defecto, los switches y routers vienen sin seguridad. Esto quiere decir que se puede conectar a través de la consola sin una contraseña. | ||
| + | |||
| + | ==== Acceso por consola ==== | ||
| + | |||
| + | |||
| + | Tenemos varias " | ||
| + | |||
| + | |||
| + | |||
| + | ``` | ||
| + | R1(config)# | ||
| + | R1(config-line)# | ||
| + | R1(config-line)# | ||
| + | ``` | ||
| + | |||
| + | Es importante tener en cuenta que hay que poner `login` después, porque si no, no surtirá efecto. Podemos probarlo usando `exit`: | ||
| + | |||
| + | ``` | ||
| + | User Access Verification | ||
| + | |||
| + | Password: | ||
| + | |||
| + | R1> | ||
| + | |||
| + | ``` | ||
| + | |||
| + | ==== Acceso via telnet ==== | ||
| + | El acceso via telnet no está activado por defecto. Además, hay que configurar una dirección ip para el dispositivo. Para usar telnet usamos la línea `vty`. Hay 16 líneas, de 0 a 15. Por defecto, configuramos todas, de forma similar a como hicimos con la consola. | ||
| + | |||
| + | En un switch capa 2, que no tiene ip, tenemos que poner una ip de gestión en la vlan 1. Después, configuramos la contraseña en las líneas. | ||
| + | |||
| + | ``` | ||
| + | |||
| + | Switch> | ||
| + | Switch#conf t | ||
| + | Enter configuration commands, one per line. End with CNTL/Z. | ||
| + | Switch(config)# | ||
| + | Switch(config-if)# | ||
| + | Switch(config-if)# | ||
| + | |||
| + | |||
| + | Switch(config)# | ||
| + | Switch(config-line)# | ||
| + | Switch(config-line)# | ||
| + | |||
| + | ``` | ||
| + | |||
| + | Luego, desde un pc de la misma red, podemos conectarnos por telnet usando esa contraseña: | ||
| + | |||
| + | |||
| + | ``` | ||
| + | C: | ||
| + | Trying 192.168.0.10 ...Open | ||
| + | |||
| + | |||
| + | User Access Verification | ||
| + | |||
| + | Password: | ||
| + | Switch> | ||
| + | |||
| + | ``` | ||
| + | |||
| + | ==== Logout automático ==== | ||
| + | |||
| + | Por defecto, hay un tiempo de 10 minutos de inactividad (timeout) tras el cual la sesión expirará. Esto se puede cambiar con `exec-timeout`, | ||
| + | |||
| + | ``` | ||
| + | R1(config)# | ||
| + | R1(config-line)# | ||
| + | R1(config)# | ||
| + | R1(config-line)# | ||
| + | |||
| + | ``` | ||
| + | |||
| + | Hemos puesto que para la consola, el timeout sea de 15 minutos, y para telnet, de 5 minutos y 30 segundos. | ||
| + | |||
| + | Si se pone `0` como parámetro, será tiempo indefinido. Esto tiene el problema de que si no se finaliza correctamente una sesión, nadie podrá usar esa línea. | ||
| + | |||
| + | |||
| + | ==== Listas de acceso ==== | ||
| + | |||
| + | Se pueden crear listas de acceso para limitar quién puede acceder remotamente. | ||
| + | |||
| + | ``` | ||
| + | R1(config)# | ||
| + | R1(config)# | ||
| + | R1(config-line)# | ||
| + | R1(config-line)# | ||
| + | R1(config-line)# | ||
| + | |||
| + | ``` | ||
| + | |||
| + | Esto hace que sólo la ip `10.0.0.10` pueda acceder remotamente por telnet. | ||
| + | |||
| + | ``` | ||
| + | C:\> telnet 10.0.0.1 | ||
| + | Trying 10.0.0.1 … | ||
| + | % Connection refused by remote host | ||
| + | ``` | ||
| + | |||
| + | ==== Cifrado de contraseñas ==== | ||
| + | |||
| + | Hasta el momento, hemos limitado el acceso al dispositivo, | ||
| + | |||
| + | ``` | ||
| + | R1(config)# | ||
| + | ``` | ||
| + | |||
| + | De esta forma, es necesario introducir esta contraseña para pasar de usuario a administrador. Sin embargo, esta contraseña es visible al mostrar la configuración: | ||
| + | |||
| + | ``` | ||
| + | R1#show run | ||
| + | Building configuration... | ||
| + | ! | ||
| + | enable password secretpass | ||
| + | ! | ||
| + | |||
| + | ``` | ||
| + | |||
| + | La primer forma de evitar esto es usando `enable secret` en lugar de `enable password` al crear las contraseñas. En caso de haber puesto una, si se usa después `enable secret`, se usará ésta en lugar de la anterior a la hora de acceder como administrador. Al mostrar la configuración, | ||
| + | |||
| + | ``` | ||
| + | ! | ||
| + | ! | ||
| + | enable secret 5 $1$mERr$/ | ||
| + | enable password secretpass | ||
| + | ! | ||
| + | ``` | ||
| + | |||
| + | Sin embargo, otras contraseñas se siguen viendo en claro. Para evitar esto del todo, se utiliza `service password-encryption` en modo de configuración. | ||
| + | |||
| + | ``` | ||
| + | R1(config)# | ||
| + | ``` | ||
| + | |||
| + | De esta forma, ya no se muestra ninguna contraseña en claro. | ||
| + | |||
| + | ==== Usuarios ==== | ||
| + | |||
| + | Lo visto hasta ahora era seguridad a nivel de línea, donde todos los administradores usan la misma contraseña, | ||
| + | |||
| + | ``` | ||
| + | R1(config)# | ||
| + | R1(config)# | ||
| + | R1(config)# | ||
| + | R1(config-line)# | ||
| + | R1(config)# | ||
| + | R1(config-line)# | ||
| + | ``` | ||
| + | |||
| + | De eesta forma, usando `login local` en las líneas, ahora forzamos a que se usen usuarios | ||
| + | |||
| + | ``` | ||
| + | C: | ||
| + | Trying 10.0.0.1 ...Open | ||
| + | User Access Verification | ||
| + | Username: admin1 | ||
| + | Password: < | ||
| + | R1> | ||
| + | ``` | ||
| + | |||
| + | ==== Niveles de acceso privilegiado ==== | ||
| + | |||
| + | Hay 16 niveles de acceso privilegiado, | ||
| + | |||
| + | Por defecto, hay 3 niveles: 0 (que apenas tiene 5 comandos: `logout`, `enable`, `disable`, | ||
| + | `help`, y `exit`); el 1, que es el de usuario, y el 15, que es el de administrador. | ||
| + | |||
| + | |||
| + | ``` | ||
| + | R1(config)# | ||
| + | R1(config)# | ||
| + | R1(config)# | ||
| + | R1(config)# | ||
| + | R1(config-line)# | ||
| + | R1(config)# | ||
| + | R1(config-line)# | ||
| + | ``` | ||
| + | |||
| + | |||
| + | ``` | ||
| + | C: | ||
| + | Trying 10.0.0.1 ...Open | ||
| + | User Access Verification | ||
| + | Username: admin1 | ||
| + | Password: < | ||
| + | R1> | ||
| + | R1>show privilege | ||
| + | Current privilege level is 1 | ||
| + | |||
| + | R1>show ip interface brief | ||
| + | Interface IP-Address OK? Method Status Protocol | ||
| + | GigabitEthernet0/ | ||
| + | GigabitEthernet0/ | ||
| + | GigabitEthernet0/ | ||
| + | Vlan1 unassigned YES unset administratively down down | ||
| + | R1>show run | ||
| + | ^ | ||
| + | % Invalid input detected at ' | ||
| + | |||
| + | ``` | ||
| + | |||
| + | ``` | ||
| + | C: | ||
| + | Trying 10.0.0.1 ...Open | ||
| + | User Access Verification | ||
| + | Username: admin3 | ||
| + | Password: < | ||
| + | R1>show ip interface brief | ||
| + | Interface IP-Address OK? Method Status Protocol | ||
| + | GigabitEthernet0/ | ||
| + | GigabitEthernet0/ | ||
| + | GigabitEthernet0/ | ||
| + | Vlan1 unassigned YES unset administratively down down | ||
| + | R1>show run | ||
| + | ^ | ||
| + | % Invalid input detected at ' | ||
| + | |||
| + | ``` | ||
| + | |||
| + | |||
| + | |||
| + | ``` | ||
| + | C: | ||
| + | Trying 10.0.0.1 ...Open | ||
| + | User Access Verification | ||
| + | Username: admin2 | ||
| + | Password: < | ||
| + | R1# | ||
| + | R1#show privilege | ||
| + | Current privilege level is 15 | ||
| + | |||
| + | R1#sh run | ||
| + | Building configuration... | ||
| + | Current configuration : 1380 bytes | ||
| + | version 15.1 | ||
| + | ! | ||
| + | R1# | ||
| + | R1(config)# | ||
| + | ``` | ||
| + | |||
| + | Si añadimos un privilegio al nivel 5: | ||
| + | |||
| + | ``` | ||
| + | R1(config)# | ||
| + | ``` | ||
| + | |||
| + | |||
| + | ``` | ||
| + | C: | ||
| + | Trying 10.0.0.1 ...Open | ||
| + | User Access Verification | ||
| + | Username: admin3 | ||
| + | Password: < | ||
| + | R1#sh run | ||
| + | Building configuration... | ||
| + | Current configuration : 1380 bytes | ||
| + | version 15.1 | ||
| + | ! | ||
| + | R1# | ||
| + | ^ | ||
| + | % Invalid input detected at ' | ||
| + | ``` | ||
| + | |||
| + | También se pueden establecer contraseñas para los niveles. Si no se especifica nivel, es el 15: | ||
| + | |||
| + | ``` | ||
| + | R1(config)# | ||
| + | R1(config)# | ||
| + | ``` | ||
| + | |||
| + | ``` | ||
| + | C: | ||
| + | Trying 10.0.0.1 ...Open | ||
| + | User Access Verification | ||
| + | Username: admin1 | ||
| + | Password: < | ||
| + | R1>show run | ||
| + | ^ | ||
| + | % Invalid input detected at ' | ||
| + | R1> | ||
| + | Password: < | ||
| + | R1#show run | ||
| + | Building configuration... | ||
| + | Current configuration : 1380 bytes | ||
| + | ! | ||
| + | version 15.1 | ||
| + | no service timestamps log datetime msec | ||
| + | no service timestamps debug datetime msec | ||
| + | no service password-encryption | ||
| + | ! | ||
| + | hostname R1 | ||
| + | ``` | ||
| + | |||
| + | ==== Acceso SSH ==== | ||
| + | |||
| + | Para configurar el acceso por SSH, primero hay que generar una clave RSA en el servidor de al menos 768 bits. Esto se hace con `ip domain-name < | ||
| + | |||
| + | |||
| + | ``` | ||
| + | R1(config)# | ||
| + | R1(config)# | ||
| + | The name for the keys will be: R1.flackbox.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 [512]: 768 | ||
| + | % Generating 768 bit RSA keys, keys will be non- | ||
| + | exportable...[OK] | ||
| + | ``` | ||
| + | |||
| + | SSh usa la misma línea que Telnet, pero con la directiva `transport input < | ||
| + | |||
| + | |||
| + | ``` | ||
| + | R1(config)# | ||
| + | R1(config)# | ||
| + | R1(config-line)# | ||
| + | R1(config-line)# | ||
| + | R1(config-line)# | ||
| + | R1(config)# | ||
| + | |||
| + | ``` | ||
| + | |||
| + | Luego, desde cualquier cliente ssh: | ||
| + | |||
| + | ``` | ||
| + | C:\> ssh –l admin 10.0.0.1 | ||
| + | Open | ||
| + | Password: < | ||
| + | R1> | ||
| + | ``` | ||
start/cursos/cisco.1773589924.txt.gz · Last modified: 2026/03/15 15:52 by 192.168.10.1
