通过DHCP分配IP创建专用子网


10

如果有问题,我正在使用esp8266 wifi模块。我打算做的是将模块连接到我的家庭路由器,并让其他模块连接到该模块并形成第二层,而其他模块可以连接到该第二层形成第三层,并且网络扩展,基本上就是一棵树像网络拓扑。连接到家庭路由器的第一个模块将使其独立于家庭路由器ip范围而成为自己的私有IP范围,我们将对此进行进一步子网划分。所以我们从开始:

  • 第一个模块为10.0.0.0/8。它需要IP 10.1.0.0
  • 它通过DHCP提供10.2.1.0/16、10.3.1.0/16 ... 10.254.0.0/16
  • 10.2.1.0/16可以通过DHCP进一步提供10.2.2.1/24、10.2.3.0/24等,直到10.2.254.0/24
  • 10.2.2.1/24可以通过10.2.2.254/32 DHCP提供10.2.2.2/32

每个模块都运行自己的DHCP服务器。

现在的问题是,当一个模块收到另一个模块的分配IP地址的请求时,DHCP服务器应该做出响应。但是问题是DHCP无法以我所描述的方式分配IP地址,而且我似乎只能将其设置为连续的ip-blocks。

例如192.168.1.0到192.168.254.254可以,但是我需要192.168.1.0到192.168.254.0

有什么方法可以让DHCP服务器按照我想要的方式分配IP地址吗?


2
有传言说pfSense 2.4将具有此功能?论坛帖子/ pfSense
Jimmy Westberg

1
RFC 2131 ietf.org/rfc/rfc2131.txt包含DCHP规范
gavioto

Answers:


5

网络上的IP范围为某些地址保留了位置。让我们以将网络一分为二时的第一步为例:

network #      ip for devices   broadcast 
    0                  1-126          127
  128                 129-254         255

这是面具/ 25。

对于其他掩码,也有确切的边界,这会限制允许的地址以及子网中具有该地址的设备数量。

始终第一个地址用于寻址网络本身,最后一个地址是广播地址。

因此,您不能自己选择IP范围之间的100%。

更多信息:https : //kthx.at/subnetmask/,在RFC 2131中解释了DCHP的设计和工作。

如果您有兴趣,可以阅读此RFC,以提高您对地址管理的了解。IETF RFC 1466 IP地址空间管理准则


我没有为IP制定任意规则,实际上,这是标准的子网划分格式。在您的/ 25的示例中,我可以使用DHCP分配1-126或129-254范围,但是我担心上一步在/ 24阶段分配1或0(第8位)以将网络划分为两个/ 25,如何使DHCP首先将xxx0 / 25xxx128 / 25分配给连接到主路由器的两个子网路由器( xxx0 / 24)。如果我要分配的地址不是连续的(如此处的子网划分),DHCP是否没有能力。
solomon

对于DHCP来说,也许最后的第四步是唯一的选择,至少我没有找到其他方法。也许别人知道某事?
mico
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.