Podcast de Redes de Eduardo Collado

Podcast de Redes de Eduardo Collado


Fichero /etc/network/interfaces en Debian

March 22, 2020

Uno de los ficheros más utilizados en Debian es el /etc/network/interfaces.

Este fichero se encuentra en varias distribuciones de GNU/Linux y muchas veces es lo primero que tocamos en un servidor al instalarlo.

En el fichero /etc/network/interfaces es donde configuramos la red de nuestros servidores y lo hacemos siguiendo una sintaxis específica:

Una configuración podría ser la siguiente

# cat /etc/network/interfaces
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 192.0.2.2
netmask 255.255.255.0
gateway 192.0.2.1
iface eth0 inet6 static
address 2001:DB8:1:3::1
netmask 56
gateway 2001:DB8:1::

En esta configuración vemos varias palabras clave:

* auto: El puerto se levantará después de un reset del equipo.* iface: Sirve para indicar el interfaz sobre el que se está trabajandopnombre_del_interfaz: Esto identificará el interfaz sobre el que se aplica la configuración* inet / inet6: Identifica cómo va a obtener el direccionamiento el puerto, puede ser loopback, dhcp o static.* static: El direccionamiento se pondrá a mano.* dhcp: El direccionamiento se obtendrá por dhcp.* loopback: El direccionamiento será loopback.* auto: En IPv6 cuando se usa inet6 se puede añadir auto para indicar que se va a usar stateless address autoconfiguration, o SLAAC.* address: Indica que se va a añadir una dirección IP o IPv6.* netmask: Indica que se va añadir una máscara de red-* gateway: Indica que la dirección de después es la ruta por defecto.

Esta es la configuración más sencilla que podemos poner en un fichero /etc/network/interfaces y a parte de esto podemos indicar muchas más cosas.

Para aplicar cualquier cambio tenemos que reiniciar el servicio de networking:

sudo service networking restart

El problema de reiniciar el servicio de networkinig es que tirará todos los interfaces.

También es interesante conocer las posibilidades que tenemos para trabajar con un par de interfaces.

La primera posibilidad será la de definir un bridge, es decir, hacer que dos puertos participen de la misma red y que lo que entre por uno salga por el otro:

auto br0
iface br0 inet static
address 192.0.2.2/24
gateway 192.0.2.1
bridge_ports eth0 eth1
up /usr/sbin/brctl stp br0 on

* bridge_ports: Esta palabra clave indica cuales son los puertos que componen el brige.* up /usr/sbin/brctl stp br0 on : Habilitamos el Spanning Tree

En este ejemplo hemos definido un interfaz br0 (bridge 0) que está formado por los puertos eth0 y eth1 y donde tenemos el spanning tree activado.

También puedes querer poner más de una dirección IP en el mismo interfaz. Esto se solía hacer definiendo interfaces del estilo eth0:1, pero con iproute2 ya no es necesario, ahora sería de la siguiente manera:

auto eth0
allow-hotplug eth0
iface eth0 inet static
address 192.0.2.2/24
gateway 192.0.2.1

iface eth0 inet static
address 192.0.2.22/24

iface eth0 inet static
address 198.51.100.2/24

iface eth0 inet static
address 203.0.113.14/24

Y finalmente me gustaría mostrar el ejemplo que nos da la documentación de Debian:

# onboard network interface
auto enp4s0
iface enp4s0 inet manual
# PCIe nic