You might be surprised to see ifupdown creating a staging area for interfaces in /etc/network/interfaces.config.d
. The interface definitions there following the Debian interfaces file format are then carried into the sourced /etc/network/interfaces.d/
directory. It even creates a dpkg diversion on the /etc/network/interfaces
file to prevent changes on updates.
I venture to guess this approach is necessary to override existing configurations providing the connectivity. It's a delicate matter changing interfaces while connected to then reset networking without staging configurations.
Anyway this can get confusing for new users. Understanding how it works helps. Here's an issue post that explains the process a bit.