Você pode fazer isso de forma confiável, mas a lista de endereços IP pode e vai mudar com o tempo, então você tem que fazer isso de vez em quando.
Para bloquear empresas com muitos endereços IP, você primeiro precisa encontrar o número do sistema autônomo. Isso é relativamente fácil; estará no registro whois de qualquer um dos seus endereços IP.
Estes exemplos usam o GNU jwhois, que normalmente aparece nos sistemas Linux. Você pode ter que massagear os comandos ligeiramente para outros clientes whois.
$ host www.facebook.com
www.facebook.com is an alias for star.c10r.facebook.com.
star.c10r.facebook.com has address 173.252.120.6
star.c10r.facebook.com has IPv6 address 2a03:2880:2130:cf05:face:b00c:0:1
star.c10r.facebook.com mail is handled by 10 msgin.t.facebook.com.
$ whois -h whois.radb.net 173.252.120.6 | grep origin
origin: AS32934
origin: AS38621
Certifique-se de que ele realmente pertence ao Facebook. Se você está bloqueando um site pequeno que não tem o seu próprio AS, você não quer fazer isso, pois você também bloqueia outras pessoas . Por exemplo, nem todos os ASNs retornados acima são realmente do Facebook.
$ whois -h whois.radb.net AS32934
$ whois -h whois.radb.net AS38621
Agora sabemos qual é o ASN do Facebook; vamos pegar seus intervalos de endereços IPv4.
$ whois -h whois.radb.net -- -i origin -T route AS32934 | grep route:
E, finalmente, seus intervalos de endereços IPv6.
$ whois -h whois.radb.net -- -i origin -T route6 AS32934 | grep route6:
Repita para todos os seus ASNs, se eles realmente tiverem mais de um.
Esta é apenas uma demonstração para mostrar com que facilidade as informações podem ser obtidas. Você pode usá-las em um roteiro conforme sua conveniência. Observe também que alguns dos intervalos retornados podem se sobrepor; como você lida com isso é entre você e seu firewall.