![多网络 DHCP](https://linux22.com/image/1126594/%E5%A4%9A%E7%BD%91%E7%BB%9C%20DHCP.png)
我希望我能得到帮助,就像我在这个优秀的论坛上总是能得到帮助一样。
我们有超过 120 个网络(192、172 和 10 个范围),目前我们的 DHCP 服务器是 Windows Server 2008,我想将其更改为 Ubuntu。我该怎么做?我是否必须为每个网络创建子接口并在 DHCP、conf 中为其分配范围?
我知道如何配置 Ubuntu DHCP,因为我已经为我们的 Wi-Fi 系统配置了 2 / 故障转移模式(Ubuntu 14.04),但它仅适用于一个网络。
我想用 Ubuntu 替换现有的为 120 个网络服务的 Windows Server 2008。
非常感谢
麦当娜33
答案1
DHCP 服务器仅查看根 eth0 设备上的数据包,而忽略 vlan 设备上的所有数据包
对于多网络,我们必须创建vlan's
安装 VLAN 支持包。例如,输入:
sudo apt-get install vlan
编辑你的/etc/network/interfaces
文件,如下所示:
iface eth0 inet static
address xxx.xxx.x.x
netmask 255.255.255.0
broadcast xxx.xxx.x.xxx
network xxx.xxx.x.x
# VLAN 2
iface eth0.2 inet static
address yyy.yyy.y.y
netmask 255.255.255.0
broadcast yyy.yyy.y.yyy
network yyy.yyy.y.y
vlan_raw_device eth0
# VLAN 3
iface eth0.3 inet static
address zzz.zzz.z.
netmask 255.255.255.0
broadcast zzz.zzz.z.zzz
network zzz.zzz.z.z
vlan_raw_device eth0
我放置/etc/rc.local
在机器启动后运行它们:
vconfig set_flag eth0.2 1 1
vconfig set_flag eth0.3 1 1
vconfig 行告诉设备它们应该完全分离数据包,并将虚拟适配器更像真正的网卡。
为每个 VLAN 定义一个子网,并为根适配器定义一个占位子网以防万一:
# Placeholder for root nic (maybe not needed?)
subnet xxx.xxx.x.x netmask 255.255.255.0 {}
# VLAN 2
subnet yyy.yyy.y.y netmask 255.255.255.0 {
option routers yyy.yyy.y.y;
option broadcast-address yyy.yyy.y.yyy;
pool {
range yyy.yyy.y.yy yyy.yyy.y.yyy;
}
}
# VLAN 3
subnet zzz.zzz.z.z netmask 255.255.255.0 {
option routers zzz.zzz.z.;
option broadcast-address zzz.zzz.z.zzz;
pool {
range zzz.zzz.z.zzz zzz.zzz.z.zzz;
}
}
通过编辑文件来告诉DHCP
服务器要监听什么,/etc/default/isc-dhcp-server
如下所示:
INTERFACES="eth0.2 eth0.3"
重新启动isc-dhcp-server
就可以了。