2 minute read

redes

Ya hemos visto que Linux nos ofrece diferentes métodos para configurar los parámetros de red. Actualmente según la distribución que utilicemos y la configuración del sistema que estemos utilizando, tendremos a nuestra disposición algunos de estos métodos: ifupdown, NetworkManager o systemd-networkd.

En este último artículo vamos a estudiar Netplan que es una herramienta de configuración de red introducida en Ubuntu, que permite gestionar la red de forma declarativa utilizando archivos YAML. Esta herramienta se encarga de traducir la configuración declarada en sus archivos en configuraciones aplicables por NetworkManager o systemd-networkd, dependiendo del backend elegido.

Relación entre Netplan, NetworkManager y systemd-networkd

Netplan actúa como una capa intermedia que simplifica la configuración de la red. Sin embargo, no es un servicio de red en sí mismo, sino que delega la configuración en un backend: systemd-networkd o * NetworkManager. La elección del backend se especifica en los archivos de configuración de Netplan. Para cambiar entre systemd-networkd y NetworkManager, se debe modificar el parámetro renderer en el archivo de configuración. Por ejemplo:

Para usar systemd-networkd:

network:
  version: 2
  renderer: systemd-networkd

Para usar NetworkManager:

network:
  version: 2
  renderer: NetworkManager

Si renderer no está definido en ningún archivo de configuración, el sistema usará el backend por defecto de la distribución.

Ubicación y formato de configuración

Las configuraciones de Netplan se encuentran en el directorio /etc/netplan/, usualmente en archivos con extensión .yaml.

Ejemplo 1: Configuración de Red Dinámica (DHCP)

Este ejemplo muestra una configuración en la que una interfaz de red obtiene su dirección IP de manera dinámica mediante DHCP.

Archivo /etc/netplan/01-dhcp.yaml:

network:
  version: 2
  ethernets:
    enp0s3:
      dhcp4: true

En este caso, la interfaz enp0s3 obtiene automáticamente una dirección IPv4 y una IPv6 si está disponible.

Ejemplo 2: Configuración de Red Estática

En el siguiente ejemplo, configuramos manualmente la dirección IP, máscara de subred, puerta de enlace y servidores DNS.

Archivo /etc/netplan/01-static.yaml:

network:
  version: 2
  ethernets:
    enp0s3:
      addresses:
        - 192.168.1.2/24
      gateway4: 192.168.1.1
      nameservers:
        addresses:
          - 1.1.1.1
          - 9.9.9.9

En este caso, la interfaz enp0s3 se configura con la IP 192.168.1.2, máscara 255.255.255.0, puerta de enlace 192.168.1.1 y servidores DNS 1.1.1.1 y 9.9.9.9.

Aplicando la configuración

Después de editar el archivo, se debe aplicar la configuración:

sudo netplan apply

Para verificar la configuración activa y suponiendo que estamos trabajando con systemd-networkd:

ip addr show
ip route show
systemctl status systemd-networkd

Otros comandos interesantes:

  • netplan generate: Genera los archivos de configuración que serán utilizados por el backend (systemd-networkd o NetworkManager), pero no los aplica.
  • netplan try: Aplica temporalmente la configuración de red y da un tiempo de gracia para confirmar los cambios. Si no se confirma en el tiempo indicado, revierte automáticamente a la configuración anterior. Si hay un problema y pierdes la conectividad, Netplan restaurará la configuración previa tras el tiempo de espera.
  • netplan info: Muestra información sobre el backend que Netplan está usando en el sistema.
  • netplan status: Muestra el estado de la configuración de red actual.

Conclusión

Netplan simplifica la configuración de red en sistemas basados en Ubuntu y permite una integración sencilla con NetworkManager o systemd-networkd. La elección del backend depende del tipo de entorno en el que se implemente la configuración de red. hasta aquí hemos visto una introducción a los distintos métodos que tenemos hoy en día de configurar la red en sistemas Linux.

Leave a Comment

Your email address will not be published. Required fields are marked *

Loading...