可能重复:
我可以在一个networking上有多个DHCP服务器吗?
这是一个非常古老的问题,我猜在这个论坛本身,它已经在多个VLAN,多个子网,单个DHCP服务器? 这是使用Cisco路由器的Helper选项完成的。 但在我的情况下,我们没有使用Cisco路由器。
在我的ubuntu机器上,我已经设置了3个ID为3,4,5的VLAN。我想通过dhcp服务器为它们提供IP地址。但是我对这个概念以及实现有个疑问。一个DHCP服务器通常会configuration一个接口(比如说eth0),其IP地址为192.168.0.100,如果客户端需要IP,则会向该服务器发送dhcp请求,服务器还会识别该请求来自该子网,并提供一个来自同一个子网的合适的IP(比如192.168.0.20)
但是如果有许多VLAN接口在那里请求IP地址,那么服务器将如何区分dhcp请求来自这个特定的VLAN,并从相应的子网范围提供IP。
我听说我们应该在dhcp-server上创buildVLAN。任何人都可以抛开一些方法,概念以及实现吗?
如果你的linux路由器有带标记vlan的交换机的中继接口,你可以做到这一点没有问题。
首先在/ etc / network / interfaces中定义每个vlan,例如:
auto eth0.200 iface eth0.200 inet static address 10.0.1.1 netmask 255.255.255.0 iface eth0.201 inet6 static address 10.0.2.1 netmask 255.255.255.0 iface eth0.202 inet6 static address 10.0.3.1 netmask 255.255.255.0
然后通过编辑/ etc / default / isc-dhcp-server [或dhcpd]并将variablesINTERFACES改为“eth0.200 eth0.201 eth0.202”来告诉dhcp守护进程监听某些/所有这些子网。
并将单独的子网添加到/etc/dhcp/dhcpd.conf
subnet 10.0.1.0 netmask 255.255.255.0 { range 10.0.1.10 10.0.1.20; # you might point some other address # within that subnet that should be advertised as router # it does not have to be your linux box option routers 10.0.1.1; option broadcast-address 10.0.1.255; authoritative; }
其余的子网等等。
要在您的服务器上创build多个VLAN,您将需要使用802.1q(Cisco标记中的VLAN标记或Trunk术语)启用的交换机或多个物理接口。 DHCP服务器将侦听每个接口上的请求。 您可以为每个接口定义分布式地址。
客户端连接在一个VLAN上,广播IP请求。 您的服务器收到请求,然后回答为此VLAN定义的范围。
你有802.1q支持交换机吗? 或者你的服务器上有多个接口?
如果你的路由器是一个Linux机器,那么你需要安装一个DHCP中继。 最常见的是ISC包isc-dhcp-relay 。
一旦你安装了它,你必须给它一个每个接口的列表,它将中继DHCP和你必须提供DHCP服务器的IP地址。 configuration文件是/etc/default/isc-dhcp-relay 。
在过去几年里,软件包的名称已经改变了一次,所以如果你运行的是Ubuntu的老版本,那么软件包的命名可能会有所不同。