我有一个 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.10
。lan0: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 已经用完了,但旧网络还是保持原样。没用……
如果网络足够相似,一个可能的答案就是扩大你的面具正如这里提到的。