0042-Netplan templates

Important Rules for Working with Netplan Templates
    • Spaces: Never use the Tab key for indentation. Use spaces only (typically a 2-space or 4-space indentation step).
    • Validation: Always run the sudo netplan try command before applying changes permanently. This prevents you from losing remote access to your server if there is a syntax error.

To find out interfaces name use ip link or networkctl status

 

# DHCP
network:
  version: 2
  renderer: networkd
  ethernets:
    ens18:
      dhcp4: true


# IP Static
network:
  version: 2
  renderer: networkd
  ethernets:
    ens18:
      dhcp4: false
      addresses:
        - 192.168.1.100/24
      nameservers:
        addresses:
          - 8.8.8.8
          - 1.1.1.1
      routes:
        - to: default
          via: 192.168.1.1

# More than one IP on the interface
network:
  version: 2
  renderer: networkd
  ethernets:
    ens18:
      dhcp4: false
      addresses:
        - 192.168.1.100/24
        - 10.0.0.50/24
      routes:
        - to: default
          via: 192.168.1.1

# IP Static + rename the interface. Exm: ens18 to eth0 using a MAC address
network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      match:
        macaddress: 00:00:00:00:20:04
      set-name: eth0
      dhcor4: false
      addresses:
        - 192.168.88.104/24
      nameservers:
        addresses:
          - 8.8.8.8
      routes:
        - to: default
          via: 192.168.88.254

# Bonding / LACP
network:
  version: 2
  renderer: networkd
  ethernets:
    ens18:
      dhcp4: false
    ens19:
      dhcp4: false
  bonds:
    bond0:
      interfaces:
        - ens18
        - ens19
      dhcp4: true
      parameters:
        mode: 802.3ad
        mii-monitor-interval: 100

# Bridge (KVM/LXC)
network:
  version: 2
  renderer: networkd
  ethernets:
    ens18:
      dhcp4: false
  bridges:
    br0:
      interfaces:
        - ens18
      dhcp4: false
      addresses:
        - 192.168.1.150/24
      routes:
        - to: default
          via: 192.168.1.1
      nameservers:
        addresses:
          - 8.8.8.8
      parameters:
        stp: false
        forward-delay: 0