无法让 NIC 绑定在 Debian 10 中工作

无法让 NIC 绑定在 Debian 10 中工作

我有一台 Dell PowerEdge T410 服务器,配有 Broadcom Limited NetExtreme II BCM5716 千兆位以太网 NIC 和 Debian 10,我希望在其上安装 Proxmox。我的家庭网络配置了各种支持 VLAN 和链路聚合的交换机,全部由 OpenWrt 管理。我想配置从 T410 服务器到我的主 24 端口交换机 (Netgear GS724T) 的 2Gbs LACP/802.3ad(接口绑定)连接。另外,我想将 VLAN 中继从我的 OpenWrt 路由器通过 24 端口交换机传递到 Proxmox 中的虚拟机,这样我就可以将虚拟机放置在特定的 VLAN 中,同时将 Debian 主机保留在其自己的 VLAN 上,通常由本地 VLAN 处理如果我没记错的话,开关?

新安装操作系统后我做的第一件事就是检查我有哪些接口。 Debian 默认情况下没有安装 net-tools,但是网络控制显示如下界面:

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

安装 net-tools 后,我得到以下信息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

接下来我安装了绑定包sudo apt-get install ifenslave。然后我有以下内容/etc/网络/接口文件:

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

这会产生以下输出

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.

但是,当我关闭界面并将其恢复时ifdown/ifup或者简单地重新启动网络服务systemctl 重新启动网络服务我收到以下错误消息:

bond0: invalid new link 3 on slave eno2

我做错了什么?我花了无数的时间试图让它发挥作用,但我遵循的指南都不起作用。抛开这些问题,如果链路聚合失败,我如何设置回退到 eno1 上的单个 1Gbps 连接?

最后,如何设置 VLAN,以便主机服务器位于一个 VLAN 上,并且 VLAN 中继传递到虚拟机所在的 Proxmox?我假设服务器将自动侦听所需的 VLAN,因为我在交换机上设置了 PVID(又名本机 VLAN)。这样做的正确方法是吗?我一直在读这个例子这里在 Debian 维基上。此设置是否用于在一个或多个端口上接收 VLAN 中继连接并取消标记到另一个端口?如果是这样,这不是我需要的。另一方面,该示例的乞求部分涵盖了我密切关注的 NIC 绑定,但我仍然无法让它工作。

答案1

您是否尝试过在 eno2 上禁用 dhcp ?

allow-hotplug eno2
iface eno2 inet manual

相关内容