There's a few ways to do it; but if they block based on username it can lockout legitimate users too.
This is what fail2ban is for. Too many failed auths from an IP and that whole IP is blacklisted for a day or two. This can still catchout vpn users, but it's still less disruptive.
I went a bit overboard I think with my fail2ban configuration.
If you fail 2 times to login in any admin interfaces (ssh, web, etc), you get banned for around 4880 days..
I have too many banned IPs already.. :/
yeah and im thinking from an early 2000 perspective to where not being able to login for an hour was not necessarily a big deal. Whereas now so much of our life is online its not really as laid back a proposition.