2

After upgrading to Bullseye from Buster, only one interface has a working IPv4 configuration.

I have a dual-nic Intel PCIx-card, and a onboard RealTec-nic (currently disabled in bios), and I'm unable to get nic #2 (and #3) working. System detects the card, and renames it accordingly, but will not detect link, nor use IP address after it has been assigned (static/dhcp)

From dmesg:

[    1.004895] igb 0000:01:00.0: added PHC on eth0
[    1.004900] igb 0000:01:00.0: Intel(R) Gigabit Ethernet Network Connection
[    1.004904] igb 0000:01:00.0: eth0: (PCIe:2.5Gb/s:Width x4) 1c:fd:08:73:60:e0
[    1.004986] igb 0000:01:00.0: eth0: PBA No: E43709-006
[    1.004989] igb 0000:01:00.0: Using MSI-X interrupts. 4 rx queue(s), 4 tx queue(s)
[    1.096063] usb 1-1: new high-speed USB device number 2 using xhci_hcd
[    1.180841] igb 0000:01:00.1: added PHC on eth1
[    1.180845] igb 0000:01:00.1: Intel(R) Gigabit Ethernet Network Connection
[    1.180849] igb 0000:01:00.1: eth1: (PCIe:2.5Gb/s:Width x4) 1c:fd:08:73:60:e1
[    1.180931] igb 0000:01:00.1: eth1: PBA No: E43709-006
[    1.180934] igb 0000:01:00.1: Using MSI-X interrupts. 4 rx queue(s), 4 tx queue(s)
[    1.183527] igb 0000:01:00.0 enp1s0f0: renamed from eth0
.
[    1.204343] igb 0000:01:00.1 enp1s0f1: renamed from eth1
.
[    5.596440] igb 0000:01:00.0 enp1s0f0: igb: enp1s0f0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX
[    5.596675] IPv6: ADDRCONF(NETDEV_CHANGE): enp1s0f0: link becomes ready

Both interfaces are configured in /etc/network/interfaces :

auto enp1s0f0
allow-hotplug enp1s0f0
iface enp1s0f0 inet static
address 192.168.22.1
netmask 255.255.255.0
broadcast 192.168.22.255

auto enp1s0f1
allow-hotplug enp1s0f1
iface enp1s0f1 inet dhcp

ifconfig / ip a only reports lo and enp1s0f0:

enp1s0f0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.22.1  netmask 255.255.255.0  broadcast 192.168.22.255
.
.

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
.
.

even though dhclient has started for enp1s0f1 :

Sep 18 11:54:17 vile dhclient[529]: Listening on LPF/enp1s0f1/1c:fd:08:73:60:e1
Sep 18 11:54:17 vile sh[529]: Listening on LPF/enp1s0f1/1c:fd:08:73:60:e1
Sep 18 11:54:17 vile sh[529]: Sending on   LPF/enp1s0f1/1c:fd:08:73:60:e1
Sep 18 11:54:17 vile sh[529]: Sending on   Socket/fallback
Sep 18 11:54:17 vile sh[529]: DHCPDISCOVER on enp1s0f1 to 255.255.255.255 port 67 interval 3
Sep 18 11:54:17 vile sh[529]: send_packet: Network is down
Sep 18 11:54:17 vile sh[529]: dhclient.c:2446: Failed to send 300 byte long packet over enp1s0f1 interface.

ifup says :

#> ifup enp1s0f1
ifup: interface enp1s0f1 already configured

Specifying the interface name shows information on the card:

#> ifconfig enp1s0f1 
enp1s0f1: flags=4098<BROADCAST,MULTICAST>  mtu 1500
        ether 1c:fd:08:73:60:e1  txqueuelen 1000  (Ethernet)
.
.

Manually raising the interface,

#> ifconfig enp1s0f1 up

gives the interface an dhcp-address :

Sep 18 12:45:35 vile kernel: [ 3080.994947] igb 0000:01:00.1 enp1s0f1: igb: enp1s0f1 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX/TX
Sep 18 12:45:35 vile kernel: [ 3080.995217] IPv6: ADDRCONF(NETDEV_CHANGE): enp1s0f1: link becomes ready
Sep 18 12:45:37 vile ntpd[801]: bind(28) AF_INET6 fe80::1efd:8ff:fe73:60e1%3#123 flags 0x11 failed: Cannot assign requested address
Sep 18 12:45:37 vile ntpd[801]: unable to create socket on enp1s0f1 (11) for fe80::1efd:8ff:fe73:60e1%3#123
Sep 18 12:45:37 vile ntpd[801]: failed to init interface for address fe80::1efd:8ff:fe73:60e1%3
Sep 18 12:45:37 vile dhclient[2556]: DHCPDISCOVER on enp1s0f1 to 255.255.255.255 port 67 interval 3
Sep 18 12:45:37 vile dhclient[2556]: DHCPOFFER of 10.0.1.2 from 10.0.1.1
Sep 18 12:45:37 vile dhclient[2556]: DHCPREQUEST for 10.0.1.2 on enp1s0f1 to 255.255.255.255 port 67
Sep 18 12:45:37 vile dhclient[2556]: DHCPACK of 10.0.1.2 from 10.0.1.1
Sep 18 12:45:37 vile dhclient[2556]: bound to 10.0.1.2 -- renewal in 33797 seconds.

However, ifconfig still does'n show any IPv4 address:

enp1s0f1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet6 fe80::1efd:8ff:fe73:60e1  prefixlen 64  scopeid 0x20<link>
        ether 1c:fd:08:73:60:e1  txqueuelen 1000  (Ethernet)

and no routing information is visible in/used by iproute2:

#> ip ro ls
0.0.0.0/1 via 10.251.4.1 dev tun9
default via 192.168.22.254 dev enp1s0f0
10.251.4.0/24 dev tun9 proto kernel scope link src 10.251.4.77
128.0.0.0/1 via 10.251.4.1 dev tun9
155.4.89.151 via 192.168.22.254 dev enp1s0f0
192.168.22.0/24 dev enp1s0f0 proto kernel scope link src 192.168.22.1

#> ip ro get 10.0.1.1
10.0.1.1 via 10.251.4.1 dev tun9 src 10.251.4.77 uid 0
    cache

tcpdump shows traffic on the interface

I've tried the same steps with the on-board RealTec-nic, with the same behaviour. I've also tried the old Buster-kernel ( Linux version 4.19.0-16-amd64 ([email protected]) (gcc version 8.3.0 (Debian 8.3.0-6)) #1 SMP Debian 4.19.181-1 (2021-03-19) )

TIA /Johan

6
  • Can you ping 10.0.1.2? If so, what MAC address for 10.0.1.2 shows up in your ARP table?
    – Jim L.
    Commented Dec 1, 2021 at 21:21
  • You use openvpn or similar. 0.0.0.0/1 via 10.251.4.1 dev tun9 and 10.0.1.1 via 10.251.4.1 dev tun9 src 10.251.4.77 uid 0 The problem is the netmask I'm afraid.
    – K-attila-
    Commented Dec 6, 2021 at 10:42
  • @JimL. - no, I can't ping 10.0.1.2, but I do see traffic on the NIC with tcpdump.
    – sjalilund
    Commented Dec 7, 2021 at 14:05
  • @K-att- - unfortunately not. The same situation is present without the openvpn running. Trying to up the NIC with ifconfig gives me the same result.
    – sjalilund
    Commented Dec 7, 2021 at 14:09
  • 2
    My fix on Buster was apt-get remove --purge connman. Apparently that's some new thingie which takes over your network config. Silently ignoring any /etc/network/interfaces file.
    – user313992
    Commented Dec 7, 2021 at 16:00

2 Answers 2

0

As a workaround, I managed to use NetworkManager (cli-version :) ) to manage the secondary network card.

Device enp1s0f0 is no longer configured in /etc/network/interfaces, and NetworkManager daemon automatically manages that interface

#> nmcli device 
DEVICE    TYPE      STATE                   CONNECTION
enp1s0f1  ethernet  connected               Wired connection 1
enp1s0f0  ethernet  unmanaged               --
lo        loopback  unmanaged               --

and now, ifconfig / ip a gives #> ifconfig enp1s0f0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.22.1 netmask 255.255.255.0 broadcast 192.168.22.255 . . .

enp1s0f1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
    inet xxx.xxx.xxx.xxx  netmask 255.255.255.192  broadcast xxx.xxx.xxx.255
.
.
.

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0

iproute2 is happy too:

#> ip ro ls
0.0.0.0/1 via 10.251.3.1 dev tun9
default via xxx.xxx.xxx.193 dev enp1s0f1 proto dhcp metric 100
10.251.3.0/24 dev tun9 proto kernel scope link src 10.251.3.50
xxx.xxx.xxx.192/26 dev enp1s0f1 proto kernel scope link src xxx.xxx.xxx.213 metric 100
128.0.0.0/1 via 10.251.3.1 dev tun9
192.168.22.0/24 dev enp1s0f0 proto kernel scope link src 192.168.22.1

and the interface is receiving DHCP-addresses through NetworkManager:

Dec  7 15:38:29 host NetworkManager[615]: <info>  [1638887909.8445] dhcp4 (enp1s0f1): state changed extended -> extended, address=xxx.xxx.xxx.213

So, in wait for a "proper" solution, I have this as a workaround.

//Johan

0

Edit your /etc/NetworkManager/NetworkManager.conf as follows:

[main]
plugins=ifupdown,keyfile

[ifupdown]
managed=true

[device]
wifi.scan-rand-mac-address=no

The managed=true allow NM to manage the configured interfaces in /etc/network/interfaces. See Enabling Interface Management then run:

sudo service NetworkManager restart

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .