Odd Behavior in Debian 13 VM: Cannot Reach Internet After Adding Second NIC to VM Set Up with Single NIC?

Sep 1, 2022
501
191
53
41
Hello,

I'm troubleshooting this now, but wanted to start a thread to document what happened. Hopefully, someone will find this in the future if they're troubleshooting something similar.

I've got a Debian 13 VM. I set it up with NIC 1, on VLAN 1. The internet worked perfectly.

After adding NIC 2 on VLAN 2, I still have DNS access, but I can't ping or otherwise reach anything on the LAN or WAN.
I suspect that I need to manually configure the second interface, since the Debian installer set up the first one for me.

Diagnostics

Bash:
johntdavis@flynn:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 13 (trixie)
Release:        13
Codename:       trixie
johntdavis@flynn:~$ uname -a
Linux flynn 6.12.63+deb13-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.63-1 (2025-12-30) x86_64 GNU/Linux

johntdavis@flynn:~$ batcat /etc/network/interfaces
───────┬───────────────────────────────────────────────────────────────────────────
       │ File: /etc/network/interfaces
───────┼───────────────────────────────────────────────────────────────────────────
   1   │ # This file describes the network interfaces available on your system
   2   │ # and how to activate them. For more information, see interfaces(5).
   3   │
   4   │ source /etc/network/interfaces.d/*
   5   │
   6   │ # The loopback network interface
   7   │ auto lo
   8   │ iface lo inet loopback
   9   │
  10   │ # The primary network interface
  11   │ allow-hotplug ens18
  12   │ iface ens18 inet dhcp
───────┴───────────────────────────────────────────────────────────────────────────

ohntdavis@flynn:~$ ip route show
default via 10.10.200.1 dev ens19 proto dhcp src 10.10.200.244 metric 100
default via 10.19.93.1 dev ens18 proto dhcp src 10.19.93.5 metric 1002
10.10.200.0/24 dev ens19 proto kernel scope link src 10.10.200.244 metric 100
10.19.93.0/24 dev ens18 proto dhcp scope link src 10.19.93.5 metric 1002

So, a couple things jump out at me.
  1. No interface for NIC 2. This is easy enough to fix by adding a new configuration file in /etc/network/interfaces./. However, it's unclear to me why I was getting a DHCP lease and access to the upstream DNS server with the interface not properly configured. Any explanation would be really appreciated. I'm still pretty new at Linux networking.
  2. Adding a configuration for NIC 2 restored internet connectivity. It looks like this has to do with NIC 2 being unconfigured really boffing the routing table. When unconfigured, NIC 2 has priority--which means no internet connectivity, since it's not set up to do anything.
Without the interface properly defined, the routing table looks like this (the undefined interface has priority, for some reason):
Bash:
johntdavis@flynn:~$ ip route show
default via 10.10.200.1 dev ens19 proto dhcp src 10.10.200.244 metric 100
default via 10.19.93.1 dev ens18 proto dhcp src 10.19.93.5 metric 1002
10.10.200.0/24 dev ens19 proto kernel scope link src 10.10.200.244 metric 100
10.19.93.0/24 dev ens18 proto dhcp scope link src 10.19.93.5 metric 1002

With the interface properly defined, the routing table looks like this:
Bash:
johntdavis@flynn:~$ ip route show
default via 10.19.93.1 dev ens18 proto dhcp src 10.19.93.5 metric 1002
default via 10.10.200.1 dev ens19 proto dhcp src 10.10.200.245 metric 1003
10.10.200.0/24 dev ens19 proto dhcp scope link src 10.10.200.245 metric 1003
10.19.93.0/24 dev ens18 proto dhcp scope link src 10.19.93.5 metric 1002

So, takeaway question: What is it about this setup that made Debian autoconfigure NIC 2 to have routing priority before the interface was actually set up, but not after?
 
Last edited:
Hi SinistersPisces,

can you elaborate a little bit, on how you setup the VM? And which services are used for network interface management?

When using the Debian cloudimages, they will ship with netplan and the according network management services.
I am not 100% sure from the back of my brain, if it is the Network Manager. The other Debian builds usually ship with ifupdown2 (which uses /etc/network/interfaces).
Anyways NetworkManager will/should not manage interfaces listed in /etc/network/interfaces to avoid conflicts, because both services can be used at the same time.

Maybe this piece of information helps to look into the issue.

BR, Lucas