Você pode descartar um IP no nível tcp criando uma ACL e, em seguida, usando rejeição de conexão se a ACL for correspondida:
acl bad_ip src 10.10.10.0
tcp-request connection reject if bad_ip
Você também pode configurar um backend 403 e enviá-los para isso se quiser fazê-lo no nível HTTP:
frontend foo
...
acl bad_ip src 10.10.10.0
use_backend bad_guy if bad_ip
...
backend bad_guy
mode http
errorfile 403 /etc/haproxy/errors/403.http
Essas ACLs podem ser bastante flexíveis e você pode torná-las múltiplas condições dentro de uma ACL, ou várias ACLs na ação precisam ser atendidas. Mais em link .