Networking

具有多個作用域的 DHCP 伺服器向 VLAN 發出錯誤的 IP

  • June 4, 2013

我們正在重組我們的網路,並按如下方式配置我們的路由器/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 上。

我在網際網路上找到的所有文件都表明這是正確配置的——但我認為我一定錯過了一些東西。

恐怕我的問題和 Stemen 上面的評論幾乎可以總結出來,但我想我還是把它拼出來:VLANs are not the same as subnets。在任何新設備獲得 IP 地址之前,無論是網路還是 DHCP 伺服器,都不知道您的計劃認為它應該在哪個子網結束,因此該設備只是進行通用 DHCP 廣播並滿足DHCP 伺服器的“預設”範圍,似乎是 10.253/16。

你有兩個選擇:

  1. 只要您有一個可管理的交換機基礎設施和 VLAN,您就可以在物理上和邏輯上重新配置您的網路。這在無線子網上的設備、VLAN 子網上的設備和桌面子網上的設備使用的網路埠之間引入了邏輯分離。需要告知 DHCP 伺服器有關 VLAN 的資訊,並且每個 VLAN 上都需要不同的邏輯網路設備;交換機必須允許來自 DHCP 伺服器的數據包根據它們所在的 VLAN 進行標記。如果您想這樣做,您需要深入了解您的交換機基礎架構,並閱讀有關 VLAN 和802.1q 標記的資訊。
  2. 您可以使用特定於每個子網的 MAC 地址列表來配置 DHCP 伺服器,然後當出現伺服器已被告知應位於特定子網上的設備時,會從適當的池中為其提供 DHCP 租約而不是預設池。

這些都不是免維護選項,但我發現 (1) 涉及大部分前期工作,而 (2) 涉及正在進行的大部分工作,因為新設備從您的網路進出。

編輯:HorusKol,我在下面的評論中理解你的觀點:但請注意,VPN 範圍現在是預設值,所以你仍然可以選擇選項 (2),只要你可以逐項列出桌面和無線子網上的所有主機. 預設情況下,所有其他設備都可以從 VPN 池中獲取其地址。

引用自:https://serverfault.com/questions/512453