DHCP:一个NIC和多个子网

我正在build立一个Debian来作为一个小型办公networking的网关。 我需要为公司内部的不同区域设置三个子网,我将定义哪些PC将根据其MAC地址获取IP。

我的问题是:是否有可能处理3个子网与单个NIC的DHCP 怎么样?

我尝试在每个networking的虚拟接口上设置,如下所示:

# ip addr show dev eth2 4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 6c:f0:49:a4:47:38 brd ff:ff:ff:ff:ff:ff inet 192.168.1.10/24 brd 192.168.1.255 scope global eth2 inet 10.1.2.1/24 brd 10.1.2.255 scope global eth2:1 inet 10.1.3.1/24 brd 10.1.3.255 scope global eth2:2 inet 10.1.1.1/24 brd 10.1.1.255 scope global eth2:0 inet6 fe80::6ef0:49ff:fea4:4738/64 scope link valid_lft forever preferred_lft forever 

注意: eth2正在使用192.168.1.10,因为该框目前不是网关。 这只是暂时的。

然后我设置我的dhcpd.conf像这样:

 ddns-update-style interim; option domain-name "mydomain.com"; option domain-name-servers ns1.mydomain.com; default-lease-time 86400; max-lease-time 86400; authoritative; log-facility local7; shared-network office-network { subnet 10.1.1.0 netmask 255.255.255.0 { range 10.1.1.100 10.1.1.254; default-lease-time 86400; max-lease-time 86400; option routers 10.1.1.1; option ip-forwarding off; option broadcast-address 10.1.1.255; option subnet-mask 255.255.255.0; option ntp-servers 10.1.1.1; option domain-name-servers 10.1.1.1; } subnet 10.1.2.0 netmask 255.255.255.0 { range 10.1.2.100 10.1.2.254; default-lease-time 86400; max-lease-time 86400; option routers 10.1.2.1; option ip-forwarding off; option broadcast-address 10.1.2.255; option subnet-mask 255.255.255.0; option ntp-servers 10.1.2.1; option domain-name-servers 10.1.2.1; } subnet 10.1.3.0 netmask 255.255.255.0 { range 10.1.3.100 10.1.3.254; default-lease-time 86400; max-lease-time 86400; option routers 10.1.3.1; option ip-forwarding off; option broadcast-address 10.1.3.255; option subnet-mask 255.255.255.0; option ntp-servers 10.1.3.1; option domain-name-servers 10.1.3.1; } } 

但是,当我尝试启动dhcpd我得到这个:

 # dhcpd -4 eth2:0 eth2:1 eth2:2 Internet Systems Consortium DHCP Server 4.1.1-P1 Copyright 2004-2010 Internet Systems Consortium. All rights reserved. For info, please visit https://www.isc.org/software/dhcp/ Wrote 0 leases to leases file. No subnet declaration for eth2:2 (no IPv4 addresses). ** Ignoring requests on eth2:2. If this is not what you want, please write a subnet declaration in your dhcpd.conf file for the network segment to which interface eth2:2 is attached. ** No subnet declaration for eth2:1 (no IPv4 addresses). ** Ignoring requests on eth2:1. If this is not what you want, please write a subnet declaration in your dhcpd.conf file for the network segment to which interface eth2:1 is attached. ** No subnet declaration for eth2:0 (no IPv4 addresses). ** Ignoring requests on eth2:0. If this is not what you want, please write a subnet declaration in your dhcpd.conf file for the network segment to which interface eth2:0 is attached. ** Not configured to listen on any interfaces! 

我真的是新的DHCP,所以我可能错过了一些明显的东西。 我一直在谷歌search了一段时间,但我找不到我需要的答案或我不正确的search。

由于三个子网共享相同的介质(eth2),所以应该在同一个shared-network

 shared-network my-net { subnet 10.1.1.0 netmask 255.255.255.0 { ... } subnet 10.1.2.0 netmask 255.255.255.0 { ... } subnet 10.1.3.0 netmask 255.255.255.0 { ... } }