Búsqueda de sitios web

ifconfig vs ip: cuál es la diferencia y comparación de la configuración de red


Las distribuciones basadas en Linux cuentan con un conjunto de comandos que brindan una forma de configurar la red de manera fácil y poderosa a través de la línea de comandos. Este conjunto de comandos está disponible en el paquete net-tools que ha estado disponible durante mucho tiempo en casi todas las distribuciones e incluye comandos como: ifconfig, route<, nameif, iwconfig, iptunnel, netstat, arp.

Estos comandos son casi suficientes para configurar la red de la manera que cualquier usuario principiante o experto de Linux desearía, pero debido a los avances en el kernel de Linux en los últimos años y a la imposibilidad de mantener este conjunto de comandos empaquetados, están quedando obsoletos y son más potentes. Está surgiendo una alternativa que tiene la capacidad de reemplazar todos estos comandos.

Esta alternativa también existe desde hace bastante tiempo y es mucho más poderosa que cualquiera de estos comandos. El resto de las secciones resaltarían esta alternativa y la compararían con uno de los comandos del paquete net-tools, es decir, ifconfig.

ip: un reemplazo para ifconfig

ifconfig ha existido durante mucho tiempo y muchos todavía lo utilizan para configurar, mostrar y controlar interfaces de red, pero ahora existe una nueva alternativa en las distribuciones de Linux que es mucho más poderosa que ella. Esta alternativa es el comando ip del paquete iproute2util.

Aunque este comando puede parecer un poco complejo en un primer momento, tiene una funcionalidad mucho más amplia que ifconfig. Está organizado funcionalmente en dos capas de Networking Stack, es decir, Capa 2 (Capa de enlace), Capa 3 (Capa IP >) y hace el trabajo de todos los comandos mencionados anteriormente del paquete net-tools.

Si bien ifconfig muestra o modifica principalmente las interfaces de un sistema, este comando es capaz de realizar las siguientes tareas:

  1. Visualización o modificación de propiedades de la interfaz.
  2. Agregar y eliminar entradas de caché ARP y crear una nueva entrada ARP estática para un host.
  3. Visualización de direcciones MAC asociadas a todas las interfaces.
  4. Visualización y modificación de tablas de enrutamiento del kernel.

Uno de los aspectos más destacados que lo separa de su antiguo homólogo ifconfig es que este último utiliza ioctl para la configuración de la red, que es una forma menos apreciada de interacción con el kernel mientras que el primero aprovecha del mecanismo de socket netlink para el mismo, que es un sucesor mucho más flexible de ioctl para la intercomunicación entre el kernel y el espacio del usuario utilizando rtnetlink (que agrega capacidad de manipulación del entorno de red).

Ahora podemos comenzar a resaltar las características de ifconfig y cómo se reemplazan efectivamente por el comando ip.

Comandos ip vs ifconfig

La siguiente sección destaca algunos de los comandos ifconfig y su reemplazo mediante comandos ip:

1. Mostrar todas las interfaces de red en Linux

Aquí, una característica distintiva entre ip y ifconfig es que mientras ifconfig solo muestra interfaces habilitadas, ip muestra todas las interfaces, ya sean habilitadas o deshabilitadas.

Comando ifconfig
ifconfig

comando ip
ip a

2. Agregar o eliminar una dirección IP en Linux

El siguiente comando asigna la dirección IP 192.168.80.174 a la interfaz eth0.

ifconfig – Agregar/eliminar dirección IP
ifconfig eth0 add 192.168.80.174

Sintaxis para agregar/eliminar una interfaz usando el comando ifconfig:

ifconfig eth0 add 192.168.80.174
ifconfig eth0 del 192.168.80.174
ip – Agregar/eliminar dirección IP
ip a add 192.168.80.174 dev eth0

Sintaxis para agregar/eliminar una interfaz usando el comando ip:

ip a add 192.168.80.174 dev eth0
ip a del 192.168.80.174 dev eth0

4. Agregue la dirección de hardware MAC a la interfaz de red

El siguiente comando establece la dirección de hardware para la interfaz eth0 al valor especificado en el comando. Esto se puede verificar verificando el valor HWaddr en la salida del comando ifconfig.

ifconfig – Agregar dirección MAC

Aquí, la sintaxis para agregar una dirección MAC usando el comando ifconfig:

ifconfig eth0 hw ether 00:0c:29:33:4e:aa
ip – Agregar dirección MAC

Aquí, la sintaxis para agregar una dirección MAC usando el comando ip:

ip link set dev eth0 address 00:0c:29:33:4e:aa

4. Establecer otras configuraciones de la interfaz de red

Además de configurar la dirección IP o la dirección de hardware, otras configuraciones que se pueden aplicar a una interfaz incluyen:

  1. MTU (Unidad de transferencia máxima)
  2. Bandera de multidifusión
  3. Longitud de la cola de transmisión
  4. Modo promiscuo
  5. Activar o desactivar todos los modos de multidifusión
ifconfig – Otras configuraciones de red
ip: otras configuraciones de red

a. Establezca el valor de MTU en 2000.

ifconfig eth0 mtu 2000
ip link set dev eth0 mtu 2000

b. Habilitar o deshabilitar el indicador de multidifusión.

ifconfig eth0 multicast
ip link set dev eth0 multicast on

C. Configuración de la longitud de la cola de transmisión.

ifconfig eth0 txqueuelen 1200
ip link set dev eth0 txqueuelen 1200

d. Habilitar o deshabilitar el modo promiscuo.

ifconfig eth0 promisc
ip link set dev eth0 promisc on

mi. Habilite o deshabilite todos los modos de multidifusión.

ifconfig eth0 allmulti
ip link set dev eth0 allmulti on

5. Habilitar o deshabilitar la interfaz de red

Los siguientes comandos habilitan o deshabilitan una interfaz de red específica.

ifconfig – Deshabilitar/Habilitar la interfaz de red

El siguiente comando desactiva la interfaz eth0 y se verifica mediante la salida de ifconfig que, de forma predeterminada, muestra solo aquellas interfaces que están activas.

ifconfig eth0 down

Para volver a habilitar la interfaz, simplemente reemplace abajo por arriba.

ifconfig eth0 up
ip – Deshabilitar/Habilitar la interfaz de red

El siguiente comando ip es una alternativa para que ifconfig deshabilite una interfaz específica. Esto se puede verificar mediante la salida del comando 'ip a' que muestra todas las interfaces de forma predeterminada, ya sea arriba o abajo, pero resalta su estado junto con la descripción.

ip link set eth0 down

Para volver a habilitar la interfaz, simplemente reemplace abajo con arriba.

ip link set eth0 up

6. Habilite o deshabilite el uso del protocolo ARP

Los siguientes comandos habilitan o deshabilitan el protocolo ARP en una interfaz de red específica.

ifconfig – Activar/Desactivar el protocolo ARP

El comando permite utilizar el protocolo ARP con la interfaz eth0. Para desactivar esta opción, simplemente reemplace arp con -arp.

ifconfig eth0 arp
ip – Activar/Desactivar el protocolo ARP

Este comando es la alternativa de ip para habilitar ARP para la interfaz eth0. Para deshabilitarlo, simplemente reemplace on con off.

ip link set dev eth0 arp on

Conclusión

Por lo tanto, hemos resaltado las características del comando ifconfig y cómo se pueden realizar usando el comando ip. Actualmente, las distribuciones de Linux proporcionan al usuario ambos comandos para que pueda utilizarlos según su conveniencia. Entonces, ¿qué comando le conviene y cuál preferiría utilizar? Mencione esto en sus comentarios.

Si desea obtener más información sobre estos dos comandos, debe consultar nuestros artículos anteriores que muestran algunos ejemplos prácticos de los comandos ifconfig e ip de manera más detallada.

No te pierdas: 15 ejemplos de “ifconfig” para configurar la interfaz de red en Linux

No te pierdas: 10 ejemplos del comando “ip” para configurar la interfaz de red en Linux