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.
Configurar la red en GNU/Linux requiere comprender los fundamentos de IP versión 4 y saber utilizar cualquier editor de texto simple. Este manual proporciona una guía práctica y actualizada para la administración de red en distribuciones modernas como AlmaLinux 9, Rocky Linux 9, Red Hat® Enterprise Linux 9 y ALDOS, la cual, a pesar de utilizar SysVinit, incorpora un stack de red completamente moderno basado en NetworkManager e iproute2.
Comprender cómo Linux identifica y nombra los componentes de red constituye el primer paso para cualquier tarea de configuración avanzada. Esta sección explica los diferentes esquemas de nomenclatura y cómo elegir el más adecuado para su entorno.
Existen dos esquemas principales para nombrar interfaces de red en las distribuciones modernas:
enp0s3, eno1, ens3): Es el predeterminado en AlmaLinux, Rocky Linux y RHEL 9. Los nombres se derivan de la ubicación física del hardware en el bus del sistema.eth0, eth1, wlan0): Es el esquema clásico, predeterminado en ALDOS y comúnmente utilizado en servidores de proveedores de hosting (como GoDaddy, Codero, etc.), donde a menudo se desactiva el esquema predictible para garantizar compatibilidad con guiones de instrucciones de automatización heredados y mantener uniformidad en entornos heterogéneos.Para identificar las interfaces en su sistema, utilice:
ip link show
O bien:
ls /sys/class/net/
Nota para los ejercicios: En este manual se utilizará eth0 para ejemplos en sistemas con esquema tradicional (ALDOS) y enp0s3 para sistemas con esquema predictible (AlmaLinux 9). Adapte los nombres según corresponda a su entorno.
En raras ocasiones, una actualización del núcleo (kernel) o del firmware del sistema puede alterar la lógica de detección del hardware, provocando que el esquema predictible asigne nombres distintos a las mismas interfaces físicas. Este escenario, aunque infrecuente, puede presentar un desafío significativo en servidores de misión crítica donde numerosas configuraciones (reglas de muro cortafuegos, supervisión, guiones de instrucciones para respaldo) dependen de un nombre de interfaz específico.
El esquema tradicional (eth0, eth1), al independizarse por completo de la topología física del hardware, garantiza inmunidad ante tales alteraciones y ofrece una capa adicional de estabilidad para entornos donde la predictibilidad absoluta del nombre constituye un requisito fundamental. Por esta razón, numerosos administradores de sistemas y centros de datos lo eligen como la estrategia predeterminada desde el inicio.
Para probar cómo se comportaría el sistema con el esquema tradicional sin hacer cambios permanentes, puede pasar los parámetros necesarios directamente en el cargador de arranque durante el inicio.
linux o linux16. Al final de los parámetros existentes, añada:
net.ifnames=0 biosdevname=0
El sistema arrancará utilizando los nombres del esquema tradicional (eth0). Esta modificación es volátil y sólo afecta a la sesión de arranque actual.
Para hacer el cambio de esquema permanente y evitar futuras alteraciones en los nombres de las interfaces, es necesario modificar la configuración del cargador de arranque y actualizar los archivos de configuración de red.
Modificar los parámetros por defecto del núcleo: La herramienta recomendada para este fin en distribuciones modernas es grubby. El siguiente mandato añade los parámetros necesarios a la configuración por defecto de GRUB2 de manera permanente.
sudo grubby --update-kernel=ALL --args="net.ifnames=0 biosdevname=0"
Para verificar que los cambios se aplicaron, puede ejecutar:
sudo grubby --info=ALL | grep args
Renombrar y actualizar los archivos de configuración de red:
Tras el próximo reinicio, las interfaces utilizarán nombres como eth0. Es necesario reasociar la configuración de red existente a estos nuevos nombres.
enp3s0) corresponde a cada dirección MAC, usando ip link show./etc/sysconfig/network-scripts/, renómbrelos para reflejar el nuevo nombre de dispositivo.
sudo mv /etc/sysconfig/network-scripts/ifcfg-enp3s0 /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE al nuevo nombre (ej: DEVICE=eth0).*.nmconnection: El proceso es similar. Renombre el archivo del perfil y, dentro de él, localice y modifique la línea interface-name= para que coincida con el nuevo nombre (ej: interface-name=eth0).Reinicie el sistema:
sudo reboot
Si en algún momento necesita revertir al esquema predictible, simplemente elimine los parámetros añadidos al núcleo y restaure los nombres originales de los archivos de configuración.
sudo grubby --update-kernel=ALL --remove-args="net.ifnames=0 biosdevname=0"
Consideración final: Elegir un esquema de nomenclatura es una decisión de diseño del sistema. El esquema tradicional ofrece máxima estabilidad para configuraciones estáticas en hardware conocido, mientras que el predictible facilita la identificación del hardware físico en entornos dinámicos. Evalúe las necesidades de su entorno para tomar la mejor decisión.
NetworkManager es el servicio predeterminado para la gestión de red en distribuciones RHEL 9 y derivadas. ALDOS incluye NetworkManager 1.26 como su gestor predeterminado, haciendo que los procedimientos modernos sean totalmente aplicables. Es una herramienta válida y eficiente tanto para estaciones de trabajo como para servidores, gestionable mediante nmcli (línea de mandatos), nmtui (interfaz de texto) o archivos de configuración.
NetworkManager asigna nombres genéricos a las conexiones nuevas (ej: Conexión cableada 1). Para mayor claridad, es recomendable renombrarlas con un nombre descriptivo como eth0.
Liste todas las conexiones gestionadas por NetworkManager y su interfaz (DEVICE) asociada:
nmcli connection show
Identifique la conexión activa (con DEVICE asignado) y su nombre actual (columna NAME).
nmcli)Utilice el mandato nmcli connection modify para cambiar el nombre descriptivo (connection.id).
Ejemplo en ALDOS (interfaz eth0):
sudo nmcli connection modify "Conexión cableada 1" connection.id "eth0"
Ejemplo en AlmaLinux (interfaz enp0s3):
sudo nmcli connection modify "Wired connection 1" connection.id "enp0s3"
Liste nuevamente las conexiones para confirmar el nuevo nombre. En adelante, usaremos estos nombres consistentes en los ejemplos.
Antes de realizar cambios permanentes en la configuración de red, es crucial poder diagnosticar el estado actual y realizar ajustes temporales para probar nuevos parámetros. Esta sección cubre las herramientas esenciales para ambas tareas, comenzando con el moderno conjunto de utilidades iproute2.
El paquete iproute2 (ip, ss) ha reemplazado al conjunto de herramientas obsoleto net-tools (ifconfig, route, netstat, arp). Es imprescindible familiarizarse con sus mandatos.
Para ver todas las interfaces, sus direcciones IP y estado:
ip addr list
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq state UP group default qlen 1000
link/ether b4:2e:99:1e:01:7a brd ff:ff:ff:ff:ff:ff
inet 192.168.100.6/24 brd 192.168.100.255 scope global noprefixroute eth0
valid_lft forever preferred_lft forever
inet6 fe80::91f1:cd41:3c33:a04d/64 scope link noprefixroute
valid_lft forever preferred_lft forever
Para consultar la tabla de enrutamiento. Observe las diferencias en el nombre del dispositivo (eth0 vs enp0s3):
Salida típica en ALDOS:
ip route show default via 192.168.100.1 dev eth0 proto static metric 100 192.168.100.0/24 dev eth0 proto kernel scope link src 192.168.100.6 metric 100
Salida típica en AlmaLinux 9:
ip route show default via 192.168.100.1 dev enp0s3 proto static metric 100 192.168.100.0/24 dev enp0s3 proto kernel scope link src 192.168.100.61 metric 100
Los cambios con ip son temporales (se pierden al reiniciar). Son ideales para pruebas.
Añadir una dirección IP alias:
sudo ip addr add 192.168.100.62/24 dev eth0
Añadir una ruta estática:
sudo ip route add 10.0.0.0/8 via 192.168.100.1
Gestionar el estado de una interfaz:
sudo ip link set eth0 down # Desactivar interfaz sudo ip link set eth0 up # Activar interfaz
La configuración persistente garantiza que todos los ajustes de red —como direcciones IP, rutas, servidores DNS y el nombre del sistema— se mantengan intactos tras un reinicio. Esta sección detalla los procedimientos para establecer dicha persistencia, ya sea mediante herramientas de gestión modernas como nmcli o mediante la edición directa de archivos de configuración clave.
El método moderno y universal es utilizar el archivo /etc/hostname. Sin embargo, la herramienta para cambiarlo varía:
En AlmaLinux 9 / Rocky Linux 9 / RHEL 9 (con systemd):
sudo hostnamectl set-hostname servidor1.dominio.local
En ALDOS (con SysVinit):
sudo set-hostname servidor1.dominio.local
También puede editar directamente el archivo /etc/hostname en ambos sistemas y reiniciar.
En ALDOS el archivo /etc/sysconfig/network se mantiene por legado y es actualizado automáticamente por el sistema al reiniciar.
La configuración persistente se logra modificando perfiles de conexión, preferentemente mediante nmcli.
nmcli (Recomendado)Configurar una IP estática, puerta de enlace y DNS (usando nombres de conexión coherentes):
sudo nmcli connection modify "eth0" \
ipv4.method manual \
ipv4.addresses "192.168.100.6/24" \
ipv4.gateway "192.168.100.1" \
ipv4.dns "8.8.8.8 8.8.4.4"
sudo nmcli connection up "eth0"
Añadir una dirección IP alias de forma persistente:
sudo nmcli connection modify "eth0" +ipv4.addresses "192.168.100.62/24" sudo nmcli connection up "eth0"
El método recomendado es añadirlas al perfil de NetworkManager con nmcli.
Añadir una ruta estática a un perfil:
sudo nmcli connection modify "eth0" +ipv4.routes "10.0.0.0/8 192.168.100.200" sudo nmcli connection up "eth0"
El MTU (Maximum Transmission Unit) define el tamaño máximo de la trama de datos que una interfaz de red puede enviar sin fragmentación. Su valor predeterminado suele ser 1500 bytes para Ethernet, lo que es óptimo para la mayoría de redes y conexiones a Internet.
Para qué sirve cambiarlo:
Riesgos de aumentarlo en exceso: Si el MTU es mayor que el soportado por cualquier dispositivo en la ruta de la red, los paquetes se fragmentarán (degradando rendimiento) o se descartarán, causando pérdida de conectividad. Jamás debe exceder la capacidad física del medio.
Cambiar el MTU temporalmente con ip:
sudo ip link set eth0 mtu 9000
Cambiar el MTU de forma persistente con nmcli:
sudo nmcli connection modify "eth0" 802-3-ethernet.mtu 9000 sudo nmcli connection up "eth0"
Siga esta secuencia de ejercicios para aplicar todos los conceptos. Adapte el nombre de la interfaz y conexión según su sistema.
Ejecute estos mandatos para conocer el estado de su red antes de realizar cambios:
ip addr list ip route show nmcli connection show cat /etc/hostname
Identifique su conexión activa y cámbiele el nombre a un formato predecible (eth0 o enp0s3) usando el procedimiento de la sección correspondiente.
Añada una dirección IP temporal y una ruta estática temporal. Verifique que aparecen con los comandos de diagnóstico.
sudo ip addr add 192.168.100.99/24 dev eth0 sudo ip route add 192.168.200.0/24 via 192.168.100.1
Haga persistente la dirección IP alias 192.168.100.99/24 usando nmcli con el nuevo nombre de conexión.
sudo nmcli connection modify "eth0" +ipv4.addresses "192.168.100.99/24" sudo nmcli connection up "eth0"
Configure los servidores DNS de Google y un dominio de búsqueda para su conexión.
sudo nmcli connection modify "eth0" ipv4.dns "8.8.8.8 8.8.4.4" sudo nmcli connection modify "eth0" ipv4.dns-search "red-local.local" sudo nmcli connection up "eth0"
Cambie el nombre de su sistema de manera persistente, usando la herramienta correcta para su distribución.
En AlmaLinux 9:
sudo hostnamectl set-hostname practica-red.red-local.local
En ALDOS:
sudo set-hostname practica-red.red-local.local
Compruebe la conectividad básica y la resolución de nombres.
ping -c 4 192.168.100.1 # Puerta de enlace ping -c 4 8.8.8.8 # DNS externo ping -c 4 www.google.com # Resolución de nombres arp -n # Tabla ARP local
Elimine la dirección IP y la ruta que añadió en el paso 3 para limpiar el estado.
sudo ip addr del 192.168.100.99/24 dev eth0 sudo ip route del 192.168.200.0/24 via 192.168.100.1
Experimente cambiando el MTU de su interfaz a un valor temporal y luego reviértalo.
sudo ip link set eth0 mtu 9000 ip link show eth0 | grep mtu # Verifique el cambio sudo ip link set eth0 mtu 1500 # Revierte al valor estándar
iproute2 (ip, ss) para diagnóstico y cambios temporales.eth0).Siguiendo esta guía, estará preparado para gestionar la configuración de red en entornos Linux modernos de manera eficiente y confiable.