Uso de ip neigh

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

El mandato ip neigh (abreviatura de ip neighbour), perteneciente a la poderosa suite iproute2, es la herramienta moderna y recomendada para gestionar y diagnosticar la tabla de asociación entre direcciones de red (IP) y direcciones de sustento físico (MAC) en sistemas Linux. Este manual, con enfoque pedagógico, explica su operación mediante ejemplos ejecutables que puede contrastar en su propio sistema.

Reemplaza de manera efectiva al ya obsoleto mandato arp (consultar el manual Uso de arp para su contexto histórico), ofreciendo un control más granular, una salida más clara e integración total con el resto de herramientas de red de iproute2.

Procedimientos esenciales

Los siguientes procedimientos cubren las operaciones fundamentales para inspeccionar y gestionar la tabla de asociación de direcciones de red (ARP) utilizando el mandato moderno ip neigh. Cada ejemplo es ejecutable y se basa en un entorno de red realista para fines pedagógicos.

Consulta de la tabla de vecinos (ARP)

Para visualizar el contenido actual de la tabla de vecinos, utilice el siguiente mandato. Este procedimiento puede ejecutarlo cualquier usuario del sistema, sin necesidad de privilegios especiales:

ip neigh show

Una salida realista en una estación de trabajo típica podría ser similar a ésta. El formato y color de la salida varía según la versión de iproute2 instalada:

192.168.100.1 dev eth0 lladdr f4:9e:ef:5c:ec:6a REACHABLE
192.168.100.56 dev eth0 lladdr d6:a7:10:df:f8:31 STALE

🎨 Nota sobre el color en la salida: Las versiones modernas de iproute2 (aproximadamente a partir de la 5.9.0, incluida en ALDOS actualizado y Fedora) muestran la salida con colores por defecto, resaltando estados como REACHABLE en verde. En distribuciones como RHEL/AlmaLinux/Rocky Linux 8, que incluyen una versión anterior, la salida es monocromática. Puede forzar el comportamiento deseado con las opciones -c (color) o -C (sin color): ip -c neigh show para color, ip -C neigh show para monocromático.

La columna STALE indica que la entrada existe, pero no se ha verificado recientemente su validez. El estado REACHABLE confirma que el vecino es accesible.

Para mostrar únicamente las entradas asociadas a una interfaz de red específica (por ejemplo, eth0), añada el filtro dev:

ip neigh show dev eth0

Manipulación de entradas ARP

Además de consultar la tabla, ip neigh permite modificarla. Los siguientes mandatos requieren privilegios de administrador (sudo o sesión de root) para ejecutarse.

Añadir una entrada estática

A diferencia de la consulta, modificar la tabla de vecinos requiere privilegios de administrador (root). Mientras que las entradas dinámicas se aprenden automáticamente, a veces es necesario añadir una entrada manual o estática a la tabla. Para ello, utilice el mandato ip neigh add con sudo o desde una sesión de root:

sudo ip neigh add 192.168.100.200 lladdr 00:1a:2b:3c:4d:5e dev eth0 nud permanent

La opción nud permanent marca la entrada como permanente, lo que impide que el núcleo la sobrescriba o elimine.

Eliminar una entrada específica

Para eliminar una entrada asociada a una dirección IP particular de la tabla, también se requieren privilegios de administrador:

sudo ip neigh del 192.168.100.56 dev eth0

Este mandato eliminaría la entrada correspondiente al teléfono en los ejemplos anteriores.

Vaciar (flushear) la tabla de vecinos

Para eliminar todas las entradas aprendidas dinámicamente de la tabla de vecinos en una interfaz, forzando al sistema a redescubrirlas, utilice:

sudo ip neigh flush dev eth0

Este procedimiento es útil para solucionar problemas de conectividad en la red local cuando se sospecha de información ARP obsoleta o corrupta. Las entradas marcadas como permanent no serán eliminadas.

Diagnóstico y solución de problemas

El estado de las entradas en la tabla ARP es clave para diagnosticar fallos de conectividad en la red local. Siga este flujo estructurado para identificar y resolver problemas comunes:

  1. Verifique la conectividad básica: Antes de diagnosticar ARP, asegúrese de que puede hacer ping al equipo destino. Por ejemplo, para probar la puerta de enlace:

    ping -c 3 192.168.100.1
    
  2. Busque entradas incompletas o fallidas: Una entrada con estado FAILED o INCOMPLETE indica un problema. Puede forzar una nueva solicitud ARP eliminando la entrada problemática con sudo ip neigh del y luego intentando un ping.

  3. Ejemplo de flujo de diagnóstico: Suponga que el teléfono (192.168.100.56) no responde.

    • Primero, verifique si existe una entrada en la tabla (este mandato no requiere privilegios):
      ip neigh show dev eth0 | grep 192.168.100.56
      
    • Si la entrada tiene estado STALE o FAILED, elimínela (requiere sudo):
      sudo ip neigh del 192.168.100.56 dev eth0
      
    • Luego, fuerce una nueva resolución ARP intentando contactarlo:
      ping -c 2 192.168.100.56
      
    • Finalmente, consulte la tabla nuevamente. Una nueva entrada con estado REACHABLE confirmaría que el problema se ha resuelto.

Verificación de la versión de iproute2

Para comprender el comportamiento de color y las funcionalidades disponibles, es útil saber qué versión de iproute2 está instalada. El paquete correspondiente en distribuciones basadas en RPM se llama iproute. Ejecute el siguiente mandato para consultarlo:

ip -V

La salida mostrará un número de versión. Por ejemplo, ip utility, iproute2-ss240126 indica una versión muy moderna con soporte completo a color. Con esta información, puede contrastar el comportamiento descrito en los ejemplos del manual con el de su sistema específico.

📚 Bibliografía y referencias

💡 Consejo pedagógico: Para comprender el ciclo de vida de una entrada ARP, ejecute ip neigh show dev eth0 en una terminal y observe cómo cambia el estado (REACHABLE -> STALE -> DELAY -> PROBE) de una entrada para un equipo de la red a lo largo del tiempo. Puede acelerar el proceso desactivando momentáneamente la conexión de red del equipo observado.