Welcome to the Linux Foundation Forum!

Lab 11.2: Create a new static route (using Ubuntu 18.04)

The labs in chapter 11 use the network configuration files present in different distributions such as Centos, SuSE and Debian/Ubuntu.

Unfortunately the examples given in the labs don't work anymore with newer versions of Ubuntu.

Here is my scenario:

VM called master: Ubuntu 18.04 desktop edition

$ cat /etc/netplan/01-network-manager-all.yaml 
# Let NetworkManager manage all devices on this system
network:
  version: 2
  renderer: NetworkManager

VM named worker1: Ubuntu 18.04 server edition

$ cat /etc/netplan/00-installer-config.yaml 
# This is the network config written by 'subiquity' (and edited by me)
network:
  ethernets:
    enp1s0:
      addresses: [192.168.0.131/24]
      gateway4: 192.168.0.1
      nameservers:
        addresses: [9.9.9.9, 8.8.8.8]
#      dhcp4: true
  version: 2

In the second VM (worker1) I have edited the configuration to create a static IP - the default is DHCP.

So the Ubuntu desktop edition uses NetworkManager by default, which is configured using nmcli etc., or perhaps by editing the files under /etc/NetworkManager.

The Ubuntu server edition uses netplan. In that case one needs to edit or create a yaml file under /etc/netplan.

netplan also seems to have bugs. If I change the configuration in the /etc/netplan/...yaml file and run 'netplan try'
it will add a new alias, vlan or route. But when I remove the config from the yaml file and use netplan try or netplan apply to activate the new configuration, it didn't work (tried it with a static route). Only a reboot fixed it for me.

This may be an Ubuntu only issue, but I'm wondering if there is a generic way of configuring networks, or at least a way that works most of the time.

Having chosen Ubuntu, in the exam, will I be presented with a netplan or a NetworkManager based host?

What would be the best way to configure say a static route on Ubuntu 18.04?

If faced with an Ubuntu server and the default netplan setup, could I just install NetworkManager and do it the nmcli way?

Would nmcli be a good choice for a more generic approach to network configuration (ip ... is probably out of question as it's only temporary)?

Many questions, but the confusion is great.

Thanks in advance for your feedback.

Comments

  • coop
    coop Posts: 916

    Lee can comment on the details, but please keep in mind only Ubuntu uses netplan (AFAIK), and no other distribution is even dreaming of it unless it is a Ubuntu derivative and it is not hard to disable it. As usual you cannot take my word as gospel on exam contents, but the exam designers tend to stay away from using a distribution-idiosyncratic beast such as netplan as they would like the exams to be as similar as possible on the distribution choices available.

  • lee42x
    lee42x Posts: 380
    edited August 2020

    Netplan is a front-end configuration method to create NetworkManager or systemd-networkd configuration files automatically at boot time. Most distributions use NetworkManager so it is the default for our classes. The NetworkManager skills learned are useful in many distributions where as Netplan is strictly a Ubuntu thing.

    There are two methods of turning Netplan off.

    1) To let NetworkManager manage all devices on this system, create a netplan yaml file like:
    network:
    version: 2
    renderer: NetworkManager

    or
    2) Rename or delete the *yaml files in the netplan directory.

    The systemd-generator process that runs at boot time creates the actual NetworkManager configuration from the yaml files terminates if if cannot find any configuration files.

    The default Netplan config file locations are documented in :
    man 8 netplan-generate

    Network manager has several interfaces, nmcli, nmtui and nm-connection-editor are common configuration programs.

  • heiko_s
    heiko_s Posts: 99

    Thanks coop and Lee. I will definitely deactivate Netplan in the Ubuntu servers. It's a pain in the neck anyway.

    I will continue with nmcli then. Perhaps it would also be a good idea to have the labs based on that, as unfortunately NetworkManager does away with the good old /etc/network/interface file that even an illiterate like me could handle.

    Joke aside, if NetworkManager is the new kid on the block, then it would be great to get even more exposure to it in the labs.

    Thanks again for coming to the rescue.

Categories

Upcoming Training