Netplan y cómo prepararlo correctamente

Ubuntu Un sistema operativo increíble, hacía mucho tiempo que no trabajaba con él. Ubuntu El servidor y actualizar mi escritorio desde una versión estable no tenían sentido. Así que, no hace mucho, tuve que lidiar con una versión completamente nueva. Ubuntu En el servidor 18.04, me quedé absolutamente asombrado al darme cuenta de que estaba muy desactualizado y no podía configurar mi red porque el antiguo sistema de configuración de interfaces de red mediante la edición del archivo /etc/network/interfaces había desaparecido. ¿Y qué lo reemplazó? Algo aterrador y, a primera vista, completamente incomprensible: les presento a "Netplan".

Para ser honesto, al principio no podía entender de qué se trataba y "por qué era necesario, después de todo, todo era tan conveniente", pero después de un poco de práctica me di cuenta de que tenía su propio encanto. Así que, basta de charla poética, continuemos con lo que es Netplan. Esta es una nueva utilidad para configurar una red en Ubuntu, al menos "No me he encontrado con nada parecido en otras distribuciones". Una diferencia significativa con Netplan es que la configuración está escrita en el lenguaje YAML, sí, escuchaste bien YAML, los desarrolladores decidieron mantenerse al día (y no importa cuánto lo elogien, sigo pensando que es un lenguaje terrible). La principal desventaja de este lenguaje es que es muy sensible a los espacios, veamos la configuración con un ejemplo.

Los archivos de configuración se encuentran en la ruta /etc/netplan/filename.yaml, entre cada bloque debe haber + 2 espacios.

1) El encabezado estándar tiene este aspecto:

network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0f0:
      dhcp4:no

Veamos lo que hemos hecho ahora:

  • red: este es el comienzo del bloque de configuración.
  • renderer: networkd - aquí indicamos el administrador de red que usaremos, este es networkd o NetworkManager
  • versión: 2 - aquí, según tengo entendido, está la versión YAML.
  • ethernets: - este bloque indica que configuraremos el protocolo ethernet.
  • enps0f0: — indica qué adaptador de red configuraremos.
  • dhcp4:no - deshabilita DHCP v4, para 6 v6 dhcp6 respectivamente

2) Intentemos asignar direcciones IP:

    enp3s0f0:
      dhcp4:no
      macaddress: bb:11:13:ab:ff:32
      addresses: [10.10.10.2/24, 10.10.10.3/24]
      gateway4: 10.10.10.1
      nameservers:
        addresses: 8.8.8.8

Aquí configuramos el servidor poppy, ipv4, puerta de enlace y dns. Tenga en cuenta que si necesitamos más de una dirección IP, las escribimos separadas por comas con un espacio obligatorio después.

3) ¿Qué pasa si necesitamos? unión?

  bonds:
    bond0:
      dhcp4: no
      interfaces: [enp3s0f0, enp3s0f1]
      parameters: 
        mode: 802.3ad
        mii-monitor-interval: 1

  • bonds: - un bloque que explica que configuraremos los bonding.
  • bond0: - nombre de interfaz arbitrario.
  • interfaces: - un conjunto de interfaces recopiladas en un enlace, "como se indicó anteriormente, si hay varios parámetros, los describimos entre corchetes".
  • parámetros: — describe el bloque de configuración de parámetros
  • modo: especifique el modo mediante el cual funcionará la vinculación.
  • mii-monitor-interval: establece el intervalo de monitoreo en 1 segundo.

Dentro del bloque llamado bond, también puedes configurar parámetros como direcciones, gateway4, rutas, etc.

Hemos agregado redundancia para nuestra red, ahora solo queda instalar vlan y la configuración se puede considerar completa.

vlans: 
    vlan10:
      id: 10
      link: bond0
      dhcp4: no
      addresses: [10.10.10.2/24]
      gateway: 10.10.10.1
      routes:
        - to: 10.10.10.2/24
          via: 10.10.10.1
          on-link: true

  • vlans: declara el bloque de configuración de vlan.
  • vlan10: — nombre arbitrario de la interfaz vlan.
  • id: — etiqueta de nuestra vlan.
  • enlace: interfaz a través de la cual se podrá acceder a la VLAN.
  • rutas: declarar un bloque de descripción de ruta.
  • — para: — establecer la dirección/subred a la que se necesita la ruta.
  • vía: — especifique la puerta de enlace a través de la cual se podrá acceder a nuestra subred.
  • on-link: — indicamos que las rutas siempre deben registrarse cuando se levanta el enlace.

Presta atención a cómo coloco los espacios; esto es muy importante en YAML.

Entonces describimos las interfaces de red, creamos enlaces e incluso agregamos VLAN. Apliquemos nuestra configuración, el comando netplan apply verificará nuestra configuración en busca de errores y la aplicará si tiene éxito. A continuación, la configuración se generará por sí sola cuando se reinicie el sistema.

Habiendo recopilado todos los bloques de código anteriores, esto es lo que obtuvimos:

network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0f0:
      dhcp4: no
    ensp3s0f1:
      dhcp4: no
  bonds:
    bond0:
      dhcp4: no
      interfaces: [enp3s0f0, enp3s0f1]
      parameters: 
        mode: 802.3ad
        mii-monitor-interval: 1
  vlan10:
      id: 10
      link: bond0
      dhcp4: no
      addresses: [10.10.10.2/24]
      routes:
        - to: 10.10.10.2/24
          via: 10.10.10.1
          on-link: true
  vlan20:
    id: 20
    link: bond0
    dhcp4: no
    addresses: [10.10.11.2/24]
    gateway: 10.10.11.1
    nameserver:
      addresses: [8.8.8.8]
    

Ahora nuestra red está lista para funcionar, todo resultó no ser tan aterrador como parecía al principio y el código resultó ser muy hermoso y legible. PC gracias por netplan hay un excelente manual en el enlace https://netplan.io/.

Fuente: habr.com

Compre alojamiento confiable para sitios con protección DDoS, servidores VPS VDS 🔥 Compra alojamiento web fiable con protección DDoS, servidores VPS VDS | ProHoster