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

Estos comandos son suficientes para configurar la red de la manera que desee cualquier usuario novato o experto en Linux, pero debido al avance en el kernel de Linux en los últimos años y la falta de mantenimiento de este conjunto de comandos empaquetados, están siendo descontinuados y está surgiendo una alternativa más poderosa que tiene la capacidad de reemplazar todos estos comandos.
Esta alternativa también ha estado presente durante bastante tiempo y es mucho más poderosa que cualquiera de estos comandos. El resto de secciones destacarán esta alternativa y la compararán con uno de los comandos del paquete net-tools, es decir, ifconfig.
ip – Un reemplazo para ifconfig
ifconfig ha estado presente durante mucho tiempo y aún se utiliza para configurar, mostrar y controlar interfaces de red por muchos, 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 pueda parecer un poco complejo al principio, en realidad tiene una funcionalidad mucho más amplia que ifconfig. Está organizado funcionalmente en dos capas del stack de red, es decir, Capa 2 (Capa de Enlace), Capa 3 (Capa IP) y realiza las mismas funciones que todos los comandos mencionados anteriormente del paquete net-tools.
Mientras que ifconfig principalmente muestra o modifica las interfaces de un sistema, este comando es capaz de realizar las siguientes tareas:
- Mostrar o modificar propiedades de la interfaz.
- Agregar, eliminar entradas de la caché ARP junto con la creación de una nueva entrada ARP estática para un host.
- Mostrar direcciones MAC asociadas con todas las interfaces.
- Mostrar y modificar tablas de enrutamiento del kernel.
Uno de los principales aspectos destacados que lo diferencia de su antiguo homólogo ifconfig es que este último utiliza ioctl para la configuración de red, que es una forma menos apreciada de interactuar con el kernel, mientras que el primero aprovecha el mecanismo de socket netlink para lo mismo, que es un sucesor mucho más flexible de ioctl para la intercomunicación entre el kernel y el espacio de usuario utilizando rtnetlink (que agrega capacidad de manipulación del entorno de red).
Ahora podemos comenzar a destacar las características de ifconfig y cómo son reemplazadas efectivamente por el comando ip.
Comandos ip vs ifconfig
La siguiente sección destaca algunos de los comandos de ifconfig y su reemplazo utilizando comandos ip:
1. Mostrando todas las interfaces de red en Linux
Aquí, una característica distintiva entre ip e ifconfig es que mientras ifconfig solo muestra interfaces habilitadas, ip muestra todas las interfaces, ya sea 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. Agregar la dirección MAC al hardware de 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 revisando el valor de HWaddr
en la salida del comando ifconfig.
ifconfig – Agregar dirección MAC
Aquí, la sintaxis para agregar la 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 la dirección MAC usando el comando ip:
# ip link set dev eth0 address 00:0c:29:33:4e:aa
4. Configuración de 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:
- MTU (Unidad de Transferencia Máxima)
- Indicador de multidifusión
- Longitud de la cola de transmisión
- Modo promiscuo
- Habilitar o deshabilitar todos los modos multicast
ifconfig – Otras configuraciones de red
ip – Otras configuraciones de red
a. Set MTU value to 2000.
# ifconfig eth0 mtu 2000
# ip link set dev eth0 mtu 2000
b. Enable or Disable multicast flag.
# ifconfig eth0 multicast
# ip link set dev eth0 multicast on
c. Setting the transmit queue length.
# ifconfig eth0 txqueuelen 1200
# ip link set dev eth0 txqueuelen 1200
d. Enabling or disabling promiscuous mode.
# ifconfig eth0 promisc
# ip link set dev eth0 promisc on
e. Enable or disable all multicast mode.
# 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 interfaz de red
El siguiente comando deshabilita la interfaz eth0
y se verifica mediante la salida de ifconfig, que por defecto muestra solo aquellas interfaces que están activas.
# ifconfig eth0 down
Para volver a habilitar la interfaz, simplemente reemplace down por up.
# ifconfig eth0 up
ip – Deshabilitar/Habilitar interfaz de red
El siguiente comando ip es una alternativa para ifconfig para deshabilitar una interfaz específica. Esto se puede verificar mediante la salida del comando 'ip a'
que muestra todas las interfaces por defecto, ya sea activas o no, pero resalta su estado junto con la descripción.
# ip link set eth0 down
Para volver a habilitar la interfaz, simplemente reemplace down con up.
# ip link set eth0 up
6. Habilitar o deshabilitar el uso del protocolo ARP
Los siguientes comandos habilitan o deshabilitan el protocolo ARP en una interfaz de red específica.
ifconfig – Habilitar/Deshabilitar protocolo ARP
El comando habilita el protocolo ARP para ser utilizado con la interfaz eth0. Para deshabilitar esta opción, simplemente reemplace arp con -arp
.
# ifconfig eth0 arp
ip – Habilitar/Deshabilitar protocolo ARP
Este comando es la alternativa de ip para habilitar ARP en la interfaz eth0. Para deshabilitar, simplemente reemplace on con off.
# ip link set dev eth0 arp on
Conclusión
Así, hemos destacado las características del comando ifconfig y cómo se pueden realizar utilizando el comando ip. Actualmente, las distribuciones de Linux proporcionan al usuario ambos comandos para que pueda utilizarlos según su conveniencia. Entonces, ¿cuál comando es conveniente para ti y preferirías usar? Por favor, menciona esto en tus comentarios.
Si deseas aprender más sobre estos dos comandos, entonces deberías revisar nuestros artículos anteriores que muestran algunos ejemplos prácticos de ifconfig e ip en una forma más detallada.
No te lo pierdas: 15 Ejemplos de “ifconfig” para configurar la interfaz de red en Linux
No te lo pierdas: 10 Ejemplos de “ip” para configurar la interfaz de red en Linux
Source:
https://www.tecmint.com/ifconfig-vs-ip-command-comparing-network-configuration/