You can use Voter to black list IP.
create your voter here : http://symfony.com/doc/current/cookbook/security/voters.html
In your controller something like this :
use Symfony\Component\Security\Acl\Domain\ObjectIdentity;
use Symfony\Component\Security\Core\Exception\AccessDeniedException;
...
public function indexAction() {
$securityContext = $this->get('security.context');
$objectIdentity = new ObjectIdentity('class', 'Vendor\Bundle\Class');
if (false === $securityContext->isGranted('VIEW', $objectIdentity)) {
return $this->redirect($this->generateUrl('_welcome'));
}
...
Your route will be accessible, but controller will kick out the request and redirect it to home page