Con el fichero .htaccess lo puedes hacer perfectamente:
deny from all
allow from 127.0.0.1
allow from 1.2.3.4
allow from pepe.com
Si quieres bloquear/permitir por rangos de IP, mira los siguientes ejemplos:
Denegar acceso de rango de IP (CIDR):
Deny from 10.1.0.0/16
Deny from 80.0.0/8
Permitir acceso de rango de IP (CIDR):
Allow from 10.1.0.0/16
Allow from 80.0.0/8
Denegar rango de IP:
Recuerda que se lee de izquierda, "Cualquier IP que comience con":
Deny from 99.88.77.66
Deny from 99.88.77
Deny from 99.88
Deny from 99
Permitir rango de IP
Allow from 99.88.77.66
Allow from 99.88.77
Allow from 99.88
Allow from 99
Sólo tienes que adaptar los ejemplos a tu red.