Na inicialização eu trabalho, estamos configurando um dispositivo para captura e análise de imagens. É uma caixa com uma câmera, com o Ubuntu Linux embutido, e, vamos supor, não queremos conectar um monitor a este dispositivo para configuração.
Alguns caras vieram com a solução de ter uma página web de configuração ao conectar o dispositivo a um notebook através de um cabo de rede diretamente, assim como você faz com um roteador ou modem, acessando um IP bem conhecido.
Soa como uma solução, mas o fato é que o dispositivo não é um roteador e, como eu vejo, é um contexto bem diferente, o dispositivo não estará delegando um endereço ao notebook (tornando-o parte de um rede do roteador, onde ele pode ter um endereço bem conhecido), já que não é um roteador.
Agora, estou procurando uma solução que se pareça com a experiência de configurar um roteador , mas não é um roteador, é para um dispositivo que eu conseguirei acessar a partir de um endereço bem conhecido . Para isso, eu cavei um pouco sobre o zeroconf / APIPA, mas do Zeroconf RFC 3927 o endereço IP deve ser um gerado "usando um gerador de números pseudo-aleatórios com uma distribuição uniforme na faixa de 169.254.1.0 a 169.254.254.255 inclusive" .
Acho que uma solução IP aleatória ainda pode funcionar, mesmo que não seja um endereço bem conhecido, caso haja algum meio de descobrir qual IP esse dispositivo possui.
Além disso, este dispositivo deve estar usando o NetworkManager para lidar com a conectividade através das muitas interfaces com as quais ele é configurado.
Então, para resumir a situação do problema:
- Um dispositivo deve ser configurado por meio de uma rede local.
- Este dispositivo está ligado e usando o Network Manager para gerenciar a conectividade por meio de várias interfaces, digamos que uma conectividade de interface fique inativa, seria escolher outra interface.
- Estávamos pensando em ter um alias eth0 para ter eth0 sendo manipulado
pelo Network Manager (no contexto de outras interfaces), além de ter acesso IP fixo por meio de um alias não gerenciado (pelo Network Manager). Não tenho certeza se isso é possível.
- É tudo sobre a descoberta de dispositivos, também propus o uso do nmap para acessar o dispositivo, mas tem duas desvantagens: a varredura é lenta em redes grandes e não é um acesso simples a páginas da Web, um cliente que usa o nmap deve ser criado e usado para fazer a descoberta.
- Se não há meios de ter acesso simples em um IP bem conhecido, ter um acesso aleatório também é uma solução, já que o dispositivo pode ser descoberto como uma impressora na rede ou algo assim.
- Pode-se supor que a solução pode ser configurar um dispositivo conectado diretamente a um notebook por meio de um cabo de rede e adquirir acesso a ele na página de configuração de um dispositivo, além de uma solução em que o notebook é conectado à rede local o dispositivo também está conectado e pode acessar o dispositivo descobrindo-o na rede ou acessando-o por meio de um endereço alternativo, exótico e fixo. Observe que acessar o roteador de rede local ou usar a varredura nmap / arp não é uma opção.
Qual assunto deve ser estudado para resolver esse problema? Existe uma abordagem comum que as pessoas usam para isso?
Na minha experiência, lembro-me de configurar meus dispositivos, mas nenhum deles se encaixava no problema:
- Roteador: Fornece uma página da Web de fácil acesso em um endereço bem conhecido, mas é o roteador, é o gateway e estará delegando meu próprio endereço.
- Cubox-i: Eu tenho um desses dispositivos, tive que descobri-lo usando o nmap na minha rede e acessar o ssh.
- Impressoras: nunca tive uma, por isso não sei como funciona o seu dispositivo de descoberta / configuração, mas já as utilizei em redes antes, elas eram geralmente listadas nas configurações do dispositivo em uma máquina Windows. Eu ainda tenho que dar uma olhada em "Avahi", "UPnP", "Zeroconf" e outros nomes no campo que eu nunca trabalhei. Talvez este seja o tipo de exemplo que pode se encaixar na situação.
Se houver uma ferramenta simples, posso executar no meu Arch Linux e ter seu IP descoberto por outros dispositivos como o meu Android ou meu bloco de notas do Windows, gostaria de saber.
Eu também pensei em transmitir, mas não tenho certeza de que isso seria OK em todas as LANs, onde a transmissão pode ser bloqueada ou não confiável (não tenho certeza sobre isso).