Configuración de red en Debian: /etc/network/interfaces y systemd-networkd
Introducción
En Debian la configuración de red se puede gestionar de dos formas: el método clásico mediante el archivo /etc/network/interfaces gestionado por ifupdown, o el método moderno con systemd-networkd. Ambos
permiten configurar interfaces estáticas y DHCP.
/etc/network/interfaces — Método clásico
Es el método tradicional de Debian. El servicio networking lee este archivo al arrancar y aplica la
configuración de cada interfaz.
Configuración DHCP:
# /etc/network/interfaces
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
Configuración estática:
# /etc/network/interfaces
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.1.10
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 8.8.8.8 1.1.1.1
Campos principales:
auto→ levantar la interfaz automáticamente al arrancar-
iface→ define la interfaz y el método (inet dhcpoinet static) address→ dirección IP estáticanetmask→ máscara de subredgateway→ puerta de enlacedns-nameservers→ servidores DNS (requiere el paqueteresolvconf)
Aplicar cambios sin reiniciar:
# ifdown eth0 && ifup eth0 # bajar y subir la interfaz
# systemctl restart networking # reiniciar el servicio completo
Archivos adicionales en /etc/network/interfaces.d/:
Se pueden dividir las configuraciones en ficheros separados dentro de este directorio. Debian los incluye
automáticamente gracias a la línea source /etc/network/interfaces.d/*
que suele aparecer al final del archivo principal.
systemd-networkd — Método moderno
systemd-networkd es el gestor de red integrado en systemd. En Debian se usa principalmente en instalaciones
mínimas o servidores donde no hay entorno gráfico ni NetworkManager. Los archivos de configuración se ubican en
/etc/systemd/network/ con extensión .network.
Activar systemd-networkd:
# systemctl enable --now systemd-networkd
Configuración DHCP — /etc/systemd/network/10-eth0.network:
[Match]
Name=eth0
[Network]
DHCP=yes
Configuración estática — /etc/systemd/network/10-eth0.network:
[Match]
Name=eth0
[Network]
Address=192.168.1.10/24
Gateway=192.168.1.1
DNS=8.8.8.8
DNS=1.1.1.1
Aplicar cambios:
# networkctl reload # recargar sin reiniciar el servicio
$ networkctl status # ver estado de todas las interfaces
$ networkctl status eth0 # detalle de una interfaz concreta
Nombres de interfaz
Los kernels modernos usan nombres de interfaz predecibles basados en la ubicación del hardware en lugar de los
clásicos eth0, eth1:
enp0s3 → Ethernet, bus PCI 0, slot 3
ens3 → Ethernet, slot 3 (en VMs)
wlp2s0 → WiFi, bus PCI 2, slot 0
# Ver los nombres reales de las interfaces
$ ip link show
$ ls /sys/class/net/