NFS201 - Lab 35.1. Static Configuration of a Network Interface - is network manager trying to rule?
Thanks for providing an exercise that reminds me of the good ole times when /etc/network/interfaces was a one-stop-shop. The chapter also does a great job in justifying modern approaches, particularly the network manager configuration.
Using a Ubuntu system, the lab exercise didn't work as described, probably thanks to network manager. Here are the steps I performed:
heiko@LM20-heiko:~$ ip -4 a show enp1s0 2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 inet 192.168.0.141/24 brd 192.168.0.255 scope global enp1s0 valid_lft forever preferred_lft forever heiko@LM20-heiko:~$ sudo ip l set enp1s0 down heiko@LM20-heiko:~$ sudo vim /etc/network/interfaces
New content of /etc/network/interfaces:
interfaces(5) file used by ifup(8) and ifdown(8)
Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d
auto enp1s0
iface enp1s0 inet static
address 192.168.0.139
netmask 255.255.255.0
gateway 192.168.0.1
Important: Without the "auto enp1s0" the whole exercise didn't work.
Here the next steps:
heiko@LM20-heiko:~$ sudo ip l set enp1s0 up heiko@LM20-heiko:~$ ip -4 a show enp1s0 2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 inet 192.168.0.141/24 brd 192.168.0.255 scope global enp1s0 valid_lft forever preferred_lft forever
Bringing up the link interface doesn't read the interfaces file - still the old IP. What works is restarting networking.service:
heiko@LM20-heiko:~$ sudo systemctl restart networking.service heiko@LM20-heiko:~$ ip -4 a show enp1s0 2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 inet 192.168.0.139/24 brd 192.168.0.255 scope global enp1s0 valid_lft forever preferred_lft forever
That was the easy part. Unfortunately reversing these changes didn't go so smooth:
heiko@LM20-heiko:~$ sudo ip l set enp1s0 down heiko@LM20-heiko:~$ sudo vim /etc/network/interfaces # remove static iface config heiko@LM20-heiko:~$ sudo systemctl restart networking.service heiko@LM20-heiko:~$ sudo ip l set enp1s0 up heiko@LM20-heiko:~$ ip a show enp1s0 2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 52:54:00:e1:50:d7 brd ff:ff:ff:ff:ff:ff inet 192.168.0.139/24 brd 192.168.0.255 scope global enp1s0 valid_lft forever preferred_lft forever inet 192.168.0.141/24 brd 192.168.0.255 scope global secondary enp1s0 valid_lft forever preferred_lft forever I tried several ways, including defining my previous IP in the /etc/network/interfaces file. The result was always a secondary enp1s0 with the IP I wanted.
It needed a reboot to get things back to normal:
heiko@LM20-heiko:~$ ip -4 a show enp1s0 2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 inet 192.168.0.141/24 brd 192.168.0.255 scope global noprefixroute enp1s0 valid_lft forever preferred_lft forever
Is this network manager trying to rule the world?
If so, it's probably best to not use /etc/network/interfaces or other /etc config files for network configuration, but use the nmtui method.
Since networking is an important part of a sysadmin job, is nmtui acceptable (also for the exam?) or do we have to practice nmcli until the fingers bleed?
Comments
-
Did the exercise on Centos 8. Centos at least has a fully configured /etc/sysconfig/network-scripts/ifcfg-enp1s0 file.
I tried restarting the NetworkManager.service but it didn't work. Reboot did the job. Is there another way (except reboot) to reload and start the current network configuration as defined in the ifcfg file?
0 -
Hi @heiko_s ,
It seems you are right, as newer distributions are working with Network Manager and this also works with Netplan. I took a look to Ubuntu 18.04 LTS and instead /etc/network/interfaces it's working with /etc/netplan/, as /etc/netplan/01-network-manager-all.yaml I have by default.
So, the work should be done in the Netplan way now. There are a couple of URLs that can be useful here:
https://ubuntu.com/server/docs/network-configuration
And
I haven't tried with CentOS 7/8 yet, I'll do it later.
Many regards,
Luis.0 -
Yes, ubuntu changed everything (and it is not clear for the better to many folks) in the flat file configuration under /etc/. This is exactly why the course emphasizes using nmtui or nmcli or the nm gui. In fact it says in a cautionary note at the beginning:
"You can most easily do this exercise with nmtui or your system’s graphical interface. We will present a command line solution, but beware details may not exactly fit your distribution flavor or fashion."
We probably need to just eliminate the command line solution and show with nmtui. Or do nothing, as we have already anticipated this kind of problem as a learning exercise. I'll think about it.
Please note that LFS211 has an extended discussion about netplan, its relationship with network manager (which is often adversarial) and how to configure your system, which is one reason we did not get into it here as we don't want to be repetitive and there is a lot to cover.
Also keep in mind the LFCS and LFCE exams (I am told) stay away from any features which are present in only one distribution (other than obvious important differences like apt vs yum vs zypper etc) Personally, I think netplan is a solution in search of a problem, but I don't know enough to defend that position, I would raise this more when you get to LFS211 and the course maintainer there is really an expert on all this, which I am not.
0 -
Thanks for the helpful responses, Luis and coop! In the meantime I started with LFS211 and I will bring up some questions/remarks in the respective forum.
I'm very glad to hear about the exam not bringing up distro specific challenges, so I assume any tool including nmtui is fine (I'll practice nmcli as well). I wonder what netplan can do that the others can't? Will have a look at LFS211.
0 -
For a ways on Ubuntu 18.04 to go back to /etc/network/interfaces:
[https://tweenpath.net/ubuntu-18-04-disable-netplan-switch-networking-etc-network-interfaces/
https://renediepstraten.nl/?p=51
There are many links out there if you search on "turn off netplan" , which tells you it has non-fans. Basically it chooses between Network Manager and networkd on management of devices. I think it is even easier to turn off than these pages tell you and you can manipulate specific devices rather than trash the whole thing. What netplan can do that you cannot do otherwise: it teaches you how to write .yaml files I'll let fans comment. I'm sure there are some plusses, but it has failed to catch on with anyone but Ubuntu (which is not exactly an uncommon fate for Ubuntu-invented features).
1 -
Well, I'm not a netplan fan, but I was working on my Ubuntu 18.04 system and I found out that the netplan "renderer" by default is NetworkManager (and not networkd, which would let the configuration to the netplan files). So, in this case the config files are under /etc/NetworkManager/ . And then we can work the interfaces using nmtui and/or nmcli.
Regards,
Luis.0 -
Thanks again to both. Yes, Ubuntu (and my Linux Mint derivate) is using Network Manager by default, which is configured in netplan's yaml file.
I kind of wonder: Why would one need both netplan and network manager, both pre-installed?
1 -
Hi @heiko_s ,
It seems it's by design, or at least that's what the distro says, hehehe. Look at the documentation here:
So, for some very specific cases, as wifi, netplan needs NetworkManager. I think it's under development yet, and also it hasn't been designed to work alone, in fact it needs networkd.
I hope that helps.
Many regards,
Luis.1
Categories
- All Categories
- 219 LFX Mentorship
- 219 LFX Mentorship: Linux Kernel
- 793 Linux Foundation IT Professional Programs
- 354 Cloud Engineer IT Professional Program
- 179 Advanced Cloud Engineer IT Professional Program
- 82 DevOps Engineer IT Professional Program
- 147 Cloud Native Developer IT Professional Program
- 137 Express Training Courses
- 137 Express Courses - Discussion Forum
- 6.2K Training Courses
- 47 LFC110 Class Forum - Discontinued
- 71 LFC131 Class Forum
- 42 LFD102 Class Forum
- 226 LFD103 Class Forum
- 19 LFD110 Class Forum
- 38 LFD121 Class Forum
- 18 LFD133 Class Forum
- 7 LFD134 Class Forum
- 18 LFD137 Class Forum
- 71 LFD201 Class Forum
- 5 LFD210 Class Forum
- 5 LFD210-CN Class Forum
- 2 LFD213 Class Forum - Discontinued
- 128 LFD232 Class Forum - Discontinued
- 2 LFD233 Class Forum
- 4 LFD237 Class Forum
- 24 LFD254 Class Forum
- 697 LFD259 Class Forum
- 111 LFD272 Class Forum
- 4 LFD272-JP クラス フォーラム
- 12 LFD273 Class Forum
- 149 LFS101 Class Forum
- 1 LFS111 Class Forum
- 3 LFS112 Class Forum
- 2 LFS116 Class Forum
- 4 LFS118 Class Forum
- LFS120 Class Forum
- 7 LFS142 Class Forum
- 5 LFS144 Class Forum
- 4 LFS145 Class Forum
- 3 LFS146 Class Forum
- 3 LFS147 Class Forum
- 1 LFS148 Class Forum
- 15 LFS151 Class Forum
- 2 LFS157 Class Forum
- 30 LFS158 Class Forum
- 7 LFS162 Class Forum
- 2 LFS166 Class Forum
- 4 LFS167 Class Forum
- 3 LFS170 Class Forum
- 2 LFS171 Class Forum
- 3 LFS178 Class Forum
- 3 LFS180 Class Forum
- 2 LFS182 Class Forum
- 5 LFS183 Class Forum
- 32 LFS200 Class Forum
- 737 LFS201 Class Forum - Discontinued
- 3 LFS201-JP クラス フォーラム
- 18 LFS203 Class Forum
- 134 LFS207 Class Forum
- 2 LFS207-DE-Klassenforum
- 1 LFS207-JP クラス フォーラム
- 302 LFS211 Class Forum
- 56 LFS216 Class Forum
- 52 LFS241 Class Forum
- 48 LFS242 Class Forum
- 38 LFS243 Class Forum
- 15 LFS244 Class Forum
- 2 LFS245 Class Forum
- LFS246 Class Forum
- 49 LFS250 Class Forum
- 2 LFS250-JP クラス フォーラム
- 1 LFS251 Class Forum
- 153 LFS253 Class Forum
- 1 LFS254 Class Forum
- 1 LFS255 Class Forum
- 9 LFS256 Class Forum
- 1 LFS257 Class Forum
- 1.3K LFS258 Class Forum
- 10 LFS258-JP クラス フォーラム
- 119 LFS260 Class Forum
- 159 LFS261 Class Forum
- 42 LFS262 Class Forum
- 82 LFS263 Class Forum - Discontinued
- 15 LFS264 Class Forum - Discontinued
- 11 LFS266 Class Forum - Discontinued
- 24 LFS267 Class Forum
- 23 LFS268 Class Forum
- 30 LFS269 Class Forum
- LFS270 Class Forum
- 202 LFS272 Class Forum
- 2 LFS272-JP クラス フォーラム
- 1 LFS274 Class Forum
- 4 LFS281 Class Forum
- 9 LFW111 Class Forum
- 259 LFW211 Class Forum
- 181 LFW212 Class Forum
- 13 SKF100 Class Forum
- 1 SKF200 Class Forum
- 1 SKF201 Class Forum
- 796 Hardware
- 199 Drivers
- 68 I/O Devices
- 37 Monitors
- 103 Multimedia
- 174 Networking
- 91 Printers & Scanners
- 85 Storage
- 758 Linux Distributions
- 82 Debian
- 67 Fedora
- 17 Linux Mint
- 13 Mageia
- 23 openSUSE
- 148 Red Hat Enterprise
- 31 Slackware
- 13 SUSE Enterprise
- 353 Ubuntu
- 468 Linux System Administration
- 39 Cloud Computing
- 71 Command Line/Scripting
- Github systems admin projects
- 93 Linux Security
- 78 Network Management
- 102 System Management
- 47 Web Management
- 63 Mobile Computing
- 18 Android
- 33 Development
- 1.2K New to Linux
- 1K Getting Started with Linux
- 371 Off Topic
- 114 Introductions
- 174 Small Talk
- 22 Study Material
- 805 Programming and Development
- 303 Kernel Development
- 484 Software Development
- 1.8K Software
- 263 Applications
- 183 Command Line
- 3 Compiling/Installing
- 987 Games
- 317 Installation
- 97 All In Program
- 97 All In Forum
Upcoming Training
-
August 20, 2018
Kubernetes Administration (LFS458)
-
August 20, 2018
Linux System Administration (LFS301)
-
August 27, 2018
Open Source Virtualization (LFS462)
-
August 27, 2018
Linux Kernel Debugging and Security (LFD440)