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.