Assegnare un indirizzo IP basato sulla porta dello switch


9

Breve:
voglio che il server DHCP assegni un indirizzo IP preconfigurato basato su una porta (su uno switch, idealmente) a cui è collegato un dispositivo.

Lungo:

La mia situazione:
sto costruendo una fattoria interna automatizzata (per la coltivazione di pomodori). La fattoria è composta da molte (12 per ora, ma crescerà a centinaia) identiche 7 camere "x7". Ogni stanza avrà una porta Ethernet e in questa porta verrà inserito un sistema di controllo ambientale. Si noti che ogni stanza deve essere controllata individualmente.

Le stanze sono disposte in file di 12, quindi stavo pensando che avrò un interruttore per fila e collegherò questi interruttori a un router.

Potrei programmare ogni controller ambientale con un IP statico, in modo da poter associare un controller a una stanza particolare sul server, ma penso che sarebbe più facile se potessi assegnare un indirizzo IP a ciascuna stanza, il che renderebbe anche i controller intercambiabili e hot-swap senza necessità di configurazione manuale.

InB4: sto anche considerando di utilizzare la rete ZigBee per questa applicazione, ma potrei aver bisogno di trasmettere immagini diagnostiche e con centinaia di unità ZigBee potrebbe essere inadeguato.

Domanda: è possibile assegnare un indirizzo IP preconfigurato in base a una porta a cui è collegato un dispositivo? Di quali dispositivi ho bisogno per questo?


1
Potresti fare qualcosa come una VLAN per porta e assegnare un / 30 o / 31 a ciascuna VLAN, ma sei sicuro di dover utilizzare gli IP per identificare i dispositivi? L'applicazione che usi per leggere assegna un nome ai dispositivi in ​​qualche modo? La mia sensazione è che ci debba essere un modo migliore per raggiungere questo obiettivo.
Ron Trunk,

Mi interessa solo la posizione fisica dell'unità, ogni singolo controller non ha un'identità significativa. Se il controller, ad esempio, si esaurisce, voglio essere in grado di sostituirlo con uno nuovo, senza dover accedere alle impostazioni dei dispositivi e configurare l'IP statico o la posizione.
THX-1138

Risposte:


12

è possibile assegnare un indirizzo IP preconfigurato in base a una porta a cui è collegato un dispositivo? Di quali dispositivi ho bisogno per questo?

È possibile utilizzare uno switch Cisco e un IOS che supporti l' allocazione dell'indirizzo basato su porta del server DHCP sullo switch; è inoltre necessario emettere DHCP dal proprio switch. Supponiamo di avere Fa0/1e Fa0/2in 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

Questa configurazione riserva gli indirizzi per fa0 / 1 e fa0 / 2. Lo stesso indirizzo sarà sempre assegnato a quelle porte.


1
C'è anche l'opzione 82 per un server DHCP esterno, ma è molto più lavoro e più una domanda "server".
Ricky Beam,

2

Sono stato in grado di fare quello che volevi usando Cisco IOS DHCP e l'opzione 82 snooping. Potrei non usare i termini giusti. Ma, fondamentalmente, dovevo assegnare gli indirizzi IP alle stampanti da cucina in base alla stazione della cucina in cui si trovavano. Se una di queste stampanti si spegnesse durante un turno di cena, il responsabile del negozio dovrebbe essere in grado di inserire una nuova stampante configurata con DHCP e averla configurata con lo stesso indirizzo della stampante rimossa. Avevo anche bisogno che tutte e 8 le stampanti fossero nello stesso dominio di trasmissione e non potevo usare l'helper per inviare a un server Windows 2012 poiché l'archivio doveva continuare a funzionare anche se il mio declino è diminuito.

L'ho fatto con il seguente comando su ciascuna porta dello switch: ip dhcp snooping vlan 3 information option format-type circuit-id override string broil(o qualunque cosa sia rilevante per te)

Usa un convertitore da ASCII a hex e converti la tua stringa in hex

Quindi sul server DHCP, che si tratti di uno switch o di un router, impostare una classe DHCP. Per la mia griglia sopra è questo

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>

Ecco come è impostato il mio pool.

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

E infine, al fine di rendere questo indirizzo disponibile su un altro dispositivo nel caso in cui quello nella porta dello switch fallisca, ho impostato un processo kron da inviare clear ip dhcp bind *ogni 5 minuti.

Credo che TUTTO funzioni per funzionare, avevo bisogno dei seguenti comandi aggiuntivi sul mio switch iOS che è il mio server 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

e su qualsiasi porta che collega lo switch del server DHCP a qualsiasi altro switch che può essere utilizzato per questo (insieme a quello switch uplink allo switch del server DHCP)

ip dhcp snooping trust

Questo è fondamentalmente. Funziona come un incantesimo e FINALMENTE ci ha permesso di abbandonare l'IP alla stampa seriale che era un disastro ferroviario.


-1

Se si desidera "hot swappable", i nomi dei dispositivi dovranno essere indipendenti dalla loro posizione. Dovrai tenere traccia degli indirizzi MAC del dispositivo su un grafico con un semplice nome Minion corrispondente come "Bob". Quindi configurare il dispositivo con quel nome o descrizione "Bob". In questo modo, quando il monitoraggio della rete segnala, solo la descrizione o il nome sono importanti per controllare il grafico. Devi solo tenere traccia del grafico in cui metti i dispositivi.

Gli switch sono più interessati agli indirizzi fisici che agli indirizzi IP. Tuttavia, ogni piano potrebbe usare il proprio vlan con il proprio server dhcp. Quindi puoi creare un nome vlan per ogni piano come "grow_rooms_1-12" con la maschera di sottorete / 28. Puoi anche dare ad ogni porta una descrizione come "per far crescere la stanza 1." Questi sono ottimi aiuti di gestione se stai guardando la tua rete dalla riga di comando.

È inoltre possibile modificare le dimensioni delle stanze per migliorare l'efficienza di illuminazione, umidità e temperatura, riducendo anche i dispositivi di monitoraggio.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.