existe uma ferramenta / daemon que preenche automaticamente o / etc / ethers em segundo plano para ter uma ativação adequada no nome do host lan: banco de dados mac quando necessário?

2

existe uma ferramenta / daemon disponível que preenche automaticamente / etc / ethers em segundo plano com o nome de host apropriado: pares mac para ter um banco de dados atualizado quando necessário com, por exemplo, wake on lan (wol)? talvez algo que não "varre" a rede, mas que despeja casualmente o cache do arp ou algo do tipo?

obrigado

    
por Axel Werner 07.01.2016 / 22:59

1 resposta

0

Uma ferramenta que manipulará a maior parte disso é arpwatch . Por padrão (no Debian, pelo menos) é que ele grava em /var/lib/arpwatch/arp.dat . Este arquivo é liberado e atualizado sempre que arpwatch é interrompido.

O arquivo contém entradas deste formulário:

52:54:00:aa:bb:cc  192.168.1.2  1452252063  somehostname  eth0

O arquivo /etc/ethers requer apenas o endereço MAC e o endereço IP ou o nome de host resolvível:

52:54:00:aa:bb:cc  192.168.1.2

É bastante simples manter /etc/ethers atualizado e sincronizado com um script pequeno, executado diariamente em crontab :

#!/bin/bash

# Flush arp.dat
service arpwatch restart

# Save a copy
test -f /etc/ethers || touch /etc/ethers
cp -fp /etc/ethers /etc/ethers.old

# Check to see if anything new has arrived. If so rebuild the file
(
    echo '# This file is updated automatically from /var/lib/arpwatch/arp.dat'
    echo '# Take care when editing'
    echo '#'
    (
        awk '{print $1,$2}' /var/lib/arpwatch/arp.dat
        grep -v '^#' /etc/ethers.old
    ) |
        sort -u
) >/etc/ethers.tmp

# Update ethers with the new file
cmp -s /etc/ethers.tmp /etc/ethers || cat /etc/ethers.tmp >/etc/ethers
rm -f /etc/ethers.tmp

# All done
exit 0
    
por 08.01.2016 / 12:43