简短:
我希望DHCP服务器根据设备所连接的端口(理想情况下是在交换机上)分配一个预先配置的IP地址。

较长:

我的情况:
我正在建立一个自动化的室内农场(用于种植西红柿)。农场由许多相同的7“ x7”房间(目前为12个,但现在将增长为数百个)组成。每个房间都有一个以太网端口,并将环境控制系统插入该端口。请注意,每个房间都需要单独控制。

房间排成12行,所以我我想每行有一个交换机,然后将这些交换机连接到路由器。

我可以使用静态IP对每个环境控制器进行编程,以便可以将控制器与服务器上的特定房间关联,但我认为,如果可以为每个房间分配IP地址会更容易,这也将使控制器可互换且可热插拔,而无需手动配置。

InB4:我也是考虑将ZigBee网络用于此应用程序,但是我可能需要传输诊断图像,并且ZigBee可能有数百个单元。

问题:是否可以基于端口分配预配置的IP地址设备连接到?我需要什么设备?

评论

您可以对每个端口执行类似VLAN的操作,并为每个VLAN分配一个/ 30或/ 31,但是您确定需要使用IP来标识设备吗?您用来读取的应用程序是否以某种方式为设备命名?我的直觉是必须有更好的方法来实现这一目标。

我只对单元的物理位置感兴趣,每个单独的控制器都没有有意义的标识。例如,如果控制器烧坏了,我希望能够用全新的控制器替换它,而不必进入设备设置并配置静态IP或位置。

#1 楼


是否可以根据设备所连接的端口来分配预配置的IP地址?我需要什么设备?


您可以在交换机上使用支持DHCP服务器基于端口的地址分配的Cisco交换机和IOS。您还必须从交换机发出DHCP。假设您在Vlan120中有Fa0/1Fa0/2

ip dhcp use subscriber-id client-id
ip dhcp subscriber-id interface-name
ip dhcp excluded-address 192.0.2.1 192.0.2.10
!
ip dhcp pool VLAN120
   network 192.0.2.0 255.255.255.0
   default-router 192.0.2.1
   dns-server 192.0.2.5
   reserved-only
   address 192.0.2.101 client-id "Fa0/1" ascii
   address 192.0.2.102 client-id "Fa0/2" ascii


此配置保留fa0 / 1和fa0 / 2的地址。始终将相同的地址分配给这些端口。

评论


还有一个用于外部DHCP服务器的option-82,但这需要做更多的工作,并且还有一个“服务器”问题。

–瑞奇
2015年1月10日,0:09

#2 楼

使用Cisco IOS DHCP和选项82侦听,我能够执行您想要的操作。我可能没有使用正确的术语。但是,基本上,我需要根据厨房所在的工作站为厨房打印机分配IP地址。如果这些打印机中的一台在晚餐倒班期间死亡,那么商店经理将需要能够放入配置有DHCP的新打印机,并为其配置与删除打印机相同的地址。我还需要将所有8台打印机都放在同一广播域中,并且即使我的工作量下降,我也无法使用帮助程序将其发送到Windows 2012服务器,因为该商店需要继续工作。

我在每个交换机端口上使用以下命令执行此操作:
ip dhcp snooping vlan 3 information option format-type circuit-id override string broil(或与您相关的任何东西)

使用ASCII到十六进制转换器并将您的字符串转换为十六进制

然后在DHCP服务器上设置DHCP类的是交换机或路由器。对于上面的烤鸡来说,这是

ip dhcp class broil
   relay agent information
      relay-information hex 010562726f696c*


这是010 <number of characters in your string so 5 since broil is 5 characters><whatever your string converts to>

这是我的游泳池的设置方法。

/>
ip dhcp pool Kitchen
 network 10.102.1.0 255.255.255.0   
 default-router 10.102.1.1
 lease infinite
 class broil
 address range 10.102.1.160 10.102.1.160


最后,如果该交换机端口中的那个设备出现故障,为了使该地址可用于其他设备,我设置了一个kron作业,每5分钟发布一次clear ip dhcp bind *

我认为,要使所有这些正常工作,我需要在我的dhcp服务器的ios交换机上使用以下附加命令

ip dhcp relay information trust-all ip dhcp subscriber-id
interface-name

ip dhcp snooping vlan 3 (our vlan of course) ip dhcp snooping
information option allow-untrusted ip dhcp snooping


以及链接DHCP的任何端口服务器交换机到可能用于此目的的任何其他交换机(以及与该交换机上行链路到DHCP服务器交换机的交换机)

ip dhcp snooping trust


基本上就是这样。像魅力一样的作品最终使我们摆脱了IP到串行打印的麻烦,这真是火车残骸。

#3 楼

如果要“热插拔”,则设备名称必须独立于其位置。您需要使用简单的对应Minion名称(如“ Bob”)跟踪图表上的设备MAC地址。然后使用该名称或描述“ Bob”配置设备。这样,当网络监控报告仅发布描述或名称时,检查图表就很重要。您只需要在放置设备的图表上保持跟踪即可。

交换机比IP地址更关注物理地址。但是,每个楼层都可以将自己的VLAN与自己的dhcp服务器一起使用。然后,您可以为每个楼层创建一个带有/ 28子网掩码的命名VLAN,例如“ grow_rooms_1-12”。您还可以给每个端口一个描述,例如“增加房间1”。如果您通过命令行监视网络,这些是非常有用的管理帮助。

还可以更改房间的大小以提高照明,湿度和温度的效率,这也可以减少监视设备的数量。