Asigne una dirección IP basada en el puerto del conmutador

9

Corto:
Quiero que el servidor DHCP asigne una dirección IP preconfigurada basada en un puerto (en un conmutador, idealmente) al que esté conectado un dispositivo.

Largo:

Mi situación:
estoy construyendo una granja interior automatizada (para el cultivo de tomates). La granja está compuesta por muchas (12 por ahora, pero crecerá a cientos) habitaciones idénticas de 7 "x7". Cada habitación tendrá un puerto Ethernet, y en este puerto se conectará un sistema de control ambiental. Tenga en cuenta que cada habitación debe controlarse individualmente.

Las habitaciones están dispuestas en filas de 12, así que pensé que tendría un interruptor por fila y conectaría estos interruptores a un enrutador.

Podría programar cada controlador ambiental con una IP estática, para poder asociar un controlador a una habitación en particular en el servidor, pero creo que sería más fácil si pudiera asignar una dirección IP a cada habitación, lo que también haría que los controladores fueran intercambiables e intercambiable en caliente sin necesidad de configuración manual.

InB4: También estoy considerando usar la red ZigBee para esta aplicación, pero es posible que necesite transmitir imágenes de diagnóstico, y con cientos de unidades, ZigBee puede ser inadecuado.

Pregunta: ¿ es posible asignar una dirección IP preconfigurada basada en un puerto al que está conectado un dispositivo? ¿Qué dispositivos necesito para esto?

THX-1138
fuente
1
Podría hacer algo como una VLAN por puerto y asignar un / 30 o / 31 a cada VLAN, pero ¿está seguro de que necesita usar IP para identificar dispositivos? ¿La aplicación que usas para leer nombra los dispositivos de alguna manera? Mi intuición es que debe haber una mejor manera de lograr esto.
Ron Trunk
Solo me interesa la ubicación física de la unidad, cada controlador individual no tiene una identidad significativa. Si el controlador, por ejemplo, se quema, quiero poder reemplazarlo por uno nuevo, sin tener que entrar en la configuración de los dispositivos y configurar la ubicación o IP estática.
THX-1138

Respuestas:

12

¿Es posible asignar una dirección IP preconfigurada basada en un puerto al que está conectado un dispositivo? ¿Qué dispositivos necesito para esto?

Puede usar un conmutador Cisco y un IOS que admita la asignación de direcciones basadas en el puerto del servidor DHCP en su conmutador; También debe emitir DHCP desde su conmutador. Suponga que tiene Fa0/1y Fa0/2en Vlan120.

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

Esta configuración reserva direcciones para fa0 / 1 y fa0 / 2. Siempre se asignará la misma dirección a esos puertos.

Mike Pennington
fuente
1
También hay la opción 82 para un servidor DHCP externo, pero eso es mucho más trabajo y más una pregunta de "servidor".
Ricky Beam
2

Pude hacer lo que quisiste usando Cisco IOS DHCP y la opción 82 snooping. Puede que no esté usando los términos correctos. Pero, básicamente, necesitaba asignar direcciones IP a las impresoras de cocina en función de la estación en la cocina en la que se encontraban. Si una de estas impresoras falleciera durante un turno de cena, el gerente de la tienda necesitaría poder colocar una nueva impresora configurada con DHCP y tenerla configurada con la misma dirección que la impresora eliminada. También necesitaba que las 8 impresoras estuvieran en el mismo dominio de difusión y no podía usar el ayudante para enviar a un servidor de Windows 2012, ya que la tienda necesitaba continuar funcionando incluso si mi wan se caía.

Hice esto con el siguiente comando en cada puerto del conmutador: ip dhcp snooping vlan 3 information option format-type circuit-id override string broil(o lo que sea relevante para usted)

Use un convertidor ASCII a hexadecimal y convierta su cadena a hexadecimal

Luego, en el servidor DHCP, ya sea un conmutador o un enrutador, configure una clase DHCP. Para mi asar arriba es esto

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

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

Así es como se configura mi piscina.

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

Y, finalmente, para que esta dirección esté disponible para otro dispositivo en caso de que falle el puerto de ese conmutador, configuré un trabajo de kron para emitir clear ip dhcp bind *cada 5 minutos.

Creo que para que TODO esto funcione, necesitaba los siguientes comandos adicionales en mi conmutador ios que es mi servidor dhcp

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

y en cualquier puerto que vincule su conmutador de servidor DHCP con cualquier otro conmutador que pueda usarse para esto (junto con los conmutadores de enlace ascendente a su conmutador de servidor DHCP)

ip dhcp snooping trust

Eso es básicamente eso. Funciona de maravilla y FINALMENTE nos permitió salir de la impresión de IP a serie, que fue un accidente de tren.

mkitg
fuente
-1

Si desea "intercambiables en caliente", los nombres de los dispositivos deberán ser independientes de su ubicación. Deberá realizar un seguimiento de las direcciones MAC del dispositivo en un gráfico con un nombre de Minion correspondiente como "Bob". Luego configure el dispositivo con ese nombre o descripción "Bob". De esta forma, cuando los informes de monitoreo de red emiten solo la descripción o el nombre son importantes para verificar el gráfico. Solo tiene que hacer un seguimiento en el gráfico donde coloca los dispositivos.

Los switches están más preocupados por las direcciones físicas que por las direcciones ip. Sin embargo, cada piso podría usar su propio vlan con su propio servidor dhcp. Luego puede crear un vlan con nombre para cada piso como "grow_rooms_1-12" con la máscara de subred / 28. También puede dar a cada puerto una descripción como "para crecer habitación 1". Estas son excelentes ayudas de administración si está viendo su red a través de la línea de comandos.

También puede modificar el tamaño de las habitaciones para mejorar la eficiencia de la iluminación, la humedad y la temperatura, lo que también podría reducir los dispositivos de monitoreo.

Jon Rob
fuente