Tutorial de configuración de red de NetPlan para principiantes

Tutorial de configuración de red de NetPlan para principiantes

NetPlan es una utilidad desarrollada por Canonical, la compañía detrás de Ubuntu. Proporciona una abstracción de configuración de red sobre el sistema de "backend" actualmente compatible (o "renderizador" en la terminología NetPlan): red y Gerente de Redes. Usando NetPlan, las interfaces de red físicas y virtuales se configuran a través de yaml archivos que se traducen a configuraciones compatibles con el backend seleccionado.

En ubuntu 20.04 Netplan reemplaza el método tradicional de configuración de interfaces de red utilizando el /etc/red/interfaces archivo; Su objetivo es facilitar las cosas y más centralizadas (la antigua forma de configurar interfaces aún se puede usar: verifique nuestro artículo sobre cómo cambiar las redes a/etc/red/interfaces en Ubuntu 20.04 fossa focal Linux). En este artículo aprenderemos los principios básicos detrás de la utilidad y, solo como ejemplo, cómo podemos usarlo para configurar una dirección IPv4 estática para una interfaz de red.

En este tutorial aprenderás:

  • La estructura básica de los archivos de configuración YAML utilizados por NetPlan
  • Cómo crear una regla simple para asignar una IP estática a una interfaz de red
  • Cómo aplicar configuraciones utilizando generar, intentar y aplicar subcomandos
Tutorial de configuración de red de NetPlan para principiantes

Requisitos y convenciones de software utilizados

Requisitos de software y convenciones de línea de comandos de Linux
Categoría Requisitos, convenciones o versión de software utilizada
Sistema Ubuntu 20.04 (fosa focal)
Software Netplan (instalado por defecto)
Otro Permisos raíz para modificar archivos de configuración
Convenciones # - requiere que los comandos de Linux dados se ejecuten con privilegios raíz directamente como un usuario raíz o mediante el uso de sudo dominio
$-Requiere que los comandos de Linux dados se ejecuten como un usuario regular no privilegiado

Archivos de configuración de Netplan

Hay tres ubicaciones en las que se pueden colocar archivos de configuración de Netplan; En orden de prioridad son:

  1. /ejecutar/netplan
  2. /etc/netplan
  3. /lib/netplan
Descripción general del diseño de Netplan

Dentro de cada uno de estos directorios, las configuraciones se crean utilizando archivos con el .yaml extensión que se procesan en lexicográfico orden, independientemente del directorio en el que se encuentren.

La prioridad del directorio tiene un papel solo cuando existen archivos con el mismo nombre: en esos casos, solo el archivo contenido en el directorio con la prioridad más alta se analiza.

Si un booleano o escalar El parámetro se define en más de un archivo de configuración, asumirá el valor definido en el último archivo que se analiza; Si los valores son secuencias, en cambio, están concatenados.

Se supone que los usuarios deben colocar sus configuraciones dentro del /etc/netplan directorio; Por defecto, el único archivo presente en un Ubuntu 20 recién instalado.04 El sistema es /etc/netplan/01-network-manager-thol.yaml. En la siguiente sección veremos las instrucciones que contiene y cuál es su significado.

El/etc/netplan/01-network-ganage-thol.archivo yaml

El único archivo de configuración existente /etc/netplan/ Directorio en un Ubuntu 20 recién instalado.04 El sistema es 01-network-ganage-todo.yaml. Echemos un vistazo a su contenido:

# Permita que NetworkManager administre todos los dispositivos en este sistema Red: Versión: 2 Renderizador: NetworkManager 

Según lo sugerido por el comentario en el archivo, la configuración está destinada a establecer todas las interfaces de red en el sistema para ser administradas por el Gerente de Redes renderizador. Podemos observar que las directivas están sangradas dentro del nodo principal, red. Dado que estamos tratando con archivos YAML, la sangría es crucial.

Otras dos palabras clave que podemos encontrar en el archivo son versión y renderizador: el primero especifica la versión de sintaxis en uso, el segundo es el sistema backend (red VS Gerente de Redes).

En la siguiente sección de este tutorial, crearemos un ejemplo de configuración ligeramente más complejo, y la usaremos para asignar una dirección IPv4 estática a una interfaz de red.

Un ejemplo de configuración: establecer una dirección IPv4 estática

El archivo de configuración que vimos anteriormente es bastante básico; Probemos algo un poco más complejo y veamos cómo podemos configurar una dirección IPv4 estática usando NetPlan.

Lo primero que debemos hacer es crear un nuevo archivo de configuración, para analizar después del predeterminado: Llamémonos /etc/netplan/02-static-ip.yaml. Dentro del archivo, creamos una regla para que coincidan con las interfaz (s) de red que queremos configurar: podemos realizar la tarea utilizando el fósforo estrofa.

Dentro de fósforo Sección, podemos seleccionar una serie de interfaces físicas en la base del valor de las propiedades especificadas. Para que se apliquen la configuración, todas las propiedades deben coincidir con la regla.

En el archivo de configuración escribimos:

# Establecer dirección IP estática para la red de interfaz ENP1S0: Versión: 2 Renderizador: NetworkManager Ethernets: ID0: Partido: Nombre: ENP1S0 DHCP4: Direcciones falsas: - 192.168.122.250/24 servidores de nombres: direcciones: - 192.168.122.1 Gateway4: 192.168.122.1 

Echemos un vistazo más de cerca a las nuevas instrucciones que utilizamos en la configuración. Dentro de la principal red nodo, los dispositivos se pueden agrupar por su tipo:

  • Ethernets
  • wifis
  • puentes


Dado que en nuestro ejemplo nos ocupamos de un dispositivo Ethernet que utilizamos Ethernets estrofa. Dentro de fósforo estrofa, hicimos referencia a la interfaz por su nombre: ENP1S0. Las reglas de coincidencia también se pueden basar en dirección MAC y, solo cuando se usa red Como el renderizador, en conductor cuál es el nombre del controlador de kernel de Linux utilizado para los dispositivos.

Para llegar a nuestra configuración deseada, utilizamos una serie de directivas. Como queremos asignar una dirección estática, deshabilitamos DHCP4 y usó el direcciones Palabra clave para asociar una dirección IPv4 a la interfaz. Se puede especificar una dirección múltiple: deben proporcionarse junto con la máscara de subred.

También establecemos las direcciones del servidores de nombres en la estrofa con el mismo nombre. Finalmente, establecemos la dirección IPv4 de la puerta de enlace que la interfaz debe usar con el puerta de enlace4 palabra clave.

Simplificando la configuración

La configuración que utilizamos en el ejemplo anterior puede simplificarse ligeramente. Para hacer referencia a la interfaz, queremos asignar la dirección estática a nosotros utilizamos el fósforo estrofa, sin embargo, podríamos haber omitido. Dado que queremos que nuestra configuración se aplique a un solo dispositivo específico, podemos hacer referencia a ella directamente usando su nombre predecible (ENP1S0) como identificación:

Red: Versión: 2 Renderizador: NetworkManager Ethernets: ENP1S0: DHCP4: Falsas direcciones: - 192.168.122.250/24 servidores de nombres: direcciones: - 192.168.122.1 Gateway4: 192.168.122.1 

Cuando el fósforo Se usa estrofa, el identificación (ID0 en el ejemplo anterior) es arbitrario y se usa para hacer referencia a los dispositivos configurados de otras secciones del archivo de configuración. Cuando el fósforo La estrofa se omite, en cambio, el identificación Debe corresponder al nombre del dispositivo predecible. Al trabajar con dispositivos virtuales como puentes o enlaces, el identificación no se usa para hacer referencia a una interfaz existente, pero representa el nombre que debe usarse cuando se crea la interfaz.

En este punto, nuestra configuración está lista; Todo lo que debemos hacer es guardarlo y probarlo.

Prueba y aplicación de una configuración de NetPlan

En la sección anterior vimos cómo crear una configuración de NetPlan simple para proporcionar una dirección IPv4 estática para una interfaz de red. Ahora es el momento de probar la configuración para ver si funciona correctamente. Para lograr nuestro objetivo podemos usar el netplan utilidad y el intentar subcomando.

El intentar subcomando del netplan La utilidad, como su nombre lo indica, se usa para probar una configuración, y opcionalmente la retrocede si el usuario no lo confirma después de una cierta cantidad de tiempo. El tiempo de espera predeterminado es de 120 segundos pero se puede cambiar usando el --se acabó el tiempo opción.

Como puede ver en la salida del dirección IP comando, la dirección IPv4 actual para el ENP1S0 La interfaz es 192.168.122.200:

$ Dirección IP | Grep ENP1S0 2: ENP1S0: MTU 1500 QDISC FQ_CODEL STATE UP GRUPO Predeterminado QLEN 1000 INET 192.168.122.200/24 ​​BRD 192.168.122.255 alcance global noprefixroute dinámico enp1s0 

Aplicemos la configuración:

$ sudo netplan intento 

Una vez que ejecutamos el comando, el siguiente mensaje aparece en la pantalla:

¿Quieres mantener estas configuraciones?? Presione Enter antes del tiempo de espera para aceptar los nuevos cambios de configuración se volverá en 120 segundos 

Tenemos suficiente tiempo para mucho si la dirección IP de la interfaz cambió:

$ Dirección IP | Grep ENP1S0 2: ENP1S0: MTU 1500 QDISC FQ_CODEL STATE UP GRUPO Predeterminado QLEN 1000 INET 192.168.122.250/24 BRD 192.168.122.255 alcance global noprefixroute dinámico enp1s0 


Como podemos ver, la dirección IPv4 cambió como se esperaba. En este caso, sin embargo, después de que expiró el tiempo de espera, el comando no pudo revertir la configuración. Este es un problema conocido, reportado también en la página de manual de la utilidad. En tales casos, para volver completamente al estado inicial, un reinicio debería ser suficiente.

Se pueden usar otros dos comandos:

  • netplan generar
  • aplicar netplan

El netplan generar El comando convierte la configuración en los archivos YAML en configuraciones apropiadas para el renderizador en uso, pero no los aplica. En la gran mayoría de los casos no se supone que se llame directamente: se invoca, por ejemplo, por aplicar netplan que también aplica los cambios sin un tiempo de espera de "revertir".

Conclusiones

En este tutorial nos acercamos a NetPlan, una utilidad desarrollada por Canonical, que está activa de forma predeterminada en Ubuntu 20.04 fosa focal. El propósito de esta utilidad es las configuraciones abstractas para las interfaces de red utilizando un archivo de configuración YAML.

Esas configuraciones se traducen en configuraciones para el renderizador especificado, como NetworkManager o Networkd. En este tutorial vimos cómo escribir una regla simple para establecer una dirección IP estática para una interfaz de red, aprendimos algunos de los nodos que se pueden usar en los archivos de configuración, y vimos cómo aplicar cambios a través del intento de netplan y aplicar netplan comandos. Aquí apenas rascamos la superficie de lo que se puede lograr usando NetPlan si desea saber más al respecto, eche un vistazo al sitio web de NetPlan y a la ManPage de servicios públicos.

Tutoriales de Linux relacionados:

  • Cómo evitar la comprobación de conectividad de NetworkManager
  • Una introducción a la automatización, herramientas y técnicas de Linux
  • Cosas para instalar en Ubuntu 20.04
  • Introducción a Yaml con ejemplos
  • Mastering Bash Script Loops
  • Cómo usar redes puentes con libvirt y kvm
  • Ubuntu 20.04 trucos y cosas que quizás no sepas
  • Elegir un complemento de redes de Kubernetes
  • Mint 20: Mejor que Ubuntu y Microsoft Windows?
  • Cosas que hacer después de instalar Ubuntu 20.04 fossa focal Linux