Web lists-archives.com

Re: Worked example, was Re: Still unable to restart networking on Debian 9 text mode only




On 11/25/2018 3:05 AM, David Wright wrote:
> On Sat 24 Nov 2018 at 12:25:20 (-0500), Gary Dale wrote:
>> On 2018-11-23 8:25 a.m., Luciano Andress Martini wrote:
>>> Additional information - Again Debian 9.6 Fresh Install without
>>> graphical interface:
>>>
>>> cat /etc/network/interfaces:
>>>
>>> # 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/*
>>>
>>> # The loopback network interface
>>> auto lo
>>> iface lo inet loopback
>>>
>>> # The primary network interface
>>> allow-hotplug enp0s3
>>> iface enp0s3 inet static
>>>      address 10.5.0.2/24
>>>      gateway 10.5.0.1
>>>      # dns-* options are implemented by the resolvconf package, if installed
>>>      dns-nameservers 8.8.8.8
>>>      dns-search neoconsig.local
>>>
>>> Just changed 10.5.0.2 to 10.5.0.3
>>>
>>> #ifdown enp0s3
>>> #ifup enp0s3
>>
>> Reco has already explained why this approach is incorrect.
> 
> The OP seems to prefer imagining a bug rather than taking much notice
> of the replies.
> 
>> My own two cents on the problem is that Interfaces is meant to define
>> how the network is brought up, not to change a running network.
> 
> Yes, but it also appears that interfaces also defines how the network
> is brought down again, which is what the OP doesn't understand.
> 
>> If you
>> want to change a running network, use ifconfig or ip to change the
>> address. e.g. ifconfig enp-s3 10.5.0.3 should work since all you are
>> changing is the ip address.
> 
> I can't see any advantage in this as you have to do all the grunt work
> yourself instead of letting ifdown/ifup do it for you. For example:
> 
> Here's my normal /e/n/i:
> 
> $ cat /etc/network/interfaces
> # 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/*
> 
> # The loopback network interface
> auto lo
> iface lo inet loopback
> 
> # The primary network interface
> allow-hotplug enp0s14
> iface enp0s14 inet dhcp
> $ 
> 
> I set up two static alternatives, one using the same address (13) as I
> get from the router, and one wacky one (213) in the "intruder" range:
> 
> allow-hotplug enp0s14
> iface enp0s14 inet static
>  address 192.168.1.13
>  netmask 255.255.255.0
>  gateway 192.168.1.1
>  dns-nameservers 192.168.1.1
> 
> and
> 
> allow-hotplug enp0s14
> iface enp0s14 inet static
>  address 192.168.1.213
>  netmask 255.255.255.0
>  gateway 192.168.1.1
>  dns-nameservers 192.168.1.1
> 
> (the rest of each file is unchanged from the normal one).
> 
> Running a script like:
> 
> #!/bin/bash
> ifdown enp0s14
> cp /etc/network/interfaces-static-213 /etc/network/interfaces
> ifup enp0s14
> 
> releases the lease, downs the avahi-daemon, changes the network
> address, restarts the ssh server, reconfigures ntpd, and ups the
> avahi-daemon. My ssh session also goes dead (as I was logged in
> that way).
> 
> Logging in on 192.168.1.213 instead (and avoiding polluting my
> known_hosts file) I can now run a similar script to the above,
> that has the line
> cp /etc/network/interfaces-static-13 /etc/network/interfaces
> or
> cp /etc/network/interfaces-normal-dhcp /etc/network/interfaces
> in it, and my old ssh session comes alive again (the new session
> going dead of course). The logs show all the other changes being
> reversed back to normal, with a new lease etc.
> 

TL-DR.

Instead of using the cp command, one could use mapping stanza:

http://manpages.ubuntu.com/manpages/bionic/man5/interfaces.5.html#mappings

-- 
John Doe