Você gerencia interruptores? Eu suspeito que minha abordagem pode ser periodicamente puxar as tabelas mac (cam table) de todos os seus switches / dispositivos de rede e armazená-los em algum tipo de banco de dados ou algo onde você pode rastrear quais endereços mac estão sendo usados em quais switches / portas. Existem muitas ferramentas que podem ser usadas para conectar vários switches e extrair dados. De um sistema Linux, talvez você pudesse coletar dados usando snmp, netmiko ou talvez um playbook ansioso que coletasse e armazenasse os dados periodicamente.
Dependendo do hardware da rede, pode haver alguma maneira de registrar o endereço MAC aprendido em atribuições de porta a um servidor syslog, se você ativar as opções de registro corretas. Isso certamente seria uma boa opção, e permitir que um servidor syslog em uma caixa Linux receba os logs deve ser muito fácil.
Dependendo do seu hardware de switch + software, há funcionalidades nos switches de nível superior para segurança, a fim de evitar que endereços mac sejam falsificados ou se movam muito rapidamente entre as portas. Reserve um tempo para ver seus switches e veja o que seus switches podem fazer para resolver isso.
Se você quiser fazer tudo e tiver equipamentos de rede de ponta, existem maneiras de exigir que os sistemas façam a autenticação por meio de certificados ou outros meios. Os computadores podem ser configurados para não ingressar no trabalho ou ser desviados para uma vlan de área de segurança ou algo assim se falharem na autenticação.