我们正在重组我们的网络,并按如下方式配置我们的路由器/dhcp 服务器:
# public internet connection
auto eth0
iface eth0 inet static
address 192.168.10.10
netmask 255.255.0.0
gateway 192.168.0.1
# intranet
auto eth1
iface eth1 inet static
address 10.0.0.1
netmask 255.128.0.0
# DHCP relay for WLAN
auto eth2
iface eth2 inet static
address 10.254.0.1
netmask 255.255.0.0
# DHCP relay for VPN
auto eth3
iface eth3 inet static
address 10.253.0.1
netmask 255.255.0.0
DHCP 服务器设置为监听 eth1、eth2 和 eth3,并配置以下范围:
subnet 10.0.0.0 netmask 255.128.0.0 {
range 10.100.0.0 10.100.255.255;
option routers 10.0.0.1;
}
subnet 10.254.0.0 netmask 255.255.0.0 {
range 10.254.1.0 10.254.255.255;
option routers 10.254.0.1;
}
subnet 10.253.0.0 netmask 255.255.0.0 {
range 10.253.0.0 10.253.255.255;
option routers 10.253.0.1;
}
因此,无线设备连接到我们的 Wi-Fi 路由器。每个 Wi-Fi 路由器都是静态地址(例如,10.254.0.2,网关设置为 10.254.0.1)。但是,通过 Wi-Fi 连接的设备会获取 VPN 地址(10.253.0.0)。
另外 - 我希望处于 10.100.xx 范围内的台式计算机也能获取 VPN 地址。
这是在 Ubuntu 12.04 上。
我在互联网上找到的所有文档都表明这是正确配置的 - 但我想我一定是错过了什么。
答案1
恐怕我的问题和 Stemen 的上述评论已经概括了一切,但无论如何,我想我还是应该说清楚:VLAN 与子网不同。在任何新设备获得 IP 地址之前,无论是设备本身、网络还是 DHCP 服务器都不知道您的计划认为它应该最终位于哪个子网上,因此设备只会进行通用 DHCP 广播,并满足于 DHCP 服务器的“默认”范围,该范围似乎是 10.253/16。
您有两个选择:
- 只要您拥有一个可管理的交换机基础架构,您就可以使用 VLAN 在物理和逻辑上重新配置您的网络。这在无线子网上的设备、VLAN 子网上的设备以及桌面子网上的设备使用的网络端口之间引入了逻辑分离。DHCP 服务器需要被告知 VLAN,并且每个 VLAN 上都需要不同的逻辑网络设备;交换机必须允许根据数据包所在的 VLAN 对来自 DHCP 服务器的数据包进行标记。您需要非常了解您的交换机基础架构,并阅读有关 VLAN 和802.1q 标记,如果您想这样做。
- 您可以使用特定于每个子网的 MAC 地址列表来配置 DHCP 服务器,然后当出现服务器已告知应位于特定子网上的设备时,将从适当的池而不是默认池中为其提供 DHCP 租约。
这两种方式都不是免维护的,但我发现 (1) 需要大部分前期工作,而 (2) 则需要大量持续工作,因为新设备会不断从您的网络接入和退出。
编辑:HorusKol,我接受你在下面评论中的观点:但请注意,VPN 范围现在是默认的,因此只要你能列出桌面和无线子网上的所有主机,你仍然可以选择选项 (2)。所有其他设备都可以默认从 VPN 池中获取地址。