0

I have a Dell PowerEdge T410 server with a Broadcom Limited NetExtreme II BCM5716 Gigabit Ethernet NIC and Debian 10 which I'm hoping to install Proxmox on top of. My home network is configured with various switches supporting VLANs and link aggregation all managed by OpenWrt. I want to configure a 2Gbs LACP/802.3ad (interface bonding) connection from the T410 server to my main 24-port switch (Netgear GS724T). Additionally I want to pass the VLAN trunk from my OpenWrt router through the 24-port switch to the virtual machines in Proxmox so I can place virtual machines in specific VLANs whilst keeping the Debian host on its own VLAN, usually handled by the native VLAN on the switch if I'm not mistaken?

The first thing I did after freshly installing the OS is check what interfaces I have. Debian didn't have net-tools installed by default but networkctl shows the following interfaces:

IDX     Link    Type        OPERATIONAL     SETUP
1       lo      loopback    n/a             unmanaged
2       eno1    ether       n/a             unmanaged
3       eno2    ether       n/a             unmanaged

After installing net-tools I have the following information from ifconfig -a:

eno1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.254.123  netmask 255.255.255.0  broadcast 192.168.254.15
        inet6 fe80::d6ae:52ff:fe98:d5a4  prefixlen 64  scopeid 0x20<link>
        ether d4:ae:52:98:d5:a4  txqueuelen 1000  (Ethernet)
        RX packets 650  bytes 469142 (458.1 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 499  bytes 54964 (53.6 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

eno2: flags=4098<BROADCAST,MULTICAST>  mtu 1500
        ether d4:ae:52:98:d5:a5  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Next I have installed the bonding package with sudo apt-get install ifenslave. I then have the following contents in the /etc/network/interfaces file:

allow-hotplug eno1
iface eno1 inet dhcp

allow-hotplug eno2
iface eno2 inet dhcp

# LAG
auto bond0
iface bond0 inet dhcp
    bond-mode 802.3ad
    bond-slaves eno1 eno2
    bond-miimon 100
    bond-downdelay 200
    bond-updelay 200
    bond-lacp-rate 1
    bond-xmit-hash-policy layer2+3

This results in the following output

root@T410-Server:/home/will# ifup bond0
Internet Systems Consortium DHCP Client 4.4.1
Copyright 2004-2018 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Listening on LPF/bond0/d4:ae:52:98:d5:a4
Sending on   LPF/bond0/d4:ae:52:98:d5:a4
Sending on   Socket/fallback
Created duid "\000\001\000\001'\373/w\324\256R\230\325\244".
DHCPDISCOVER on bond0 to 255.255.255.255 port 67 interval 6
DHCPDISCOVER on bond0 to 255.255.255.255 port 67 interval 12
DHCPOFFER of 192.168.254.123 from 192.168.254.1
DHCPREQUEST for 192.168.254.123 on bond0 to 255.255.255.255 port 67
DHCPACK of 192.168.254.123 from 192.168.254.1
Timeout too large reducing to: 2147483646 (TIME_MAX - 1)
bound to 192.168.254.123 -- renewal in 2147483648 seconds.

However, when I take the interface down and bring it back up with ifdown/ifup or simply restarting the networking service with systemctl restart networking.service I get the following error message:

bond0: invalid new link 3 on slave eno2

What am I do wrong? I've spent countless hours trying to get this to work, and non of the guides I've followed work. With the problems put aside, how do I setup a fallback that goes back to a single 1Gbps connection on eno1 if the link aggregation fails for example?

Lastly, how do I setup VLANs so that the host server is on one VLAN and the VLAN trunk is passed through to Proxmox where the virtual machines are? I would assume the server will automatically be listening on the desired VLAN because I have the PVID (AKA native VLAN) set on my switch. Is the correct way of doing this? I have been reading the example here on the Debian Wiki. Is this setup for receiving a VLAN trunk connection on one or more ports and untagging to another? If so this isn't what I need. On the other hand, the begging part of the example covers NIC bonding which I've closely followed but I'm still unable to get it to work.

1 Answer 1

1

Have you tried disabling dhcp on eno2?

allow-hotplug eno2
iface eno2 inet manual

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.