Adam Borowski <kilobyte@???> wrote:
> There was a lengthy thread on debian-devel recently. While it did include
> the usual shout-fest, there's also a good amount of actually relevant info,
> thus I'd recommend reading it.
>
> It starts at:
> https://lists.debian.org/debian-devel/2017/07/msg00126.html
It is indeed an interesting read, but the main thing I took away from, it was the systemd attitude that "there's a small problem in a small number of situations - therefore the majority must suffer".
I don't see, given the number of ways problems can crop up, any way in which the problem can be solved completely. BUt "the old way" worked for most people most of the time - or at least that's the way I view it, though I admit I only see my own small view of operations which is ...
I mostly manage headless servers with static configs. The FIRST networking thing I do to a new (or cloned) machine is to set the interface names using udev rules - and as one person pointed out, that's easy to do by changing only the ifname in the persistent rules file. Where it's (say) a Xen host, I'll typically name my interfaces pethxxx where xxx is a meaningful label such as "lan", "ext", "bak", etc - and then I'll name my bridges ethxxx in the same way. For devices that aren't virtual hosts (ie no bridges) then I'll just name the real nic as ethxxx. That way, my if names actually make sense later - especially where they are used many many times in firewall rules etc.
I've seen the problem where you clone a machine and the interfaces come up on new numbers - but that's easily fixed. If you know the MAC in advance (if not, why not ?) then you can edit the rules file in advance anyway. In any case, how many people actually clone machines without doing things like setting hostname, clearing/resetting host keys for SSH, etc ? So surely setting your interface(s) is "just one of those tasks" in a sometimes long list.
My vote is for the "old" udev way of doing it - at least on "servers".