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 dhcp o inet static)
  • address → dirección IP estática
  • netmask → máscara de subred
  • gateway → puerta de enlace
  • dns-nameservers → servidores DNS (requiere el paquete resolvconf)

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/
          

En Debian de escritorio con entorno gráfico lo habitual es usar NetworkManager. En servidores sin gráficos se usa /etc/network/interfaces o systemd-networkd.

Configuración de red en Ubuntu con Netplan: /etc/netplan/, netplan apply

Índice de la sección

Índice del curso