Você pode usar as regras do iptables para limitar o acesso com base no endereço MAC. Aqui está um exemplo do meu próprio conjunto de regras para não permitir pacotes de um MAC específico:
# Drop packets from a certain MAC address
#
$IPTABLES -A INPUT -i $EXTIF -m mac --mac-source 00:14:BF:BC:25:EE -j LOG --log-prefix "BEFSR81:" --log-level info
$IPTABLES -A INPUT -i $EXTIF -m mac --mac-source 00:14:BF:BC:25:EE -j DROP
onde:
IPTABLES=/sbin/iptables
EXTIF="eth1"
UNIVERSE="0.0.0.0/0"
EXTIP="your static IP address"
No entanto, se o desejo fosse permitir com base no endereço MAC, as regras seriam algo como:
$IPTABLES -A INPUT -i $EXTIF -s $UNIVERSE -d $EXTIP -m state --state ESTABLISHED,RELATED -j ACCEPT
# Allow packets from a certain MAC address and no others
#
$IPTABLES -A INPUT -i $EXTIF -m mac --mac-source 00:14:BF:BC:25:EE -j LOG --log-prefix "BEFSR81:" --log-level info
$IPTABLES -A INPUT -i $EXTIF -m mac --mac-source 00:14:BF:BC:25:EE -j ACCEPT
$IPTABLES -A INPUT -i $EXTIF -j DROP
Nota: para a versão de permissão, alguns outros ACCEPTs específicos podem ser necessários.
Você pode ou não querer as linhas de registro. Se você mantê-los, verifique se eles não inundam seus arquivos de log.