首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DHCP:一个网卡和多个子网

DHCP:一个网卡和多个子网
EN

Server Fault用户
提问于 2012-05-18 14:28:22
回答 2查看 23.4K关注 0票数 5

我正在建立一个Debian,作为一个小型办公网络的网关。我需要有三个子网络在公司内部的不同领域,我将定义哪些PC将得到什么IP基于他们的MAC地址。

我的问题是:是否可以用一个NIC来处理3个子网的DHCP?怎么做?

我尝试为每个网络设置虚拟接口,如下所示:

代码语言:javascript
复制
# 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设置成这样:

代码语言:javascript
复制
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;

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时,我得到了这样的信息:

代码语言:javascript
复制
# 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很陌生,所以我可能遗漏了一些显而易见的东西。我已经搜索了一段时间了,但我找不到我需要的答案,或者我没有找到正确的答案。

EN

回答 2

Server Fault用户

回答已采纳

发布于 2012-05-18 14:54:43

由于这三个子网共享相同的介质(eth2),它们应该在同一个shared-network中声明:

代码语言:javascript
复制
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 {
    ...
  }
}
票数 5
EN

Server Fault用户

发布于 2018-03-23 12:57:09

实际上只有两种方法可以做到这一点;

  1. 将DHCP服务器的IP设置为每个VLAN的L3交换机上的“DHCP地址”,然后为服务器上的服务器定义作用域。
  2. 将交换机上DHCP服务器的NIC端口设置为包含所有适当VLAN的.1q主干,然后在服务器上设置单独的vNIC,为每个VLAN设置相应的IP,然后从那里开始。

无论哪种方式,不要只使用单一的网卡,你应该有两个恢复力,然后只是联系他们。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/390410

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档