在 VLAN 上下文中,“接口 xxx 匹配多个共享网络”是什么意思?

在 VLAN 上下文中,“接口 xxx 匹配多个共享网络”是什么意思?

我有一个 AP,它广播多个带有不同 VLAN 标记的 SSID。该 AP 连接到管理流量的服务器。

一些 不同的设置 DHCP 服务器来管理此类 VLAN 的方法已得到充分证实。为了进行测试,我在接口上定义了带标记和不带标记的网络lan0

root@srv ~# ip addr

3: lan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:1b:21:5c:29:64 brd ff:ff:ff:ff:ff:ff
    inet 10.100.10.254/24 brd 10.100.10.255 scope global lan0:10
       valid_lft forever preferred_lft forever
    inet 10.10.10.254/24 brd 10.10.10.255 scope global lan0
       valid_lft forever preferred_lft forever
(...)

35: lan0.10@lan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 00:1b:21:5c:29:64 brd ff:ff:ff:ff:ff:ff
    inet 10.100.10.254/24 brd 10.100.10.255 scope global lan0.10
       valid_lft forever preferred_lft forever

这对应于/etc/network/interfaces

auto lan0
iface lan0 inet static
        address 10.10.10.254
        netmask 255.255.255.0

auto lan0.10
iface lan0.10 inet static
        address 10.100.10.254
        netmask 255.255.255.0
        vlan-raw-device lan0

我想要在 DHCP 服务器上为这两个网络提供服务:

subnet 10.10.10.0 netmask 255.255.255.0 {
        range 10.10.10.100 10.10.10.200;
        option routers 10.10.10.254;
        option domain-name-servers 10.10.10.254;
}

subnet 10.100.10.0 netmask 255.255.255.0 {
    range 10.100.10.100 10.100.10.200;
    option routers 10.100.10.254;
    option domain-name-servers 10.100.10.254;
}

启动 DHCP 服务器时,我得到

root@srv ~# /usr/sbin/dhcpd -d -f
Internet Systems Consortium DHCP Server 4.3.3
Copyright 2004-2015 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/
Config file: /etc/dhcp/dhcpd.conf
Database file: /var/lib/dhcp/dhcpd.leases
PID file: /var/run/dhcpd.pid
Wrote 0 deleted host decls to leases file.
Wrote 0 new dynamic host decls to leases file.
Wrote 14 leases to leases file.
Interface lan0 matches multiple shared networks

在我的配置中,这个错误消息意味着什么?

答案1

10.100.10.254/24您在两个不同的接口上有相同的 IP 地址lan0,并且lan0.10lan0:10是同一个接口lan0。它用于在一个接口上分配多个 IP 地址。

你的/etc/network/interfaces配置是正确的。我认为重启后你不会再出现 dhcp 错误。

确保网络管理器不会在接口上添加第二个 IP 地址lan0

答案2

就我而言,我创建了两个网络,都连接到同一个接口。

现在这真的很容易做到,特别是使用 netplan 设置:

network:
    version: 2
    renderer: networkd
    ethernets:
        eno1:
            addresses:
                - 192.168.11.1/24
                - 10.11.23.1/24

而且我经常在任何地方使用它......

我当时还不知道的是,ISC DHCP 服务器对此并不满意。如果我想在多个网络上接受 DHCP,它就不能在同一个接口上。

通过这样的设置并尝试在 192.168.11.x. 和 10.11.23.x 上允许 DHCP,当前的实现给出了相同的错误(接口匹配多个共享网络)。

我花了一段时间才搞清楚这个问题。我不得不把所有东西都移到同一个网络上。我试图添加一个新网络,因为旧网络的 IP 已经用完了,但旧网络还是保持原样。没用……

如果网络足够相似,一个可能的答案就是扩大你的面具正如这里提到的

相关内容