Explicación del ARP Proxy

Contenido de la lección

La mayoría de los estudiantes de redes están familiarizados con el ARP (Address Resolution Protocol) pero el ARP Proxy no siempre les suena. En esta lección explicaré cómo funciona el ARP proxy, para ello utilizaremos la siguiente topología:

En el ejemplo anterior tenemos dos subredes: 10.1.1.0 /24 y 10.2.2.0 /24. El router del centro está conectado a ambas subredes. En la parte inferior se ven dos hosts (H1 y H2) y en la parte superior tenemos un servidor (S1).

Cuando se mira de cerca a los hosts se puede ver que H1 tiene una máscara de subred /24 y H2 tiene una máscara de subred /8. Cuando H1 intenta alcanzar el servidor en 10.2.2.100 ocurrirá lo siguiente:

  1. H1 compara su dirección IP y su máscara de subred con la dirección IP del servidor (10.2.2.100) y decide que el servidor está en otra subred.
  2. H1 decide enviar el paquete para el servidor a su puerta de enlace por defecto (10.1.1.254).
  3. H1 comprueba su tabla ARP para ver si hay una entrada para 10.1.1.254, si no es así enviará una petición ARP.
  4. El router responderá a la petición ARP, enviando su dirección MAC de su interfaz FastEthernet 0/0.

Así es como funciona normalmente el ARP, cuando H2 intente enviar un paquete IP hacia el servidor ocurrirá otra cosa:

  1. H2 compara su dirección IP y su máscara de subred con la dirección IP del servidor (10.2.2.100) y decide que el servidor está en la misma subred.
  2. H2 comprueba su tabla ARP para ver si hay una entrada para 10.2.2.100, si no envía una petición ARP.

El servidor, sin embargo, no está en la subred 10.1.1.0 /24 y los routers no reenvían el tráfico de difusión por lo que la petición ARP nunca llega al servidor. Sin embargo, no se ha perdido toda la esperanza:

Cuando el ARP proxy está habilitado en el router, esto es lo que sucede:

  1. El router ve la solicitud ARP de H2 en la subred 10.1.1.0 /24 y ve que se trata de una solicitud ARP para algo en la subred 10.2.2.0 /24.
  2. El router se da cuenta de que sabe cómo llegar a la subred 10.2.2.0 /24 y decide responder a la petición ARP para ayudar a H2.
  3. El router envía una respuesta ARP a H2 con su dirección MAC en la interfaz FastEthernet 0/0.

¿Me estás siguiendo hasta ahora? Déjame mostrarte cómo se ve esto en un router real.

Configuración

Usaré la siguiente topología para demostrar el ARP proxy:

Es lo mismo que la imagen que te acabo de mostrar pero estoy usando los routers de mi laboratorio. Desactivando el «ip routing» puedo convertir los routers en dispositivos host normales. Empecemos por deshabilitar el enrutamiento en R1, R2 y el servidor:

H1, H2 & S1(config)#no ip routing

Configuremos la puerta de enlace por defecto en esos dispositivos:

H1 & H2(config)#ip default-gateway 10.1.1.254
S1(config)#ip default-gateway 10.2.2.254

Configuremos todas las direcciones IP que necesitemos:

H1(config)#interface fastEthernet 0/0H1(config-if)#ip address 10.1.1.1 255.255.255.0
H2(config)#interface fastEthernet 0/0H2(config-if)#ip address 10.1.1.2 255.0.0.0
S1(config)#interface FastEthernet 0/0S1(config-if)#ip address 10.2.2.100 255.255.255.0

Nota que aquí he utilizado la máscara de subred /8 en H2. Aquí está el router:

R1(config)#interface FastEthernet 0/0R1(config-if)#ip address 10.1.1.254 255.255.255.0R1(config-if)#interface FastEthernet 0/1R1(config-if)#ip address 10.2.2.254 255.255.255.0

Eso es todo lo que tenemos que configurar… ¡verifiquemos nuestro trabajo!

Verificación

Para probar el ARP proxy primero enviaré algo de tráfico desde H1 al servidor para que puedas ver cómo es el ARP normal, y luego enviaremos algo de tráfico desde H2 al servidor.

El ARP proxy está habilitado por defecto como puedes ver aquí:

R1#show ip interface FastEthernet 0/0 | include Proxy Proxy ARP is enabled

Para ver en tiempo real lo que está pasando, usaré el siguiente debug en R1:

R1#debug arpARP packet debugging is on

Enviemos algunos pings desde el host A al servidor:

Deja una respuesta

Tu dirección de correo electrónico no será publicada.