On Sat 19 Mar 2022 at 03:14:54 (+0100), Stella Ashburne wrote: > > There are instances in which my machine is connected to a mobile hotspot. And > in some situations, it's connected to a smartphone via USB tethering. And > when I'm in the office, I may connect it to a LAN cable. > > Below are the contents of my /etc/network/interfaces file: > > # This file describes the network interfaces available on your system > # and how to activate them. For more information, see interfaces(5). > > source /etc/network/interfaces.d/*
I would change this line to source-directory /etc/network/interfaces.d (which was the default on new buster installations). I would then hive off all your interface configurations into separate files in the directory /etc/network/interfaces.d using all-ASCII filenames constructed from upper/lower-case letters, digits, underscores, and minus-hyphens, as specified on the man page, but with the string ".hidden" added to the end, thus: myphone-tethered.hidden office-wired.hidden wifi.hidden hotspot.hidden and so on. Files with a dot are ignored when included by means of a source-directory directive. > 1. At the moment, if I wish to change to using a mobile hotspot from USB > tethering, I'll edit the /etc/network/interfaces file, uncomment the > applicable lines under #The primary network interface for wireless > connections and place a # in front of all the lines under #The primary > network interface for USB tethering > > Instead of carrying out the above steps, is there a neater and simpler way? Editing a file each time you make a change is error-prone. To use any one of the interfaces with this mechanism, all you have to do now is rename the file, removing the .hidden: # mv -i /etc/network/interfaces.d/wifi.hidden /etc/network/interfaces.d/wifi and that becomes the active one because there's no dot. (The word "hidden" is my semantic sugar.) Vice versa to deactivate. > 2. What is the command to type in a terminal after I have made changes to the > /etc/network/interfaces file without rebooting my machine? # ifdown en…… (ie down the old interface) # … (rename the files as explained above) # ifup wl…… (up the new interface) The thing to remember (and so many don't) is that the /e/n/i files are retaining the active network configuration, and need to be kept in place until you have downed the interface. Only /then/ should you make changes to the files. Don't do what works with many other daemons, which is to change the configuration files first, and then try to "restart" networking: ifdown followed by ifup. That confuses it. Cheers, David.