El comando ifconfig en Linux: configurar interfaces de red

Introducción

En los sistemas tipo Unix, la gestión de las interfaces de red es esencial para administradores y usuarios avanzados. Aunque el comando ip ha ido reemplazando a ifconfig en muchas distribuciones modernas, esta herramienta sigue presente en numerosos sistemas Linux, especialmente en entornos heredados o scripts de arranque. ifconfig permite consultar y modificar el estado de las tarjetas de red, mostrando información como dirección MAC, IP, máscara y MTU. En este artículo veremos cómo usar ifconfig para inspeccionar interfaces, activarlas o desactivarlas, asignar direcciones IP estáticas y comprender sus limitaciones frente a las herramientas más actuales.

¿Qué es ifconfig?

ifconfig, abreviatura de «interfaz de configuración», es un programa de línea de comandos que permite consultar y modificar los parámetros de las interfaces de red en un sistema Linux. Originado en BSD, se incluyó en el paquete net-tools y se convirtió en un estándar para mostrar datos de cada interfaz: dirección MAC, estado (UP/DOWN), IP, máscara de subred y MTU. Además, permite cambiar esas características en tiempo real sin reiniciar el servicio de red, lo que resulta útil para pruebas, diagnóstico y configuraciones temporales. Aunque su uso ha disminuido frente al comando ip, todavía aparece en muchos manuales y scripts de administración.

Sintaxis básica

La sintaxis de ifconfig es simple: se escribe el comando seguido opcionalmente del nombre de la interfaz y luego las opciones que indican la acción a ejecutar. Sin argumentos muestra un resumen de todas las interfaces detectadas; con -a también se muestran las inactivas. Para modificar una interfaz, se indica su nombre (por ejemplo, eth0 o wlan0) y luego los parámetros que se desean cambiar, como la dirección IP, la máscara de red o el estado (up/down). Las opciones más habituales son ‘up’ para activar, ‘down’ para desactivar, una IP seguida de netmask para definir la máscara, y mtu para ajustar el MTU.

Visualizar interfaces

Para ver todas las interfaces, ejecuta ifconfig -a. El flag -a muestra también las inactivas, que el comando omite por defecto. La salida incluye, para cada interfaz, el nombre, el estado (UP o DOWN), la dirección MAC (HWaddr), la IP (inet), la máscara de red (netmask), la dirección de broadcast y el MTU. También aparecen estadísticas de paquetes transmitidos y recibidos, errores y colisiones. Esta información ayuda a diagnosticar problemas: si falta una IP, quizá la interfaz no esté configurada o el DHCP no respondió; si está DOWN, se levanta con ifconfig up; y un MTU inadecuado puede provocar fragmentación o mala performance.

Activar/desactivar una interfaz

Activar o desactivar una interfaz con ifconfig es inmediato y no requiere reiniciar el daemon de redes. Para levantar una interfaz use: ifconfig nombre_interfaz up; para bajarla: ifconfig nombre_interfaz down. Estos comandos cambian el estado a UP o DOWN, permitiendo o deteniendo el tráfico, mientras la configuración IP permanece en el kernel hasta que se le asigne una nueva o se vuelva a levantar. Son útiles para reemplazar un cable, probar una nueva IP sin afectar a otras interfaces, o aislar una tarjeta para pruebas de seguridad. Si la interfaz es gestionada por NetworkManager o un servicio persistente, los cambios pueden ser sobrescritos al reactivar el servicio.

Asignar dirección IP y máscara

Asignar una dirección IP estática y su máscara de subred con ifconfig se hace en un solo paso. La sintaxis básica es: ifconfig nombre_interfaz dirección_IP netmask máscara. Por ejemplo, para configurar eth0 con la IP 192.168.10.25 y máscara 255.255.255.0 se ejecuta: ifconfig eth0 192.168.10.25 netmask 255.255.255.0. Si solo se quiere cambiar la máscara, basta con repetir la IP actual seguida de netmask y la nueva máscara. También se puede combinar la activación en la misma línea: ifconfig eth0 up 192.168.10.25 netmask 255.255.255.0. Es importante evitar IP que entren en conflicto y verificar que la máscara refleje correctamente el tamaño de la subred.

Configurar rutas y MTU

Beyond IP and mask, ifconfig allows adjusting other parameters that affect interface behavior. The MTU (Maximum Transmission Unit) defines the maximum packet size that can be sent without fragmentation; typical values are 1500 for Ethernet and 1492 for some PPP links. To change the MTU use: ifconfig nombre_interfaz mtu valor, for example: ifconfig eth0 mtu 1400. Although ifconfig does not manage routing tables directly, assigning an IP and mask makes the kernel create a direct route to the subnet. For a default gateway you must use route or ip route; older scripts sometimes incorrectly use ifconfig with 0.0.0.0, which does not set a gateway and should be avoided.

Ejemplos prácticos y alternativas modernas

Para consolidar lo aprendido, aquí algunos ejemplos prácticos que puede copiar en su terminal: 1. Mostrar todas las interfaces: ifconfig -a. 2. Levantar wlan0 y obtener IP mediante DHCP: ifconfig wlan0 up && dhclient wlan0. 3. Configurar IP estática en eth0: ifconfig eth0 10.0.5.10 netmask 255.255.255.0 up. 4. Cambiar el MTU de eth0 a 9000 para jumbo frames: ifconfig eth0 mtu 9000. Aunque ifconfig sigue siendo útil, la herramienta ip del paquete iproute2 ofrece una interfaz más consistente y potente, especialmente para gestionar múltiples direcciones IP por interfaz y políticas de enrutamiento avanzadas. En distribuciones recientes ip ha reemplazado a ifconfig como predeterminado, pero conocer ambos comandos permite administrar sistemas heredados y comprender la evolución de las herramientas de red en Linux.

Esta entrada está disponible también en ENGLISH.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Esta obra está bajo una Licencia Creative Commons Atribución 4.0 Internacional para Francesc Roig francesc@vivaldi.net .