Supondo que vc está no firewall...
sudo iptables -A FORWARD -s <ip> -j DROP
sudo iptables -A FORWARD -m mac --mac-source <xx:xx:xx:xx:xx:xx> -j DROP
Se quiser que a pessoa saiba que está sendo bloqueada, use "REJECT" em vez de "DROP". Na rede local, é preferível, pois vai gerar mensagens "ICMP Administratively Prohibited", que ao baterem de volta na estação bloqueada irão fazer com que as tentativas de conexão sejam abortadas imediatamente, ao invés de aguardar por timeouts (gerando possíveis retransmissões).
Essas regras têm que aparecer em seu script antes de qualquer regra que aceite o tráfego para a rede local. O local mais seguro pra colocá-las, aliás, é bem no início do script (ou seja, como as primeiras regras).
Considere também a possibilidade de ao invés de bloquear o sujeito, limitá-lo. Bloqueios podem ser vistos como desafios; a pessoa pode entrar numa "jihaad" com você, o que vai ser ruim para os dois.
Já uma limitação de tráfego vai fazer com que a pessoa possa usar, sem abusar. Pode ser usada com todos os IPs e MACs, quebrando a possibilidade da pessoa simplesmente usar outra máquina (que evitaria seu bloqueio).