Atribua um endereço IP com base na porta do switch

9

Breve:
Quero que o servidor DHCP atribua um endereço IP pré-configurado com base em uma porta (em um switch, de preferência) à qual um dispositivo esteja conectado.

Longo:

Minha situação:
estou construindo uma fazenda interna automatizada (para o cultivo de tomates). A fazenda é composta por muitos (12 por enquanto, mas aumentará para centenas) salas idênticas de 7 "x7". Cada sala terá uma porta Ethernet e, nessa porta, um sistema de controle de ambiente será conectado. Observe que cada sala precisa ser controlada individualmente.

Os quartos são organizados em linhas de 12, então eu estava pensando em ter um switch por linha e conectá-los a um roteador.

Eu poderia programar cada controlador ambiental com um IP estático, para poder associar um controlador a uma sala específica no servidor, mas acho que seria mais fácil atribuir um endereço IP a cada sala, o que também tornaria os controladores intercambiáveis e hot swap, sem necessidade de configuração manual.

InB4: Também estou pensando em usar a rede ZigBee para este aplicativo, mas talvez seja necessário transmitir imagens de diagnóstico e, com centenas de unidades, o ZigBee pode ser inadequado.

Pergunta: é possível atribuir um endereço IP pré-configurado com base na porta à qual um dispositivo está conectado? De que dispositivos eu preciso para isso?

THX-1138
fonte
11
Você poderia fazer algo como uma VLAN por porta e atribuir um / 30 ou / 31 a cada VLAN, mas tem certeza de que precisa usar IPs para identificar dispositivos? O aplicativo que você usa para ler nomeia os dispositivos de alguma forma? Meu pressentimento é que deve haver uma maneira melhor de conseguir isso.
Ron Trunk
Eu apenas interessado na localização física da unidade, cada controlador individual não tem identidade significativa. Se o controlador, por exemplo, queimar - quero poder substituí-lo por um novo, sem ter que entrar nas configurações do dispositivo e configurar o IP ou o local estático.
THX-1138

Respostas:

12

é possível atribuir um endereço IP pré-configurado com base na porta à qual um dispositivo está conectado? De que dispositivos eu preciso para isso?

Você pode usar um switch Cisco e um IOS que suporte a alocação de endereços baseada em porta do servidor DHCP no seu switch; você também deve emitir o DHCP do seu switch. Suponha que você tenha Fa0/1e Fa0/2na 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 configuração reserva endereços para fa0 / 1 e fa0 / 2. O mesmo endereço sempre será atribuído a essas portas.

Mike Pennington
fonte
11
Também existe a opção 82 para um servidor DHCP externo, mas isso é muito mais trabalhoso e mais uma questão de "servidor".
Ricky feixe
2

Consegui fazer o que você queria usando o Cisco IOS DHCP e a opção 82 snooping. Talvez eu não esteja usando os termos certos. Mas, basicamente, eu precisava atribuir endereços IP a impressoras de cozinha com base na estação na cozinha em que estavam. Se uma dessas impressoras morresse durante o turno do jantar, o gerente da loja precisaria colocar uma nova impressora configurada com DHCP e configurá-la com o mesmo endereço da impressora removida. Eu também precisava que todas as 8 impressoras estivessem no mesmo domínio de broadcast e não podia usar o auxiliar para enviar para um servidor Windows 2012, pois a loja precisava continuar funcionando mesmo que minha wan diminuísse.

Fiz isso com o seguinte comando em cada porta do switch: ip dhcp snooping vlan 3 information option format-type circuit-id override string broil(ou o que for relevante para você)

Use um conversor ASCII para hex e converta sua string para hex

Em seguida, no servidor DHCP, seja um switch ou um roteador, configure uma classe DHCP. Para o meu churrasco acima é este

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

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

Aqui está como minha piscina está configurada.

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, finalmente, para disponibilizar esse endereço para outro dispositivo, caso o da porta do switch falhe, configurei um trabalho kron para emitir a clear ip dhcp bind *cada 5 minutos.

Acredito que tudo isso funcione, eu precisava dos seguintes comandos adicionais no meu switch ios que é o meu 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

e em qualquer porta que vincule seu comutador de servidor DHCP a outros comutadores que possam ser usados ​​para isso (junto com esses comutadores uplink ao comutador de servidor DHCP)

ip dhcp snooping trust

É basicamente isso. Funciona como um encanto e FINALMENTE nos permitiu sair do IP para a impressão em série, o que foi um acidente de trem.

mkitg
fonte
-1

Se você deseja "troca a quente", os nomes dos dispositivos deverão ser independentes de sua localização. Você precisará acompanhar os endereços MAC do dispositivo em um gráfico com um nome Minion correspondente fácil, como "Bob". Em seguida, configure o dispositivo com esse nome ou descrição "Bob". Dessa forma, quando o monitoramento de rede relata, apenas a descrição ou o nome são importantes para verificar o gráfico. Você só precisa acompanhar o gráfico onde coloca os dispositivos.

Os switches estão mais preocupados com endereços físicos do que com endereços IP. No entanto, cada andar poderia usar sua própria vlan com seu próprio servidor dhcp. Em seguida, você pode criar uma vlan nomeada para cada andar, como "grow_rooms_1-12" com a máscara de sub-rede / 28. Você também pode dar a cada porta uma descrição como "para aumentar a sala 1". Estes são ótimos recursos de gerenciamento se você estiver assistindo sua rede via linha de comando.

Você também pode alterar o tamanho das salas para melhorar a eficiência da iluminação, umidade e temperatura, o que também pode reduzir os dispositivos de monitoramento.

Jon Rob
fonte