Listar “computadores como eu” na minha sub-rede?

2

Temos um produto de rede baseado em Linux (chamamos de "Z") e tendemos a vendê-los em lotes para que todos sejam executados na mesma sub-rede fazendo o mesmo tipo de coisa e reportando dados para um único servidor ( também na sub-rede) que coordena todos eles.

As unidades estão executando uma versão homebrew customizada do Linux baseada em um kernel 2.6.

Fui solicitado a analisar a possibilidade de adicionar o seguinte recurso:

"Any Z unit must be able to find other Z units on the local subnet and list their IPv4 addresses. The list must not include other unrelated computers present on the local subnet."

Um exemplo:

  • O usuário pode ssh em qualquer unidade Z arbitrária e emitir um comando (pode ser um novo script bash) chamado "listLocalSiblings".
  • A unidade Z investigará a vizinhança da rede local e gerará uma lista textual simples dos endereços IP de APENAS as outras unidades Z ...

192.168.1.10
192.168.1.11
192.168.1.12
192.168.1.30
192.168.1.37
192.168.1.71

Pode haver vários dispositivos não relacionados na sub-rede executando vários sistemas operacionais. Eu gostaria que isso fosse o mais passivo possível (por exemplo, evitar varredura de porta ou ter um ouvinte esperando e respondendo a "pings" especiais).

Existe uma maneira genérica no Linux para categorizar os dispositivos em rede?

Eu tenho o luxo de adicionar novos softwares ao produto, mas se houver uma maneira de fazer isso com base em algum tipo de assinatura intrínseca que cada máquina possa ter, isso seria preferível. Nós nunca tentamos fazer com que essas máquinas "vejam" uma a outra antes, sem realmente codificar os caminhos para que elas se encontrem.

Edit: por vários motivos, não podemos obter essa informação do servidor. Por enquanto, suponha que o servidor tenha travado ou que o cabo Ethernet tenha sido retirado da parte de trás dele.

A lista é mostrada ao usuário para que ela faça o que quiser.

Os dispositivos Z são praticamente todos do mesmo hardware, embora os mais antigos possuam versões mais antigas do sistema Linux e placas-mãe e NICs mais antigas, como seria de se esperar.

O ideal seria simplesmente soltar um script básico em cada unidade e executá-lo, mas não sei o suficiente sobre as ferramentas de rede para saber se essa é uma perspectiva realista.

    
por Wossname 26.05.2017 / 15:05

0 respostas