Ficheros de configuración de red en Linux

En Linux, la configuración de red puede gestionarse de diferentes formas según la distribución y las herramientas utilizadas. A pesar de la evolución hacia gestores como NetworkManager o systemd-networkd, siguen existiendo ficheros clave que permiten configurar manualmente la red de un sistema.

En este artículo veremos los más importantes, su ubicación y ejemplos de uso.


1. /etc/network/interfaces (Debian y derivados)

Es el fichero clásico en distribuciones como Debian o Ubuntu Server (cuando no usan Netplan). Aquí se definen las interfaces de red y su comportamiento al iniciar el sistema.

Ejemplo de configuración estática:

auto eth0
iface eth0 inet static
    address 192.168.1.100
    netmask 255.255.255.0
    gateway 192.168.1.1
    dns-nameservers 8.8.8.8 1.1.1.1

2. /etc/netplan/*.yaml (Ubuntu modernas)

Desde Ubuntu 17.10, el sistema utiliza Netplan para gestionar la red mediante archivos en formato YAML.

Ejemplo:

network:
  version: 2
  ethernets:
    enp0s3:
      dhcp4: no
      addresses: [192.168.1.50/24]
      gateway4: 192.168.1.1
      nameservers:
        addresses: [8.8.8.8, 1.1.1.1]

Los cambios se aplican con:

sudo netplan apply

3. /etc/sysconfig/network-scripts/ifcfg-* (CentOS, RHEL, Fedora antiguos)

En las distribuciones basadas en Red Hat se usan ficheros ifcfg-* para cada interfaz.

Ejemplo para ifcfg-eth0:

DEVICE=eth0
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.1.200
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
DNS2=1.1.1.1

4. /etc/systemd/network/*.network (systemd-networkd)

Cuando se utiliza systemd-networkd, la configuración se define en ficheros .network.

Ejemplo:

[Match]
Name=enp0s3

[Network]
Address=192.168.1.60/24
Gateway=192.168.1.1
DNS=8.8.8.8

Se activa con:

sudo systemctl restart systemd-networkd

5. /etc/resolv.conf (DNS)

Controla la configuración de servidores DNS. Aunque en muchos sistemas es gestionado automáticamente por NetworkManager o systemd-resolved, sigue siendo fundamental.

Ejemplo:

nameserver 8.8.8.8
nameserver 1.1.1.1

6. /etc/hosts

Permite resolver nombres de forma local, sin necesidad de un servidor DNS. Es útil para pruebas o entornos cerrados.

Ejemplo:

127.0.0.1   localhost
192.168.1.10 servidor.local servidor

👉 Si quieres complementar esta información, te recomiendo leer también nuestro artículo sobre cómo reiniciar el servicio de red en Linux.