Este documento describe las prácticas de laboratorio sobre sistemas de transporte de datos. La Práctica 1 se centra en el encaminamiento dinámico con IPv4 e incluye secciones sobre listas de control de acceso, traducción de direcciones con NAT y PAT, y protocolos de enrutamiento como RIP y EIGRP. El documento explica los conceptos clave y los pasos para configurar estas funciones en un equipo de red.
4. Práctica 1. Encaminamiento dinámico con IPv4
Sistemas
de
Transporte
de
Datos
–
Ingeniería
Informática
Listas de Control de Acceso (ACL)
• Las ACL son un mecanismo para clasificar los paquetes que circulan a través de un router.
• Una ACL está formada por un grupo de declaraciones que permiten (“permit”) o deniegan
(“deny”) paquetes.
• Se pueden aplicar a: interfaces (entrada/salida router), políticas QoS y traducciones NAT.
• Las reglas ACL se verifican en orden descendente. Colocar las más restrictivas primero.
• Existe un deny any any implícito al final de la ACL.
Rango del identificador
1 – 99 Lista IP estándar (IP Orig)
100 – 199 Lista IP extendida (IP Orig/Dest; Puerto Orig/Dest)
200 – 299 Lista de acceso por campo “type-code”
700 – 799 Lista LAN con direcciones de 48-bit MAC
1100 – 1199 Lista LAN extendida con direcciones de 48-bit MAC
1300 – 1999 Lista IP estándar (rango expandido)
2000 – 2699 Lista IP extendida (rango expandido)
5. Práctica 1. Encaminamiento dinámico con IPv4
Sistemas
de
Transporte
de
Datos
–
Ingeniería
Informática
Listas de Control de Acceso (ACL)
• Sintaxis línea lista ACL
access-list acl_num {deny|permit} protocolo
IP_origen [wildcard_origen] [operador puerto_origen]
IP_destino [wildcard_destino] [operador puerto_dest]
Protocolo: ip | icmp | udp | tcp
Ip Origen/Destino: host ip_equipo / ip_red wildcard. Para cualquier valor: any
Wildcard: Complementario en binario de la máscara de red.
Mask: 255.255.0.0 Wildcard: 0.0.255.255
Operador: eq (igual) | lt (menor) | gt (mayor)
• Ejemplo ACL
access-list 101 remark Criterios para marcar precedencia 1
access-list 101 permit ip host 193.145.232.131 host 10.1.3.3
access-list 101 deny udp any 10.1.0.0 0.0.255.255 eq 80
access-list 101 permit ip host 193.145.232.132 host 10.1.2.2
6. Práctica 1. Encaminamiento dinámico con IPv4
Sistemas
de
Transporte
de
Datos
–
Ingeniería
Informática
Traducción de direcciones con NAT y PAT
• NAT (Network Address Translation): Cambia las direcciones IP de los paquetes (NAT básico)
y los puertos TCP/UDP (PAT – Port Address Translation, overloading NAT).
• Objetivo: Permitir interconectar redes con direcciones incompatibles Equipos de una red
privada, con direccionamiento privado, acceden a una red externa con otro direccionamiento
(aplicación más utilizada de NAT).
• 2 redes: inside (interior) y outside (exterior).
• 4 direccionamientos: inside local/global, outside local/global.
• NAT Estático: Cada dirección/puerto siempre se traduce igual. Fijadas por el administrador.
• NAT Dinámico: Se dispone de un conjunto (pool) de direcciones públicas menor que privadas.
Internet
Outside
Inside
IP Orig: Inside Local
IP Dest: Outside Local
IP Orig: Inside Global
IP Dest: Outside Global
LAN
IP Orig: Outside Global
IP Dest: Inside Global
IP Orig: Outside Local
IP Dest: Inside Local
7. Práctica 1. Encaminamiento dinámico con IPv4
Sistemas
de
Transporte
de
Datos
–
Ingeniería
Informática
Pasos para configuración NAT
• Definir interfaces NAT inside y outside.
• Definir objetivos que se pretenden conseguir con NAT:
• Permitir a usuarios internos acceder a internet.
• Permitir a usuarios de internet acceder a servicios internos.
• Permitir redirigir tráfico TCP a otro puerto TCP.
• Permitir que se comuniquen redes con direcciones solapadas.
• Configurar NAT para cumplir los requisitos establecidos:
• NAT estático.
• NAT dinámico (conjunto de direcciones: pool).
• PAT / Overloading NAT (múltiples IP 1 IP con múltiples puertos).
• Una combinación de los anteriores.
• Verificar el funcionamiento de NAT:
• Analizador de tráfico (WireShark, tcpdump…)
• Comando “show ip nat translations” para ver tabla NAT.
8. Práctica 1. Encaminamiento dinámico con IPv4
Sistemas
de
Transporte
de
Datos
–
Ingeniería
Informática
Traducción de direcciones internas
Paquete Red Interior Paquete Red Exterior
origen: IP 10.1.1.2, puerto 1000
destino: IP 190.1.2.3, puerto 53
origen: IP 80.1.2.3, puerto 1000
destino: IP 190.1.2.3, puerto 53
origen: IP 10.1.1.3, puerto 2000
destino: IP 50.1.2.3, puerto 80
origen: IP 80.1.2.4, puerto 2000
destino: IP 50.1.2.3, puerto 80
origen: IP 10.1.1.4, puerto 1000
destino: IP 50.1.2.3, puerto 80
origen: IP 80.1.2.3, puerto 1001
destino: IP 50.1.2.3, puerto 80
NAT Dinámico: Todas las máquinas 10.1.0.0/16 deben salir a través de
dos direcciones IP públicas 80.1.2.3/4 mediante el uso de PAT (overload).
interface Eth2
ip address 10.1.0.1 255.255.0.0
ip nat inside
interface Eth1
ip address 80.1.2.3
ip address 80.1.2.4 secondary
ip nat outside
ip nat inside source interface Eth1 overload
Comandos IOS
Traducciones dinámicas
Interfaces Internas
(inside local)
Interfaces Externas
(inside global)
Traducción PAT
9. Práctica 1. Encaminamiento dinámico con IPv4
Sistemas
de
Transporte
de
Datos
–
Ingeniería
Informática
Traducción de direcciones internas
Paquete Red Exterior Paquete Red Interior
origen: IP X1.X1.X1.X1, puerto Y1
destino: IP 80.1.2.3, puerto 80
origen: IP X1.X1.X1.X1, puerto Y1
destino: IP 10.1.10.2, puerto 80
origen: IP X2.X2.X2.X2, puerto Y2
destino: IP 80.1.2.3, puerto 8080
origen: IP X2.X2.X2.X2, puerto Y2
destino: IP 10.1.1.3, puerto 80
origen: IP X3.X3.X3.X3, puerto Y3
destino: IP 80.1.2.3, puerto 21
origen: IP X3.X3.X3.X3, puerto Y3
destino: IP 10.1.1.4, puerto 21
NAT Estático: Los servidores de la red privada siempre tienen que ser
accesibles con las mismas IPs desde fuera.
ip nat inside source static tcp 10.1.10.2 80 interface Eth1 80
ip nat inside source static tcp 10.1.1.3 80 interface Eth1 8080
ip nat inside source static tcp 10.1.1.4 21 interface Eth1 21
Comandos IOS
Traducciones estáticas
10. Práctica 1. Encaminamiento dinámico con IPv4
Sistemas
de
Transporte
de
Datos
–
Ingeniería
Informática
Traducción de direcciones internas
NAT según ACL: Al definir una traducción NAT se puede asociar a una lista
ACL para que sólo se aplique la traducción a los paquetes que la cumplan.
• ACL asociada directamente a un comando NAT:
ip nat inside source list 106 interface Eth1 overload
access-list 106 deny IP any 172.25.30.0 0.0.0.255
access-list 106 permit any any
• ACL asociada a un comando NAT a través de un “route-map”:
ip nat inside source route-map permitidos interface Eth1 overload
access-list 100 permit 10.2.0.0 0.0.255.255 any
access-list 100 permit 10.1.0.0 0.0.255.255 any
route-map permitidos permit 10
match ip address 1000
Sólo se aplica el NAT a los equipos
definidos en route-map(lista de acceso 100-
host redes 10.1.0.0 y 10.2.0.0
Asociar NAT a una ACL
No aplicar NAT a los paquetes dirigidos a
172.25.30.0.0/24 y procedentes de cualquier IP interna
11. Práctica 1. Encaminamiento dinámico con IPv4
Sistemas
de
Transporte
de
Datos
–
Ingeniería
Informática
Traducción de direcciones externas
Paquete Red Interior Paquete Red Exterior
origen: IP 10.1.1.4, puerto 1010
destino: IP 10.10.10.5, puerto 80
origen: 80.1.2.3, puerto 1010
destino: 190.1.2.3, puerto 80
NAT Estático: Los equipos de la red interna pueden acceder a los servicios
de un equipo externo como si estuviera en la red interna.
ip nat outside source static 190.1.2.3 10.10.10.5 extendable
Inside global Inside local Outside local Outside global
80.1.2.3:1010 10.1.1.4:1010 10.10.10.5:80 190.1.2.3:80
Para que cualquier equipo
de la red acceda a 190.1.2.3
como si fuese 10.10.10.5
Traducción estática
Inside global Inside local Outside local Outside global
----- ------ 10.10.10.5 190.1.2.3
Traducción dinámica
Traducción estática
12. Práctica 1. Encaminamiento dinámico con IPv4
Sistemas
de
Transporte
de
Datos
–
Ingeniería
Informática
Traducción de direcciones externas
Paquete Red Exterior Paquete Red Interior
origen: IP 10.1.1.3, puerto 1010
destino: IP 172.16.0.1, puerto 80
origen: 10.55.0.1, puerto 1010
destino: 10.1.1.2, puerto 80
NAT Dinámico: Permitir que equipos externos (LAN 3) con el mismo rango
de direcciones que los equipos internos accedan a la red interna (LAN 1).
ip nat pool ip-nuevas 10.55.0.1 10.55.255.254 netmask 255.255.0.0
access-list 1 permit 10.1.0.0 0.0.255.255
ip nat outside source list 1 pool ips-nuevas
• Sería necesario también una traducción inside estática para direccionar el servidor 10.1.1.2 con la IP pública 172.16.0.1 y
para la traducción PAT del resto de IP privadas de la LAN1:
ip nat inside source static tcp 10.1.1.2 80 interface Eth1 80
ip nat inside source interface Eth1 overload
Definición de una lista de acceso con las
direcciones externas y una lista de direcciones
(nat pool) con las IP a utilizar nuevas
13. Práctica 1. Encaminamiento dinámico con IPv4
Sistemas
de
Transporte
de
Datos
–
Ingeniería
Informática
Resumen funcionamiento NAT
• Cuando un paquete viaja del exterior (outside) al interior (inside):
• 1º Traducción NAT 2º Encaminamiento IP
• Cuando un paquete viaja del interior (inside) al exterior (outside):
• 1º Encaminamiento IP 2º Traducción NAT
• La siguiente tabla indica la dirección del paquete IP que es traducida según el comando
de definición NAT utilizado:
• Las definiciones NAT estáticas tienen una entrada fija en la tabla NAT y permiten
iniciar la conexión tanto a equipos internos como externos.
• Las definiciones NAT dinámicas generan una entrada en la tabla NAT sólo cuando se
inicia una conexión desde el lado correspondiente a la definición. Por lo tanto, no se
puede iniciar conexión desde el otro lado.
Comando Acción
ip nat inside source
static
• Traduce la IP origen de los paquetes interior exterior
• Traduce la IP destino de los paquetes exterior interior
ip nat outside source
static
• Traduce la IP origen de los paquetes exterior interior
• Traduce la IP destino de los paquetes interior exterior
14. Práctica 1. Encaminamiento dinámico con IPv4
Sistemas
de
Transporte
de
Datos
–
Ingeniería
Informática
Enrutamiento dinámico RIP
• Los protocolos de enrutamiento dinámico permiten que los routers describan y
administren las rutas necesarias para crear sus tablas de encaminamiento dinámicamente.
• RIP (Routing Information Protocol) es un protocolo de enrutamiento dinámico:
Los mensajes RIP son transportados por datagramas UDP dirigidos al puerto 520. Son
enviados a la dirección de multicast MAC: 01:00:5E:00:00:09 / IP: 224.0.0.9.
Es un protocolo de vector de distancias: Emplea el número de saltos a un destino
(métrica) para determinar la ruta óptima a un destino. No analiza el ancho de banda.
El nº máximo de saltos es 15. Cualquier ruta con 16 saltos, se considera inalcanzable.
Usaremos RIP v.2, que incluye mejoras respecto a RIP v.1.
15. Práctica 1. Encaminamiento dinámico con IPv4
Sistemas
de
Transporte
de
Datos
–
Ingeniería
Informática
15
Enrutamiento dinámico
RIP 2 (Ripv2): versión actualizada de RIP 1 (RFC 2453).
Identificadores de rutas externas. Permite propagar información sobre rutas
establecidas con otros protocolos de encaminamiento.
Incluye información de la máscara de subred. Permite trabajar con subredes.
Dirección del siguiente salto. El mensaje RIP 2 especifica, además del número de
saltos para llegar a la IP destino la dirección IP del siguiente router (Next Hop).
Autentificación. Aporta mecanismos para que un router solo acepte determiandos
mensajes RIP con el objetivo de aumentar la seguridad de acceso los routers.
*Multicasting. Los paquetes RIP 2 se envían a una IP específica de multicast
(224.0.0.9). Solo los routers con RIP 2 hacen caso de lo recibido por esa dirección.
Además, los paquetes multicast se transportan en direcciones MAC reservadas.
Transporte RIP 2 en LANs
(enlace datos)
Direcciones MAC
específicas
IP Broadcast: 224.0.0.9
MAC: 000746 000009
T. Ethernet RIP2
Transporte en LANs Direcciones MAC reservadas
L24 00:01:5e:00:00:09
16. Práctica 1. Encaminamiento dinámico con IPv4
Sistemas
de
Transporte
de
Datos
–
Ingeniería
Informática
16
Enrutamiento dinámico
Formato trama RIP 2
Los mensajes RIP son transportados por datagramas UDP al puerto 520.
Cabecera RIP (4 bytes)
8 bits (1 byte) 8 bits (1 byte) 16 bits (2 bytes)
Entrada de ruta
(20 bytes)
Máximo de 25 rutas
Paquete IP
Cabecera UDP Cab UDP (8 bytes)
(2)
Request (1)
Response (2)
Familia IP (2)
Datos nueva ruta Identificación RIP (0)
Resto de rutas
(20 bytes/ruta)
17. Práctica 1. Encaminamiento dinámico con IPv4
Sistemas
de
Transporte
de
Datos
–
Ingeniería
Informática
17
Enrutamiento dinámico
Funcionamiento RIP 2
RIP Request
(Comando = 1)
RIP 2 activo
RIP Request
(Comando = 1)
Solicitud de tablas
RIP Response
(Comando = 2)
Tablas de rutas
(Dirección Multicast 224.0.0.9)
Todos los routers con RIP instalado lanzan periódicamente las rutas
(RIP Response, Comando = 2) a los routers adyacentes
≈ 30 segundos
Actualización Tablas
- Métrica menor
- Cambia Gateway (router)
- Añade nuevas rutas
- Una ruta no actualizada se
borra en 3 min.
18. Práctica 1. Encaminamiento dinámico con IPv4
Sistemas
de
Transporte
de
Datos
–
Ingeniería
Informática
Enrutamiento dinámico EIGRP
• EIGRP (Enhanced Interior Gateway Routing Protocol) es un protocolo de enrutamiento dinámico de
“vector de distancia” pero con características de “estado de enlace”. Es una mejora de IGRP.
• Utiliza tres tablas para su funcionamiento:
Tabla de vecinos: EIGRP mantiene actualizada una tabla de routers adyacentes mediante
mensajes Hello enviados a la IP multicast 224.0.0.10.
Tabla de topología: Es una base de datos de las rutas informadas por los vecinos y sus métricas
obtenidas mediante el algoritmo DUAL.
o Para cada par destino-vecino, se almacena la métrica indicada por el vecino (Advertised
Distance) y la métrica total (incluyendo el coste del enlace con dicho vecino).
Tabla de encaminamiento: Se obtiene a partir de la tabla de topología, seleccionando la ruta con
menor métrica (Feasible Distance) para cada destino.
19. Práctica 1. Encaminamiento dinámico con IPv4
Sistemas
de
Transporte
de
Datos
–
Ingeniería
Informática
Mensajes EIGRP
Cabecera
(24 bytes)
Código Suma de verificación
Número de secuencia del mensaje
Número de ACK
Número de sistema autónomo
Contenido (Parámetros EIGRP, versión EIGRP o datos de ruta)
Versión
Indicadores (flags)
Bit 0 7 8 15 16 Bit 31
• Existen cinco tipos de mensajes:
Update (cod. 1): Envía sólo rutas que cambian a los routers vecinos.
Query (cod. 3): Solicita posibles rutas para llegar a un destino.
Reply (cod. 4): Respuesta a mensaje Query con información sobre rutas.
Hello (cod. 5): Descubrimiento de vecinos. No necesita ACK.
Acknowlegment (cod. 5): Confirmación de la recepción de otros mensajes.
Tipo Longitud
Control
de Flujo
20. Práctica 1. Encaminamiento dinámico con IPv4
Sistemas
de
Transporte
de
Datos
–
Ingeniería
Informática
Routers redundantes con HSRP
• HSRP (Host Standby Routing Protocol) es un protocolo de Cisco que permite definir routers
redundantes para crear una topología de red tolerante a fallos.
• HSRP genera un router virtual que tiene una IP dentro de la red y una MAC de la forma
00:00:0C:AC:XX. El router con mayor prioridad será el router activo que ejecuta las funciones del
virtual. Si falla, el router en espera (“standby”) con mayor prioridad del grupo HSRP (nº grupo = XX)
ocupará su puesto.
• HSRP utiliza tres tipos de mensajes que son enviados entre los routers:
Hello (Saludo): Mensajes multicast (224.0.0.2) con información de estado.
Coup (Asalto): Router en espera se transforma en activo al pasar “hold time”.
Resign (Renuncia): Router activo indica que va a dejar de ser activo porque se va a apagar o
porque ha recibido un hello de otro router con mayor prioridad.
21. Práctica 1. Encaminamiento dinámico con IPv4
Sistemas
de
Transporte
de
Datos
–
Ingeniería
Informática
Topología L24
Hinweis der Redaktion
Las ACL se pueden aplicar en multitud de sistemas operativos en red, tales como el IOS de Cisco, que es lo que vamos a emplear hoy.
En la definición de una lista ACL en la interfaz de entrada red de un router, entonces se permiten o bloquean los paquetes que entran por esa interfaz.
Si están definida una ACL en la definición de un política QoS, entonces la ACL especifica a qué paquetes se le especifica una restricción de velocidad y a cuáles no.
Si una de estas condiciones permit se cumple, la ACL dejará de recorrer la lista y devolverá true al comando que la llamó. Si una condición deny se cumple, se devuelve un false al comando que la llamó. Siempre hay un condición deny any any, por lo que si no se cumple ninguna regla anterior, la ACL descarta los paquetes automáticamente.
TABLA: las listas ACL permiten establecer las condiciones de no sólo por direcciones IP, sino también por puertos, protocolos, bits de cabecera, tamaño de paquetes, etc. Los números para identificar las ACL definen su espectro de actuación (nosotros sólo vamos a trabajar con los números en negrita).
Ejemplo de ACL: cada ACL se identifica con un número y las distintas condiciones de la ACL se definen tras el comando «access-list».
1. La primera línea establece una descripción para la lista.
2. La segunda línea devuelve verdadero para los paquetes IP que vienen desde el host 193.145.232.131 y van al 10.1.3.3.
3. La tercera línea define una segunda condición: devuelve falso para los paquetes UDP que vienen desde cualquier IP (any) y van dirigidos a una dirección que empieza por 10.1 y al puerto 80 (destino).
4. La última línea define una condición de verdadero para los paquetes IP que van desde el host 193.145.232.132 al 10.1.2.2.
Si no se cumplen ninguna de las tres condiciones, la lista devolverá falso.
NAT: técnica empleada en enrutamiento. De forma general NAT sirve para traducir (o cambiar) las direcciones de los paquetes del nivel de red de forma transparente a los niveles superiores, especialmente al de aplicación.
INSIDE: equipos red local.
OUTSIDE: equipos de la red externa
Inside Local: es la dirección asignada a un equipo de la red interna privada con la que se encamina la red interna.
Inside Global: dirección externa (pública) con la que se direcciona un equipo de la red local en la red externa (la IP pública con la que sale un equipo fuera).
Outside Local: dirección de un equipo externo que aparenta tener o con la que se direcciona cuando está dentro de la red interna (privada).
Outside Global: dirección asignada a un equipo de la red externa con la que se encamina en la red externa.
NAT te permite poder solicitar muchas menos IP públicas, ya que para un rango alto de direcciones IP privadas, vamos a poder salir a Internet con un número de IP públicas menor.
No todos los protocolos de aplicación basados en TCP/IP admiten NAT.
NAT dinámico: configuración del router con una serie de direcciones de una red que deben ser traducidas a una conjunto de direcciones de otra red púbica más reducido. Cambias los puertos de conexión TPC/UDP y guarda en la tabla la asignación para posteriormente enviarle los datos de vuelta correctamente.
NAT estático: sustituciín concreta de una IP externa a una interna directamente o viceversa. Es útil cuando un equipo externo desea acceder a un servidor interno.
Lo más habitual es que el router es una red de este estilo es que sólo traduzca las IP privadas para salir al externas es decir, TRADUCCIÓN DE DIRECCIONES INTERNAS.
Lo que interesa es que cualquier dirección de la red interna 10.1.x.x el router la traduzca a una de las dos IP públicas para poder acceder a Internet PAT (traducciones dinámicas).
Importante: NAT trata de mantener el puerto cliente si es posible. El router mantiene las traducciones a modo de caché para que las direcciones destino de los paquetes de vuelta procedentes de los servidores sean traducidas a direcciones privadas siguiendo el proceso inverso.
Si se desea además también disponer de servidores dentro de la red privada, por ejemplo un servidor web (puerto 80) en el equipo 10.1.10.2, otro en el 10.1.1.3 puerto 8080 y uno FTP en el 10.1.1.4 (puerto 21) y que sean accesibles en la dirección 80.1.2.3. Mostrar «show ip nat address translations» (tabla página 5) y comentar cada una de las columnas.
INSIDE: estamos hablando de traducciones internas (ip nat inside).
La traducción de direcciones internas es soportada por la mayoría de routers.
Un ejemplo de traducciones externas de direcciones externas para la Figura puede ser la siguiente: se desea que un equipo de Internet con dirección IP 190.1.2.3 sea direccionado en la red interna como si fuera el 10.10.10.5, esto es como si fuera un equipo con dirección privada. Por ejemplo, el router realizaría la traducción estática de la tabla.
Cabe destacar que para que una traducción de direcciones externas como la anterior funcione correctamente, el router debe recibir los paquetes dirigidos a la dirección 10.10.10.5, por lo que hay que configurar los equipos para que usen la dirección del router como puerta de enlace para el destino 10.10.10.5/32 (para que salgan a través de la NAT).
También se puede configurar la traducción de direcciones externas para que se aplique automáticamente cuando un equipo público acceda a la IP privada. Es decir, cuando sea el equipo externo el que comience la comunicación. Esto es útil para cuando hay equipos en redes locales con el mismo rango de direcciones IP (puede ocurrir). LAN3 no puede acceder porque emplea el mismo direccionamiento. Para que los equipos de la LAN3 puedan acceder a la LAN1 sus direcciones (que son externas) deben ser traducidas por el NAT del Router 1.
Para ello se requiere definir una lista de acceso con las direcciones externas que deben ser convertidas y una lista de direcciones con las posibles direcciones a utilizar dentro de la red interna.