Uso de arp.

Autor: Joel Barrios Dueñas
Correo electrónico: darkshram en gmail punto com
Sitio de Red: https://www.alcancelibre.org

Licencia Creative Commons
© 1999-2026 Joel Barrios Dueñas. Este manual se distribuye bajo la licencia Creative Commons Reconocimiento-NoComercial-CompartirIgual 4.0 Internacional (CC BY-NC-SA 4.0). Usted es libre de compartir y adaptar el material bajo los siguientes términos: debe dar crédito al autor, no puede utilizarlo para fines comerciales y debe compartir las obras derivadas bajo la misma licencia. La licencia completa está disponible en https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode.es.

Introducción.

ARP es el acrónimo de Address Resolution Protocol o Protocolo de Resolución de Direcciones. Su función principal consiste en establecer la correspondencia entre una dirección IP (nivel de red) y una dirección física MAC (nivel de enlace de datos) dentro de una red local. Cada sistema mantiene una tabla o caché ARP en memoria RAM con las asignaciones recientes para evitar realizar consultas constantes y optimizar la comunicación.

Para consultar la descripción técnica completa del mandato arp, ejecute:

man 8 arp

Equipamiento lógico necesario.

El mandato arp forma parte del paquete net-tools. En distribuciones modernas como AlmaLinux, Rocky Linux y RHEL 8/9/10, este paquete está ausente en la instalación por defecto, debido a que el conjunto iproute2 (con el mandato ip neigh) es la herramienta recomendada para la administración de red. Sin embargo, arp permanece disponible en los almacenes de software y resulta muy útil para aprendizaje y guiones de instrucciones específicos.

Para instalarlo en distribuciones basadas en RHEL:

dnf install net-tools

En sistemas ALDOS que utilizan SysVinit y yum como gestor de paquetes, el mandato es:

yum install net-tools

Procedimientos.

Esta sección cubre tanto la configuración del sistema que afecta al comportamiento del protocolo ARP como el uso práctico del mandato para consultar y manipular la tabla de resolución de direcciones.

Gestión del tiempo de vida del caché ARP.

El tiempo predeterminado que una entrada permanece en la caché ARP es de 60 segundos. Este valor puede verificarse examinando el archivo virtual correspondiente:

cat /proc/sys/net/ipv4/neigh/default/gc_stale_time

Aumentar este tiempo resulta útil en entornos de red estables con muchos equipos (cientos o miles), donde las renovaciones constantes de la caché pueden generar carga innecesaria en el servidor.

Para cambiar el valor temporalmente a 3600 segundos (1 hora) para todas las interfaces y para una interfaz específica (ej: enp0s8), utilice sysctl:

sysctl -w net.ipv4.neigh.default.gc_stale_time=3600
sysctl -w net.ipv4.neigh.enp0s8.gc_stale_time=3600

Para hacer el cambio permanente, añada las siguientes líneas al archivo de configuración /etc/sysctl.conf o, preferentemente, a un archivo dentro del directorio /etc/sysctl.d/ (ej: /etc/sysctl.d/99-arp.conf):

net.ipv4.neigh.default.gc_stale_time = 3600
net.ipv4.neigh.enp0s8.gc_stale_time = 3600

📝 Nota sobre nombres de interfaz: Los ejemplos utilizan enp0s8 (nomenclatura predictible de systemd). Para listar las interfaces de su sistema y conocer su nombre, ejecute ip link o ls /sys/class/net.

Uso básico del mandato arp.

A continuación se presentan los mandatos esenciales para visualizar, añadir, eliminar y gestionar las entradas de la tabla ARP, fundamentales para el diagnóstico y la administración de red.

Consultar la tabla ARP.

La opción -a muestra la caché en un formato legible (estilo BSD), indicando la dirección IP, la MAC asociada y la interfaz de red.

arp -a

Salida de ejemplo:

? (192.168.100.84) at d0:37:45:bd:17:46 [ether] on enp0s8
? (192.168.100.1)  at f4:9e:ef:5c:ec:6a [ether] on enp0s8

Ejecutar arp sin opciones muestra la tabla en el formato tradicional de Linux, con columnas bien definidas.

arp

Salida de ejemplo:

Address                  HWtype  HWaddress           Flags Mask            Iface
192.168.100.84           ether   d0:37:45:bd:17:46   C                     enp0s8
192.168.100.1            ether   f4:9e:ef:5c:ec:6a   C                     enp0s8

Opciones útiles para filtrar y formatear.

La opción -n evita la resolución de nombres DNS, mostrando sólo direcciones IP numéricas. Es más rápida y útil para diagnóstico.

arp -n

La opción -i filtra la salida para mostrar sólo las entradas de una interfaz específica.

arp -i enp0s8

Administración manual de entradas ARP.

Para añadir manualmente una entrada estática a la tabla (útil para equipos incapaces de responder a ARP), utilice la opción -s con la IP o nombre y la dirección MAC:

arp -s 192.168.100.200 00:08:a1:84:18:ad

Para eliminar una entrada específica de la tabla, utilice la opción -d:

arp -d 192.168.100.200

Limpieza completa de la caché ARP.

En escenarios de resolución de problemas —por ejemplo, cuando un equipo cambia su tarjeta de red o hay conflictos de IP—, puede ser necesario purgar toda la caché. El siguiente guion (script) en bash elimina todas las entradas dinámicas de la tabla:

for i in $(arp -n | awk '{print $1}' | grep -v Address);
do
   arp -d $i
done

Explicación didáctica del guion:

  1. arp -n: Lista la tabla en formato numérico.
  2. awk '{print $1}': Extrae sólo la primera columna (las direcciones IP).
  3. grep -v Address: Filtra y descarta la línea de cabecera que contiene la palabra "Address".
  4. for i in $(...): Itera sobre la lista de direcciones IP resultante.
  5. arp -d $i: Elimina cada entrada de la caché ARP.

🔧 Consejos para diagnóstico y enseñanza

Este manual, con sus ejemplos prácticos y explicaciones ampliadas, es ideal para comprender la operación fundamental del protocolo ARP en un entorno docente o de administración.