# Configuración de router por CLI

En un **router Cisco** (y en Packet Tracer) para configurar interfaces desde la terminal tienes que ir pasando por **distintos modos de operación**, cada uno con un nombre concreto. El flujo típico es este:

1. **User EXEC mode:** El modo básico cuando entras.
2. **Privileged EXEC mode** (también llamado **enable mode**): Permite usar comandos avanzados y entrar en configuración.
3. **Global Configuration mode:** Te permite configurar parámetros globales del dispositivo.
4. **Interface Configuration mode:** Es el modo específico para configurar una interfaz.

Opcionalmente, también existen:

5. **Subinterface Configuration mode p**ara VLANs o encapsulación.
6. **Line Configuration mode p**ara configurar consola, vty, AUX…

Aaquí tienes un esquema del flujo:

<figure><img src="https://539580950-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FiKvwltOme7zTxep3LVyW%2Fuploads%2FQs7USNfLxZwkDUSIU9QU%2Fcisco.png?alt=media&#x26;token=fec3a279-70a9-4023-90e1-70304bbb0db9" alt=""><figcaption></figcaption></figure>

Vamos a ver algunas prácticas comunes de configuración de router.

## Configuración de router

Partiendo de esto:

<figure><img src="https://539580950-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FiKvwltOme7zTxep3LVyW%2Fuploads%2FwTWapY8GTUPdn3QpmqeE%2Fimage.png?alt=media&#x26;token=2a24fb5c-b8a3-4241-a27b-c2e44f2f1af3" alt=""><figcaption></figcaption></figure>

Vamos con la configuración:

### 1. Configurar cada interfaz con una IP y activarla

```
Router> enable
Router# configure terminal
Router# hostname R1
##Configurar Mensaje de Ingreso a los router o switchs 
Router(config)# banner motd # message # 

# Configurar la interfaz de la red 1
Router(config)# interface gigabitEthernet 0/0
Router(config-if)# ip address 10.10.10.1 255.255.255.0
Router(config-if)# no shutdown
Router(config-if)# exit

# Configurar la interfaz de la red 2
Router(config)# int g2/0
Router(config-if)# ip address 20.20.20.1 255.255.255.0
Router(config-if)# no shutdown
Router(config-if)# exit
```

### 2. Configuración de pool de DHCP por red:

```
Router (config)# ip dhcp excluded-address 10.10.10.1 10.10.10.9
Router (config)# ip dhcp pool RED1
Router (dhcp-config)# network 10.10.10.0 255.255.255.0
Router (dhcp-config)# default-router 10.10.10.1
Router (dhcp-config)# dns-server 10.10.10.5
Router (dhcp-config)# exit

Router (config)# ip dhcp excluded-address 20.20.20.1 20.20.20.5
Router (config)# ip dhcp pool RED2
Router (dhcp-config)# network 20.20.20.0 255.255.255.0
Router (dhcp-config)# default-router 20.20.20.1
Router (dhcp-config)# dns-server 10.10.10.5
Router (dhcp-config)# exit
```

{% hint style="warning" %}
Ten en cuenta que para configurar un **pool DHCP limitado a un rango concreto**, como por ejemplo **de la 10.10.10.100 a la 10.10.10.200**, debes:

1. **Definir la red completa en el pool**.
2. **Excluir todas las IP que NO quieras entregar**, es decir:
   * De la .1 a la .99
   * De la .201 a la .254

Cisco IOS **no permite definir el rango dentro del pool**, solo la red completa.\
El *rango real* se consigue con exclusiones.
{% endhint %}

Para comprobar:

```
R1# show ip dhcp pool
R1# show ip dhcp binding
R1# show run
```

### 3. Configuración de rutas estáticas:

```
# Configurar ruta por defecto hacia el ISP
Router(config)# ip route 20.20.20.0 255.255.255.0 10.10.10.0
Router(config)# ip route 10.10.10.0 255.255.255.0 20.20.20.0
Router(config)# end
```

Y ahora, a verificar:

```
Router# show ip interface brief
Router# show interfaces g0/0
Router# show ip route
```

### 4. Almacenamiento de la información

En los routers y switches Cisco, la información esta alojada en memoria RAM  o almacenamiento NVRAM dependiendo del uso, un comando básico es:

```
Router# copy running-config startup-config
#O bien, abreviado:
Router# copy run start
##O bien tambien:
Router# write memory
```

Ya que:

🔹 **`running-config` (configuración en ejecución)**

* Es la configuración **activa ahora mismo**, en **RAM**.
* Cambia en tiempo real conforme introduces comandos.
* **Si apagas o reinicias el router, se pierde**, salvo que la guardes.

Mientras que:

🔹 **`startup-config` (configuración de arranque)**

* Es la configuración **guardada permanentemente**, almacenada en **NVRAM**.
* El router **la carga al arrancar**.
* No cambia automáticamente: sólo cambia cuando haces un `copy`.

Un error clásico en las prácticas es que si modificas el router, por ejemplo IPs de interfaces, DHCP, Rutas, Contraseñas, VLANs o Nombres de host y **no ejecutas el comando**, entonces, si se apaga o se reinicia el router, lo pierdes TODO, volverás a la configuración anterior guardada o incluso a vacío.

Podemos también jugar con estas configuraciones:

```
#Ver la running-config:
Router# show running-config

#Ver la startup-config:
Router# show startup-config

#Sobrescribir la running-config con la startup-config (volver atrás):
Router# copy startup-config running-config
#Equivale a "restaurar copia".

#Borrar la configuración de arranque:
Router# erase startup-config
Router# reload
```

### 5. Habilitar CDP y LLDP

#### **CDP – Cisco Discovery Protocol**

* **Protocolo propietario de Cisco**.
* Función: permite que un **dispositivo Cisco descubra automáticamente otros dispositivos Cisco vecinos** conectados directamente.
* Información que comparte CDP:
  * Nombre del dispositivo vecino
  * Tipo de dispositivo (router, switch, etc.)
  * Interfaces conectadas
  * IP de gestión
  * Sistema operativo y versión

Comandos

```
##Habilitar CDP 
Switch(config)# cdp run 
Router(config)# no cdp run             -------------- Deshabilitar CDP 

##Habilitar CDP por interfaz  
Switch(config)# interface gi 0/0 
Switch(config-if)# cdp enable  
Switch(config)# interface gi 2/0 
Switch(config-if)# no cdp enable 

##Monitorear y mantener CDP 
Switch# clear cdp counters 
Switch# clear cdp table 
Switch# show cdp 
R3# show cdp neighbors 
R3# show cdp neighbors detail        ------------ Visualizamos la ip del router remoto
```

Salida típica:

| Device ID | Local Intf | Holdtime | Capability | Platform | Port ID |
| --------- | ---------- | -------- | ---------- | -------- | ------- |
| R2        | Fa0/0      | 120      | R          | 2811     | Fa0/1   |

* `Device ID`: nombre del router vecino
* `Local Intf`: interfaz del router desde donde se ve el vecino
* `Port ID`: interfaz del vecino conectada

***

#### **LLDP – Link Layer Discovery Protocol**

* **Protocolo estándar (IEEE 802.1AB)**, soportado por casi todos los fabricantes.
* Función: igual que CDP, pero **multivendor**. Puedes usarlo entre equipos Cisco y no Cisco.
* Información que comparte:
  * Similar a CDP (nombre, puerto, capacidad, sistema operativo, IP de gestión).

Comandos:

```
##Habilitar LLDP 
switch(config)# lldp run 
switch(config)# end
Switch(config)# interface fastethernet 0/0 
Switch(config-if)# lldp enable 

##Show Commands 
R1# show lldp neighbors 
```

Salida típica:

| Device ID | Local Intf | Chassis ID | Port ID | TTL |
| --------- | ---------- | ---------- | ------- | --- |

Con esto cubrimos la mayoría de temario básico de router, ampliaremos más en las siguientes prácticas.&#x20;

Si quieres avanzar y revisar algo más te recomiendo mirarte:

* IP SLA
* Enrutamiento IPv6
